好久没弄java web了,今天下午碰到一个大问题
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<!--
<url-pattern>*.do</url-pattern>
<url-pattern>*.screen</url-pattern> -->
<url-pattern>/</url-pattern>
</servlet-mapping>
因为在刚开始使用了 <url-pattern>/</url-pattern>
在index.jsp 中使用
<link href="css/default.css"css/default.css" rel="stylesheet" type="text/css" />
路径是对的 但怎么也找不到相应的资源
后面查了一下午才知道 是 <url-pattern>/</url-pattern> 的原因,所有的路径都被拦截了
<url-pattern>*.do</url-pattern>
后不在拦截
你那个/表示拦截所有请求,这样JS呀,CSS什么的都会被拦截了,所以就不能直接访问了!
其实如果运行在tomcat中,你可以交给defaultServlet来处理静态资源,方法是在spring的servlet之前配置
XML/HTML code
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</ur
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<!--
<url-pattern>*.do</url-pattern>
<url-pattern>*.screen</url-pattern> -->
<url-pattern>/</url-pattern>
</servlet-mapping>
因为在刚开始使用了 <url-pattern>/</url-pattern>
在index.jsp 中使用
<link href="css/default.css"css/default.css" rel="stylesheet" type="text/css" />
路径是对的 但怎么也找不到相应的资源
后面查了一下午才知道 是 <url-pattern>/</url-pattern> 的原因,所有的路径都被拦截了
<url-pattern>*.do</url-pattern>
后不在拦截
你那个/表示拦截所有请求,这样JS呀,CSS什么的都会被拦截了,所以就不能直接访问了!
其实如果运行在tomcat中,你可以交给defaultServlet来处理静态资源,方法是在spring的servlet之前配置
XML/HTML code
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</ur

本文探讨了在Java Web开发过程中遇到的URL配置问题,特别是关于<servlet-mapping>元素中使用<url-pattern>/</url-pattern>导致静态资源无法访问的问题,并提供了将静态资源请求交由defaultServlet处理的解决方案。
698

被折叠的 条评论
为什么被折叠?



