我在Tomcat 7中有一个作为WAR文件部署的Web应用程序。该应用程序构build为一个多模块项目: 核心 – 打包成JAR,包含大部分的后端代码 core-api – 打包成JAR,包含面向核心的接口 webapp – 打包成WAR,包含前端代码并依赖于核心 客户扩展 – 可选模块,打包成JAR 通常,我们可以将我们的JSP文件放在webapp项目中,并相对于上下文来引用它们: /WEB-INF/jsp/someMagicalPage.jsp 问题在于我们如何处理特定于客户扩展项目的JSP文件,这些文件不应总是包含在WAR中。 不幸的是,我看不出JAR文件里面的JSP, 尝试classpath:jsp/customerMagicalPage.jsp由于使用了ServletContext.getResource() ,因此classpath:jsp/customerMagicalPage.jsp导致在JspServlet中找不到文件。 传统上,我们通过maven解开客户扩展JAR,findJSP,并在构build它时将它们放入WAR。 但是理想的情况是,你只需要在Tomcat的WAR文件中放入一个JAR文件,就可以发现这个扩展文件 – 除了JSP之外,其他的文件都可以使用。 有没有解决这个问题? 一个标准的方式,一个Tomcat特定的方式,一个黑客,或解决方法? 例如,我一直在考虑在应用程序启动时解压缩JSP …
我在哪里可以查看Eclipse中的Tomcat日志文件? 出于某种原因,我的Tomcat的安装/日志文件夹总是空的。 顺便说一下,Tomcat转储到日志文件一段时间或立即?
我们使用Tomcat托pipe基于WAR的应用程序。 除了org.apache.catalina.authenticator.SingleSignOn,我们是符合servlet容器的J2EE应用程序。 我们被要求转向商业Java EE应用服务器。 改变的第一个缺点是我看到的是成本。 不pipe应用程序服务器的收费如何,Tomcat都是免费的。 其次是复杂性。 我们不使用EJB和EAR特性(当然不是,我们不能),也没有使用它们。 那么我没有看到什么好处呢? 有什么缺点,我没有提到? 提到的是… JTA – Java事务API – 我们通过数据库存储过程来控制事务。 JPA – Java持久性API – 我们使用JDBC和再次存储的过程来坚持。 JMS – Java消息服务 – 我们使用XML over HTTP进行消息传递。 这很好,请多多关照!
我是Tomcat新手。 我们有一个开发机器,运行大约5个应用程序。 即使它是开发,在testing过程中,我们的客户也会使用它。 所以说我们需要在一个类文件上做一个小小的改动。 现在,我们必须closuresTomcat(影响其他四个应用程序),删除WAR文件(和Web应用程序目录),重新部署新的WAR文件并重新启动Tomcat 。 当然,这会让一些人感到不安,因为它会破坏所有应用程序的所有login会话。 有没有更好的方法来做到这一点? 我的意思是,有没有办法只重新加载CLASS ,而不是开发机器上的所有内容? 谢谢。
我有一个运行自签名SSL证书的Apache Tomcat 6.x服务器。 我希望客户端将自己的证书提交给服务器,以便我可以基于用户数据库对其进行身份validation。 我有一个基于我在网上find的例子,但是这个例子带有jar头证书和一个预先构build的JKS数据存储。 我想用我自己的证书创build自己的数据存储,但没有运气。 如何为Tomcat创build数据存储? 如何为Tomcat创build自签名证书? 如何为客户创build自签名证书? 我如何强制Tomcat信任客户端的签名? 我一直在玩java keytool好几个小时了。
我使用Tomcat运行Intellij Ultimate并部署了一场战争。 一切正常部署tomcat的webapp目录。 当我像xhtml文件一样更改文件时,有没有办法让tomcat自动获取更改? 截至目前,我需要从intellij复制文件,并将其复制到它所在的目录下的tomcat webapp目录中。 我知道有些文件需要重新编译,但是xhtml不是其中之一。
在尝试在WebLogic 12.1.3上运行我的应用程序时出现以下错误。 Struts调度程序找不到。 这通常是由于使用没有关联filter的Struts标签造成的。 Struts标签只有在请求通过它的servletfilter时才可用,它初始化这个标签所需的Struts调度器。 这是我的web.xml文件: <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>SybUI</display-name> <!– location of log4j config file –> <!– <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j2.xml</param-value> </context-param> –> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener </listener-class> </listener> <!– <filter> <filter-name>SessionFilter</filter-name> <filter-class>com.syb.core.filter.SessionFilter</filter-class> […]
我正在开发一个servlet接收多个请求的多个文件的内容,我使用Apache公共的file upload库。 当我调用parseRequest(request); 方法servlet抛出以下exception: GRAVE: Servlet.service() for servlet DiffOntology threw exception java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest at org.apache.commons.fileupload.servlet.ServletRequestContext.getContentType(ServletRequestContext.java:73) at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:882) at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331) at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) at DiffOntology.doPost(DiffOntology.java:38) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) […]
我试图运行一个简单的Struts2应用程序,但它总是抛出以下exception: java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 我已经按照http://struts.apache.org/development/2.x/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to中的一步一步的教程-build-the-application.html,但我不能使它工作。 我也设法find其他使用maven的Struts2教程,但都失败了。 它会引发同样的exception,当我尝试运行应用程序。 我使用了以下内容: 蚀 Maven的 Tomcat的 Struts2的 根据其他讨论,依赖关系的jar文件(例如struts2-core)必须放在lib文件夹中,但是对于我来说,我使用的是Maven,所以所有的依赖关系已经包含在Maven Dependencies下的构buildpath中。 我什至尝试运行在Struts2网站( Basic_Struts_2_Maven_2_3_1_2.zip )给出的示例项目,但我仍然没有运气。 构build它是成功的,但在服务器上运行它总是失败。 我错过了什么? 这是web.xml : <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Basic_Struts2_Maven</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> pom.xml : <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>manning</groupId> <artifactId>Basic_Struts2_Mvn</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> […]
我尝试升级到Java 8.当启动我们的tomcat7服务器,与Java 7编译的.war文件,我得到下面的神秘错误。 我应该期望这个工作吗? 这个职位说,tomcat 7应该与1.6和以上。 我不知道Tomcat是否应该归咎于.war。 切换出不同的Java版本: 安装了JDK 7.45 – works(用于编译.war的相同版本) JDK 7.55安装 – 失败如下 JDK 8.05安装 – 失败如下 是指责tomcat,还是.war? Caused by: org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131) at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60) at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2032) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1923) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1891) at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1877) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) […]