关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
2012-12-26 15:47
441 查看
之前一直使用*.do来做的,但是绝的*.do很丑,于是就改用“/”来配置:
但是带来的问题是如何访问到静态的文件,如jpg,js,css?
如果你的DispatcherServlet拦截"*.do"这样的有后缀的URL,就不存在访问不到静态资源的问题。
如果你的DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对*.js,*.jpg等静态文件的访问也就被拦截了。
我们要解决这个问题。
目的:可以正常访问静态文件,不可以找不到静态文件报404。
方案一:激活Tomcat的defaultServlet来处理静态文件
要写在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入Spring了,我想性能是最好的吧。
Tomcat, Jetty, JBoss, and GlassFish 自带的默认Servlet的名字 -- "default"
Google App Engine 自带的 默认Servlet的名字 -- "_ah_default"
Resin 自带的 默认Servlet的名字 -- "resin-file"
WebLogic 自带的 默认Servlet的名字 -- "FileServlet"
WebSphere 自带的 默认Servlet的名字 -- "SimpleFileServlet"
另外还有其余两种解决方法,大家可以参看:/article/2104061.html
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
但是带来的问题是如何访问到静态的文件,如jpg,js,css?
如果你的DispatcherServlet拦截"*.do"这样的有后缀的URL,就不存在访问不到静态资源的问题。
如果你的DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对*.js,*.jpg等静态文件的访问也就被拦截了。
我们要解决这个问题。
目的:可以正常访问静态文件,不可以找不到静态文件报404。
方案一:激活Tomcat的defaultServlet来处理静态文件
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping>
要写在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入Spring了,我想性能是最好的吧。
Tomcat, Jetty, JBoss, and GlassFish 自带的默认Servlet的名字 -- "default"
Google App Engine 自带的 默认Servlet的名字 -- "_ah_default"
Resin 自带的 默认Servlet的名字 -- "resin-file"
WebLogic 自带的 默认Servlet的名字 -- "FileServlet"
WebSphere 自带的 默认Servlet的名字 -- "SimpleFileServlet"
另外还有其余两种解决方法,大家可以参看:/article/2104061.html
相关文章推荐
- 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
- 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
- Spring MVC 3中关于url-pattern设成"/"后,资源访问问题
- J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题
- 关于使用ActivityGroup实现活动跳转带来的问题
- Struts2中的url-pattern带来的dojo未定义的问题
- 关于ResolveClientUrl和ResolveUrl的使用 问题
- 实用程序软件包(关于使用静态函数报错问题“Static function declared but not defined in C+++ "eh.h is only for C++!"报错问题)
- 关于Android使用HttpURLConnection传输含有中文JSON数据的报错、乱码问题
- 关于使用AJAX所带来的问题
- Eclipse中编译和运行时使用的JDK和JRE级别问题(关于"Bad version number in .class file"的异常解决)
- 关于在Java中使用request.getRequestDispatcher(".....")引起的css文件无效或图片无效问题。
- 关于在英创em9161板上使用ADO.net连接远程数据库提示 “无法找到 PInvoke dll"dbnetlib.dll"”问题解决方法
- 关于使用Ajax传中文数据到后台接受乱码问题 data:{"dictype":"客户信誉度"}
- 关于"Excel._Worksheet和DocEvents_Event之间存在二义性.将使用方法组"的问题
- 如何使用 URLOpenStream 函数 - 回复 "天泽" 的问题
- 关于web.xml里的filter的url-pattern配置问题
- 关于空格和回车带来的输入输出不一致问题,使用了一个奇怪的replace
- 使用mybatis遇到的关于条件查询">"以及if test传参的使用问题
- J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题