Tag: tomcat

如何在Java中选择saxon TransformerFactory

在我的Web应用程序中,我需要使用Saxon TransformerFactory才能使用XSLT 2.0,但我无法使用setProperty方法,因为我在Web服务器上没有这个权限并且有一个安全管理器。 所以我读过应该可以这样做: 如果可用,请使用Services API(如JAR规范中所述)来确定类名。 Services API将在运行时可用的jar文件中的META-INF / services / javax.xml.transform.TransformerFactory文件中查找类名。 我在WEB-INF / lib / saxon9.jar中找到了这个文件但是当我实现TransformerFactory时,总是选择默认工厂而不是Saxon工厂。 我如何选择Saxon Transformer Factory? 谢谢

在生产服务器上启用jmx(lambda探针)是个好主意吗?

我们在Sun VM 1.5.0_06-b05上运行的Tomcat 5.5.17上部署的Web应用程序出现了一些减速,我们的托管公司没有提供足够的数据来查找问题。 我们正在考虑在生产服务器上安装lambda探针 ,但它需要启用JMX(com.sun.management.jmxremote)才能获取内存和CPU统计信息。 启用JMX会导致严重的性能损失吗? 如果我们启用JMX,我们是否会打开任何安全漏洞? 如果我们只启用对JMX的本地访问,是否需要设置安全身份validation? 是否有人使用相同的(tomcat + lambda探针)在生产中没有问题? UPDATE 看看答案似乎单独启用JMX不会给VM带来很大的开销。 如果附加到VM的监视应用程序(无论是JConsole , lambda探测器还是其他任何程序)正在以过度的奉献精神进行轮询,则可能会产生额外的工作。

如何通过Java管理Tomcat

我正在寻找一种通过java以编程方式管理tomcat(在localhost上)的方法。 我想启动/停止tomcat并部署WAR。 任何帮助表示赞赏。

ClassNotFoundException:javax.validation.ValidatorFactory

我试图通过Tomcat在我的本地机器上运行Spring MVC应用程序,但我看到: NoClassDefFoundError: javax/validation/ValidatorFactory 我在webapp的lib文件夹中有validation-api-1.0.0.GA.jar 。 我正在使用Tomcat 7.任何指导将不胜感激。 org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381) […]

java.lang.NoClassDefFoundError:设置了org / hibernate / Session hibernate jars

我在新工作中inheritance了Javas的几个项目,但是我在设置方面遇到了一些问题。 我正面临一个研究如此普遍的问题。 “java.lang.NoClassDefFoundError:org / hibernate / Session”,把所有的jar甚至不必要的hibernate映射到classpath中。 我使用tomcat 7,hirbernat 4,jre7。 每个项目都扩展了包含lib文件夹中所有必需jar的compnet。 我是否需要将已经映射过的jar放在这个项目中? 这里的错误是: @Override public void init(ServletConfig config) throws ServletException { super.init(config); HibernateUtil.currentSession(); } 类路径: stacktrance: java.lang.NoClassDefFoundError:org / hibernate / session at br.com.flex4j.servlet.genericActionServlet.init(genericActionServlet.java:29)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)at at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:175)位于org.apache.catalina的org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) .core.StandardEngineValve.invoke(StandardEngineValve.java:109)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) )org.apache.coytt.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:584)at org.apache.tomcat.util java.lang.Thread.run中的.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447)(未知来源)由org.apache.catalina.loader中的java.lang.ClassNotFoundException:org.hibernate.Session引起。 webappClassLoader.loadClass(WebappClassLoader.java:1358)在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)… 13更多 2012年6月21日下午3:39:22 org.apache.catalina.core.StandardWrapperValve调用SEVERE:在org.apache.catalina.loader.WebappClassLoader.loadClass上为servlet genericActionServlet java.lang.ClassNotFoundException:org.hibernate.Session分配exception(webappClassLoader.java:1358)位于org.apache的br.com.flex4j.servlet.genericActionServlet.init(genericActionServlet.java:29)的org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)。 catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)位于org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 129)org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)org.apache.catalina.valves.ErrorReportValve .invoke(ErrorReportValve.java:102)org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109)位于org.apache的org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)。 […]

无法通过EL传递参数到方法 – javax.el.MethodNotFoundException

使用JSF 2.0和EL,我试图在POJO上调用一个方法,POJO是一个viewscoped bean的属性。 代码实际上与@BalusC的教程非常相似。 当我调用一个不带参数的方法时,一切都很好。 但是当我尝试调用一个带参数的方法时,我得到以下exception: javax.faces.el.MethodNotFoundException: javax.el.MethodNotFoundException: /user.xhtml at line 42 and column 32 action=”#{users.user.removeFriend(friend)}”: Method not found: model.User@67f2b0dd.removeFriend() 以下是一些更多细节: user.xhtml … 我有以下ViewScoped bean: Users.java @ManagedBean(name = “users”) @ViewScoped public class Users implements Serializable { private static final long serialVersionUID = 1L; private String id; private User user; @ManagedProperty(“#{userService}”) private UserService userService; // session […]

Spring Boot应用程序中未插入尾部斜杠

Spring Boot中的Tomcat没有在url上插入上下文名称后面的尾部斜杠。 它应该由未指定的服务器案例自动完成。 示例:/ user将由服务器更改为/ user / 任何人都知道如何启用它? 谢谢

在Tomcat中设置Hibernate会话工厂

我一直在阅读Hibernate核心,我仍然在探索它的一些function。 在文档中提到SessionFactory是Hibernate的重量级组件,因此它应该只在Web应用程序和单例中设置一次。 每个Session工厂都应该属于一个JDBC连接。 有谁知道如何在tomcat Web应用程序中正确设置会话工厂? 任何链接或教程都会更好。 我应该将它设置为contextlistener类吗? 谢谢。

Intellij tomcat本地运行配置 – 幕后会发生什么?

我一直在使用tomcat运行配置没有任何问题 – 它做得很好。 然而,我有点不喜欢它没有记录在任何地方(或者是它?)这个魔法实际上是如何发生的。 我想它以某种方式使得目标目录中的工件创建了tomcat引用应用程序(如果使用maven)。 我还注意到,当使用manager-gui应用程序时,没有部署其他应用程序,所以它不能使用tomcat / webapps目录。 我很好奇的是: 如何启动tomcat指向tomcat之外的应用程序? 它是否使用{project_dir} / target / {appName}部署我的应用程序? manager-gui app在哪里? 日志和配置文件在哪里?

在Java Web App中定义自定义事件/操作/请求以重置会话超时的计时器?

我在eclipse中使用Tomcat 7.0,Spring 4.0.2,Web Module 3.0作为我的Web应用程序。 我在app / web.xml以及tomcat / conf / web.xml中配置了会话超时。 30 我知道tomcat必须重置它的内部计时器来计算这30分钟并使某些事件/动作/请求的会话(会话超时)无效。 我每隔5分钟发送一个名为captureLastActiveTimeForCurrentFile的请求。 所以现在应用服务器永远不会使会话无效,因为我每隔5分钟发送一次请求,所以它会在每5分钟后重置一次会话超时定时器 。 现在我的问题是如何忽略任何特定请求(此处为captureLastActiveTimeForCurrentFile )以重置会话超时计时器 。 这意味着当我发送captureLastActiveTimeForCurrentFile请求时,服务器不能重置它的计时器。 对于所有其他人的请求它应该工作,因为它是如何工作的。 因此,如果我不向服务器发送任何其他(不包括captureLastActiveTimeForCurrentFile )请求,则必须在30分钟后使会话无效。 我能想到的解决方案: – >我将在web.xml文件中配置会话超时很长时间。 – >我将在服务器上的每个请求调用之后捕获一个全局变量中的最后请求时间 ,不包括captureLastActiveTimeForCurrentFile – >我将启动自己的调度程序,它将在每5分钟后运行,它将检查上次请求时间 – 当前时间> 30分钟 ,然后我将手动使会话无效。 但我认为这个解决方案很复杂,性能明智不是一个好主意。 有没有其他方法可以在服务器上配置排除的请求 ,以便服务器将忽略该特定请求。 如果我的任何假设是错误的,请纠正我。 提前致谢。 任何帮助将是欣赏。