Tag: tomcat7

Tomcat请求记录 – 如何?

环境:雄猫7。 想记录http请求及其标题。 实际上,只要我可以记录调用者的IP地址,他请求的资源(URL)和请求类型(GET,POST等),我就可以不使用标题 这似乎是一个微不足道的问题,但实际上并非如此。 标准方法是使用AccessLogValve ,但据我所知,其中一个实际上不是请求日志记录,它是请求/响应日志记录,这意味着它不会在响应周期结束之前记录任何内容。 它只会记录响应已成功传递到http客户端的请求。 如果出现问题之前,AccessLogValve将不会记录请求。 问题1:这是否正确理解? 问题2:还有其他选择吗? 更新1: 我已经使用一个基于URL参数阻塞x秒的虚拟servlet对Tomcat7进行了测试。 我的发现确实是AccessLogValve记录了该请求……虽然正如预期的那样,直到响应结束时才会发生这种情况,即在x秒之后。 无论客户端在请求完成之前是否已中止,并且无论servlet在处理期间是否抛出exception,都会有一个日志条目。 因此问题1的答案是:“否”。 结论 AcccesLogValve最终将生成一个日志条目。 至少我还没有能够产生这种情况并非如此。

HTML 5video标记无法在Tomcat中运行(已编辑)

video无法使用文件的绝对路径和相对路径从Tomcat 7服务器播放: 编辑摘要:改变了相对路径的示例,我将video放在应用程序Root-Folder中(仍然无法解决video错误)。 我们正在构建一个用于本地使用的video查看的小应用程序。 由于HTML-5为video观看提供了巨大的支持,我们选择使用简单的Servlet / JSP编写程序,将其部署在Tomcat 7 Web服务器上 。 应用程序逻辑如下: 根路径(绝对路径)设置为tomcat中我的应用程序的根文件夹。 root下面的所有文件和目录都显示在旁边的“go”按钮。 如果通过单击“开始”选择文件夹中的video文件,则会显示video查看页面。 使用Expression langauge(EL)将video文件的相对提供给video页面到video标签的源。 video应该从localhost的硬盘播放到所有浏览器端点。 我面临的问题是我的video不是从tomcat服务器播放,而是在浏览器上复制并粘贴到video工作正常的文件时,html的’源’代码相同。 如何使它从tomcat服务器工作? 编辑后:我修改了我的应用程序以调整tomcat myapp的根文件夹中的相对路径,但它仍然无法正常工作。 以下是已编辑的问题。 我的应用程序的屏幕短裤是: 第一阶段:单击链接 第二阶段:选择要浏览的video或文件夹 第三阶段:播放video (这里我收到错误) 服务器在浏览器上呈现以下HTML(从视图源复制): Cluster Video App Enjoy the Video 当将相同的源复制并粘贴到计算机中任何位置的示例html页面时,video工作正常。 下面的图像certificate了这一点。 编辑后:服务器呈现包含video的正确相对路径。 该video尚未正常运行。 Cluster Video App Enjoy the Video video出现在我的应用程序的根目录中: 我已将编辑过的程序粘贴在此页面中以供参考。 请纠正我并帮我清除video错误。 程序 包装结构: 在web.xml <!– /welcome.do –> Controller com.cluster.vapp.controller.ControllerServlet […]

无法在WebSocketHandlerAdapter上播放

我正在建立一个基于氛围的websocket概念certificate。 创建了一个订阅2个频道的javascript客户端,并在服务器上创建了创建两个广播公司并继续发送数据的线程,但是我无法在客户端上获取数据。 有没有办法检查邮件是否卡在服务器端或客户端? 我在哪儿丢球吗? 🙂 这就是我现在所拥有的: PublishServerState – 创建广播公司并发送消息 import javax.servlet.http.HttpServlet; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.atmosphere.cpr.AtmosphereFramework; import org.atmosphere.cpr.Broadcaster; import org.atmosphere.cpr.BroadcasterFactory; // TODO desligar os threads quando a app esta desligando public class PublishServerState extends HttpServlet { private static final long serialVersionUID = 1L; public static String value1 = “um-“; public static String […]

在Tomcat 7.0.47中部署RestEasy服务

我正在使用RestEasy开发Rest服务。 我需要在Tomcat中部署。 我认为我的web.xml中存在问题 这是我的web.xml: MyServices resteasy.scan true resteasy.servlet.mapping.prefix /services resteasy-servlet org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher javax.ws.rs.Application com.service.services.MessageApplication resteasy-servlet /services/* 我有服务: @GET @Path(“/hello”) @Produces({MediaType.APPLICATION_JSON}) public String Hello(String name) { System.out.println(“Hello “+name); return(“Hello “+name); } 当我部署时,我调用http://localhost:8080/MyServices/services/hello?name=Jesus Tomcat显示此错误: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) […]

Hibernate java.lang.OutOfMemoryError:Java堆空间

我有一个在Tomcat 7上运行的Java Web应用程序 – jdk1.7 此应用程序使用Spring 4.1.5.RELEASE和Hibernate 4.2.2.Final 我的问题是建筑部分工厂的堆空间的OutOfMemoryException 这是我打开SessionFactory的静态方法 public class GenericDAO { public static SessionFactory sessionFactory = null; public static ServiceRegistry serviceRegistry = null; Transaction tx = null; public static SessionFactory createSessionFactory() { Configuration configuration = new Configuration(); configuration.configure(); serviceRegistry = new ServiceRegistryBuilder().applySettings( configuration.getProperties()). buildServiceRegistry(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); return sessionFactory; } } 这是DAO的一个例子 […]

没有cookie的Servlet会话+仅返回JSON的ajax请求

这是我的情况,我有一个网站,我只是使用Apache HTTPD加载,然后向一个只返回JSON数据的servlet发出Ajax POST请求。 然后,该JSON数据用于更新表等。 现在我想向我的站点添加用户逻辑,并且还为各个用户的请求维护servlet会话。 我知道servlet需要返回第一次调用request.getSession()时生成的会话ID,以便客户端可以将此sessionid添加到将来的Ajax请求中,以便servlet知道要在内存中使用哪个会话。 我也理解这个会话id可以返回给客户端的两种方式是使用cookie(JESSIONID)或URL重写。 如果我不能使用URL重写,因为我只是返回JSON数据,cookie是我离开的唯一方式将会话ID发送回客户端吗? 另外,作为一个附带问题,目前我注意到来自servlet的任何HTTP响应中都没有JSESSIONID cookie。 有人向我建议这是Tomcat7中的新function,我必须在全局context.xml中激活它们。 这是否意味着即使您调用request.getSession(),默认情况下也没有会话处理?

Tomcat虚拟主机和通配符dns匹配

我创建了一个应用程序,它需要接受通配符dns并使用该通配符值向数据库请求。 我试图为自己模拟一个虚拟环境来实现我想要的东西: 1)在我的Linux操作系统中,我更改了/ etc / hosts并添加以下行: 127.0.0.1 test-domain.com 127.0.0.1 mehdi.test-domain.com 2)我更改了我的tomcat server.xml文件,如下所示: www.test-domain.com *.test-domain.com 3)我将项目war文件’Root.war’部署到$ {TOMCAT} / webapps / ROOT文件夹中 现在,当我请求“ www.test-domain.com ”时,我看到了网页主页,我想在输入这个url“ mehdi.test-domain.com ”时,我从url中获取mehdi并对其执行操作向我的用户显示mehdi页面。 问题1:如何在应用程序中获取通配符值? 问题2:我们是否有可能让tomcat在运行时将请求URL转换为其他内容并将其传递给应用程序(我需要通配符值ex:mehdi)? http://mehdi.test-domain.com转到http://test-domain.com/mehdi 问题3:是否可以只有第二个<主机名= …定义并删除第一个? 我怎么能在我的应用程序中处理它?

如何将tomcat 7 webapp映射到我的域名

我知道这已经在几个方面被触及,但我仍然有问题 – 我有一个webapp: /var/lib/tomcat7/webapps/abc.war 我有一个域名,例如my.domain.com 我已将此添加到我的conf / server.xml(我认为设置正确吗?)Docbase指向war文件夹? 我的域ip在/ etc / hosts中与本地主机ip一起: 127.0.0.1 localhost 123.123.123.33 HostName.my.domaing.com HostName $ / etc / hostnames HostName 根据我上面的当前设置,我在网上看到我的webapp没有任何结果。 任何想法都会非常感激! 我的域名也已映射到我的/ var / www / html目录。 我可以在线查看我的temp index.html文件。 我的tomcat webapp通过ip:8080 / abc正常工作 我正在研究Ubuntu Server 14.04 – Apache2这是我第一次使用tomcat工作,这有点令人困惑。 谢谢!

Tomcat:使用数据库连接部署两个应用程序时出现HikariCP问题

我试图在同一个tomcat7实例上部署两个WAR文件(app1.war和app2.war)。 我收到此错误: Unable to register MBean [HikariDataSource (HikariPool-0)] with key ‘dataSource’; nested exception is javax.management.InstanceAlreadyExistsException: com.zaxxer.hikari:name=dataSource,type=HikariDataSource 如果我在tomcat上只部署了一个应用程序,则没有此错误。 有没有办法解决这个问题?

ant目标将战争部署到tomcat7 / webapps

我想使用ant target将刚刚创建的*.war (爆炸)部署到${TOMCAT_HOME}/webapps 。 组态 我的tomcat版本是7.0.37, tomcat-users.xml是: war.properties是: # War Build Properties package.dir=${basedir}/package war.exploded.dir=${deploy.dir}/war-ex # ——— Tomcat Settings ————— # FIXME : tomcat.url=http://localhost:8080/manager/text tomcat.url=http://localhost:8080/manager tomcat.username=tomcat tomcat.password=tomcat context-path=/eccount 我的deploy-war目标如下( tomcat-deploy.xml ): 问题 当我通过命令行命中ant deploy-war ,我得到以下exception: FileNotFoundException : http://localhost:8080/manager/deploy?path=%2Feccount&war=file%3A%2F%2FC%3A%5Ceccount%2Fdeploy%2Fwar-ex 但是,可以通过Web浏览器访问相同的路径file:///C:/eccount/deploy/war-ex 。 参考 在Tomcat 7.0.37中远程部署新应用程序 在Tomcat上部署war文件 Apache Ant如何将.war文件部署到Tomcat Tomcat 7的Catalina-Ant