从 Tomcat 6 升级到 Tomcat 8 后出现问题
Issue after upgrading from Tomcat 6 to Tomcat 8
我有一个 j2ee 应用程序 web.xml 有一个默认的 servlet 来处理所有请求。
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>gr.comp.pjx.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
加载应用程序的上下文时会出现奇怪的行为。因此,当 netbeans 加载 http://localhost:8080/my_application/
时,我看到我的 servlet class(即 gr.comp.pjx.controller.FrontController
)没有捕获请求。 Tomcat 6 时情况并非如此。除此之外,当我手动输入页面时 url 例如http://localhost:8080/my_application/login.jsp
相同的 servlet class 按预期正常捕获请求。
有没有人有类似的问题?
我通过使用空字符串添加一个 servlet 映射解决了这个问题,这样应用程序的上下文根(即 http://localhost/my_application)可以由 gr.comp.pjx.controller.FrontController
提供服务
<servlet>
<servlet-name>controller1</servlet-name>
<servlet-class>gr.eworx.pjx.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller1</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
因此,这个 servlet 映射是在现有 servlet 与默认 servlet 的映射之前添加的。
现在每个请求都可以由 gr.eworx.pjx.controller.FrontController 处理
但是,未回答的问题是为什么不能使用 '/' url 模式来为 Tomcat > 6
中的应用程序上下文根提供服务
我有一个 j2ee 应用程序 web.xml 有一个默认的 servlet 来处理所有请求。
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>gr.comp.pjx.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
加载应用程序的上下文时会出现奇怪的行为。因此,当 netbeans 加载 http://localhost:8080/my_application/
时,我看到我的 servlet class(即 gr.comp.pjx.controller.FrontController
)没有捕获请求。 Tomcat 6 时情况并非如此。除此之外,当我手动输入页面时 url 例如http://localhost:8080/my_application/login.jsp
相同的 servlet class 按预期正常捕获请求。
有没有人有类似的问题?
我通过使用空字符串添加一个 servlet 映射解决了这个问题,这样应用程序的上下文根(即 http://localhost/my_application)可以由 gr.comp.pjx.controller.FrontController
提供服务<servlet>
<servlet-name>controller1</servlet-name>
<servlet-class>gr.eworx.pjx.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller1</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
因此,这个 servlet 映射是在现有 servlet 与默认 servlet 的映射之前添加的。 现在每个请求都可以由 gr.eworx.pjx.controller.FrontController 处理 但是,未回答的问题是为什么不能使用 '/' url 模式来为 Tomcat > 6
中的应用程序上下文根提供服务