4
回答
tomcat servlet路径映射问题,求高手赐教。
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

最近想写个mvc简易功能的程序,思路是匹配所有请求的路径到一个action方法上,每个请求路径都有一个对应的方法,具体规则就不讨论了,就是约定什么的等等。问题是我在配置web.xml时把所有的请求都映射到一个servlet上,如:


<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>com.xxxx.mvc.HttpApplicationServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>package</param-name>
<param-value>com.xxxx.web</param-value>
</init-param> 
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>


这样请求的静态文件有问题,而且使用request.getServletContext().getRequestDispatcher(WEB_BASE_PATH + pathName).forward(request, response);时还会再次请求。

无奈改为

<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

这个应该和tomcat中的默认配置冲突,还是不能请求静态文件,而且还会循环请求。

最后没办法改为


<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/.html</url-pattern>
</servlet-mapping>
这样请求都没问题了。


针对以上问题希望聆听大神教诲,不省感激。

举报
闲庭风
发帖于5年前 4回/936阅
顶部