我刚刚将web.xml切换到servlet 3.0(来自之前运行2.4的应用程序),现在我看到以下错误(打开了org.apache.tomcat.util的精细日志记录):
mtyson FINE: Scanning JAR [file:/usr/java/jdk1.6.0_22/jre/lib/ext/jcharset.jar] from classpath
mtyson Jul 19, 2011 10:04:40 AM org.apache.catalina.startup.HostConfig deployDirectory
mtyson SEVERE: Error deploying web application directory ROOT
mtyson org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 60
Run Code Online (Sandbox Code Playgroud)
更新:刚试过tomcat 7.0.19 - 结果相同
我正在使用最新的Eclipse Luna,它应该为Java 8做好准备.但是当我选择使用Tomcat 7创建一个新服务器并单击Next时,在Add and Remove屏幕中我无法移动我的项目,因为"Project" facet Java版本1.8不受支持." 有什么问题,如何解决这个问题?
前段时间我读了一篇文章,预计将在Servlet API 3.0中出现.我记得我读过你可以在/WEB-INF/lib/somelib.jar/META-INF/web/ .jsp中保存一些.jsp文件,这些资源将暴露给Web应用程序的上下文根.
我刚刚安装了Tomcat7试一试,但我发现没有文档可以将一些web资源放在jar文件中.
自从升级到Tomcat 7 null后,我的webapp出现问题.我的会话将在我登录后尝试做任何事情(提交请求).我已经读过以下设置可能会有所帮助:
org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false
Run Code Online (Sandbox Code Playgroud)
有谁知道在哪里设置这个?如果有这样的设置web.xml,context.xml或别的地方?
我要检查的另一件事是:
org.apache.catalina.STRICT_SERVLET_COMPLIANCE
Run Code Online (Sandbox Code Playgroud) 我刚刚得到了tomcat 7.0.27.我有时间开始tomcat 45秒.此外,它在tomcat上的旧版本运行正常.但运行它我得到以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VotingApp]]
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VotingApp]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.NoClassDefFoundError: HttpServletRequest
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
at org.apache.catalina.startup.WebAnnotationSet.getDeclaredMethods(WebAnnotationSet.java:470)
at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:275)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:381)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:858)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
at …Run Code Online (Sandbox Code Playgroud) 我只想仔细检查,是否有人发现或正在使用Tomcat 7插件?如果没有,是否有人有兴趣帮我启动并运行?
我想要另一种快速替代Glassfish,JBoss AS 6.0对于快速模型仍然有点沉重.
沃尔特
我有现有的web-app,我想将其转换为web.xml-less servlet 3.0.我已经设法使它工作,但是web.xml中有2个标签,我仍然不知道web.xml-less环境中的等效代码.
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/pageNotFound</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏
我有一个方法:
@POST
@Consumes("multipart/form-data")
@Produces( {"text/xml"})
public Response processForm(
@FormDataParam("myparam") InputStream is,
@FormDataParam("myparam") FormDataContentDisposition detail)
Run Code Online (Sandbox Code Playgroud)
这与Jersey 1.x一起运作良好.
我升级到2.0 m11.
现在我收到以下错误:
12/01/2013 11:15:04 AM org.glassfish.jersey.server.ApplicationHandler initialize
INFO: Initiating Jersey application, version Jersey: 2.0-m11 2012-12-21 12:34:15...
12/01/2013 11:15:04 AM org.glassfish.jersey.internal.Errors processErrors
SEVERE: The following errors and warnings have been detected:
WARNING: No injection source found for a parameter of type public javax.ws.rs.core.Response com.plutext.FileUpload.processForm(java.io.InputStream,org.glassfish
.jersey.media.multipart.FormDataContentDisposition) at index 0.
Run Code Online (Sandbox Code Playgroud)
我找到了 http://java.net/jira/browse/JERSEY-1413并提交了http://java.net/projects/jersey/lists/commits/archive/2012-09/message/126这似乎相关,但它的对我来说不明白如何解决这个问题.
更新
我创建了一个servlet,它在org.glassfish.jersey.server.ApplicationHandler初始化之前在Tomcat中运行:
public class Jersey2Init extends HttpServlet {
private static final …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Ubuntu 12.X下的Tomcat 7中设置JDBC DataSource,因此我将以下内容添加到context.xml文件中:
<Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource"
maxActive="5" maxIdle="2" maxWait="5000"
driverClassName="org.postgresql.Driver" username="usr" password="***" url="jdbc:postgresql://localhost:5432/db" />
Run Code Online (Sandbox Code Playgroud)
显然,使用正确且经过测试的数据库用户ID和密码.当我重新启动Tomcat时,我收到此错误:
Feb 05, 2013 1:10:01 PM org.apache.catalina.core.NamingContextListener addResource
WARNING: Failed to register in JMX: javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
Run Code Online (Sandbox Code Playgroud)
我用google搜索,发现JDBC驱动程序必须复制到$ CATALINA_HOME/lib文件夹,所以我将postgresql-9.2-1000.jdbc4.jar复制到/ usr/share/tomcat7/lib,但它没有帮助.我尝试将文件复制到其他位置,结果相同.
另一种尝试是将/ usr/share/tomcat7/lib中的tomcat-dbcp.jar符号链接从../../java/tomcat-dbcp-7.0.30.jar更改为../../java/tomcat- dbcp.jar.唯一的变化是我只得到一个警告而不是四个,但数据源也不起作用.
Java版本:
jdoe@sever:~$ java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.4) (7u9-2.3.4-0ubuntu1.12.10.1)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)
任何提示,都非常欢迎.
干杯.
我只是想理解,因为我从另一个问题得到了代码,并且它工作正常,但我不明白这个操作的流程.
这是我对Tomcat 7的Apache Maven Tomcat插件的理解,当使用mvn tomcat7时:使用以下配置运行:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
它创建了一个具有默认配置的新Tomcat 7实例,然后在这个实例中使用项目war文件作为已部署的项目,我是对的,请纠正我,如果我错了,或者有人请向我描述这个过程是如何工作的,谢谢预先.
tomcat7 ×10
tomcat ×4
java ×3
servlet-3.0 ×2
servlets ×2
apache ×1
datasource ×1
eclipse ×1
eclipse-luna ×1
facet ×1
java-8 ×1
java-ee-6 ×1
jax-rs ×1
jdbc ×1
jersey ×1
maven ×1
maven-2 ×1
maven-plugin ×1
session ×1
ubuntu ×1