java - 启动 Tomcat 加载页面

标签 java tomcat

我正在使用 Tomcat 6,我刚刚注意到一件奇怪的事情 - 在它启动后,它立即加载了我的 Login.jsp页。在我看来,它应该没有理由这样做,并且谷歌搜索这个问题我一无所获。任何帮助将不胜感激。

线索与注释:

  • 这是 Login.jsp 的原因而不是别的东西很可能是我的 web.xml将其列为唯一的 <welcome-file>Login.jsp</welcome-file> .
  • 如果我在 Login.jsp 中打印堆栈跟踪,我明白了:

    java.lang.Exception
    at org.apache.jsp.Login_jsp._jspService(Login_jsp.java:64)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    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 com.mycompany.StartupFilter.doFilter(StartupFilter.java:33)
    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:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:722)
    
  • 您会注意到有一个自定义 StartupFilter ,但这可能不是原因。到目前为止,这看起来就像由浏览器等引起的任何其他网页加载一样。

  • 让我们检查导致此问题的请求:remoteAddrremoteHost127.0.0.1 . remotePort-1 ,这真的很奇怪。请求中没有参数。 (还有什么我应该关注的吗?)
  • 我有一些预定的线程在后台运行,但它们没有触及 JSP 前端。
  • 启动日志如下所示:

    Nov 07, 2013 6:45:17 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /Users/vektor/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
    Nov 07, 2013 6:45:17 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:RealPadWeb' did not find a matching property.
    Nov 07, 2013 6:45:17 PM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Nov 07, 2013 6:45:18 PM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8443
    Nov 07, 2013 6:45:18 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 931 ms
    Nov 07, 2013 6:45:18 PM org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    Nov 07, 2013 6:45:18 PM org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
    Nov 07, 2013 6:45:19 PM org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8080
    Nov 07, 2013 6:45:19 PM org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8443
    Nov 07, 2013 6:45:19 PM org.apache.jk.common.ChannelSocket init
    INFO: JK: ajp13 listening on /0.0.0.0:8009
    Nov 07, 2013 6:45:19 PM org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=0/18  config=null
    Nov 07, 2013 6:45:19 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 1622 ms
    <here I found logged my System.out.println() I put in Login.jsp>
    
  • 当我打开访问日志阀时,我看到这一行:127.0.0.1 - - [07/Nov/2013:19:01:54 +0100] "GET / HTTP/1.1" 200 5136

  • 我在端口 8443 上使用 HTTPS 连接器重定向到通常的 8080。
  • 我尝试关闭 Chrome,但没有帮助(一个奇怪的插件可能接触了最近访问过的服务器)。
  • 我正在从 Eclipse Juno 启动服务器。

这是我得到的。任何帮助将非常感激。如果您需要查看任何其他配置文件,请告诉我!


首屏:细节

  • OS X 10.8.5(可能是防火墙?)
  • Java 1.6.0.35
  • Tomcat 6.0.35
  • 该项目使用 AspectJ,日志记录是通过 Log4J 2 beta cca 9 完成的(它可能是一个日志守护线程吗?)

最佳答案

Tomcat 不会那样做。 Eclipse 的 Tomcat 插件可以做到这一点。在 Tomcat 声称成功启动后,Eclipse Tomcat 插件在 / 上触发请求为了检查这是否属实。正如您显然已经将 Web 应用程序部署在上下文根 / 上, 它的 <welcome-file>将隐式打开。因此请注意,当您的 Web 应用程序部署在固定的上下文路径上时,这不会发生。

忽略它。这是完全无害的。此外,这在实际生产中不会发生(当然,我假设生产服务器不会无知地单独使用 Eclipse 来启动 Tomcat 服务器实例)。

关于java - 启动 Tomcat 加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842898/

相关文章:

tomcat - 抓取tomcat启动时间

scala - Play 2 框架的外部配置

java - Spring 中带有 url 模式重定向的上下文路径

java - Tomcat 有时无法通过 eclipse 在 ubuntu14.04 中启动

java - 我可以在 Apache Derby 版本 10.11 中使用 MERGE INTO 吗?

java - sikuli中的日期函数

java - 用于打印内容的 JSP 帮助程序类

java - 在 Java 中使用就地集合初始化器的缺点是什么

java - "? extends ParentClass"使只读?

java - 覆盖 web.xml 中 URL 模式 "default servlet"的 "/"行为