该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-05-25
yinyanbin 写道
如果是<url-pattern>/</url-pattern>那么图片,css,js怎么办呢?就显示不了了 再写一个<servlet-mapping> 呗,再说了一般项目还挺难做到全部rest风格吧 比如
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/css/*</url-pattern> </servlet-mapping> |
|
返回顶楼 | |
发表时间:2011-05-25
rocketball 写道
yinyanbin 写道
如果是<url-pattern>/</url-pattern>那么图片,css,js怎么办呢?就显示不了了 再写一个<servlet-mapping> 呗,再说了一般项目还挺难做到全部rest风格吧 比如
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/css/*</url-pattern> </servlet-mapping>
楼上说的对,我也是建议使用起码两个servlet mapping,下面是我的建议用法:
<!-- Serves static resource content from .jar files such as spring-faces.jar --> <servlet> <servlet-name>Resources Servlet</servlet-name> <servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <!-- Map all /resources requests to the Resource Servlet for handling --> <servlet-mapping> <servlet-name>Resources Servlet</servlet-name> <url-pattern>/resources/*</url-pattern> </servlet-mapping> <!-- The front controller of this Spring Web application, responsible for handling all application requests --> <servlet> <servlet-name>Controller</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/webapp-servlet.xml </param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Map all requests to the DispatcherServlet for handling --> <servlet-mapping> <servlet-name>Controller</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> 一个用来mapping resource(这样用甚至可以map到jar里面的资源),另一个专门mapping servlet.
|
|
返回顶楼 | |
发表时间:2011-05-26
yinyanbin 写道
如果是<url-pattern>/</url-pattern>那么图片,css,js怎么办呢?就显示不了了
我的作法是在 webapp 根目录下,建一个子目录 resources , 在 resources 下,再建 3 个子目录:js, css, img
在 spring mvc 的 xml 配置文件里面,加上这一句: <mvc:resources location="/resources/" mapping="/resources/**" />
web.xml 里面,还是配置: <url-pattern>/</url-pattern>
这样达到的效果:spring mvc 处理所有请求,但是 resources 下的(js, css, img)除外。 |
|
返回顶楼 | |
发表时间:2011-05-26
suyulin6688 写道
yinyanbin 写道
如果是<url-pattern>/</url-pattern>那么图片,css,js怎么办呢?就显示不了了
我的作法是在 webapp 根目录下,建一个子目录 resources , 在 resources 下,再建 3 个子目录:js, css, img
在 spring mvc 的 xml 配置文件里面,加上这一句: <mvc:resources location="/resources/" mapping="/resources/**" />
web.xml 里面,还是配置: <url-pattern>/</url-pattern>
这样达到的效果:spring mvc 处理所有请求,但是 resources 下的(js, css, img)除外。
既然楼上的说开了,我就补充一下,我的思路跟你一样,只是我直接把js,css,images直接放到根目录下,然后这样配置:
<mvc:resources mapping="/resources/**" location="/, classpath:/META-INF/web-resources/" />
好处也说一下,免得越抹越黑,浪费大家笔墨: 1. 因为jsp,message,tld等都放到了WEB-INF下,其实根目录下本来就没啥东西了,所以js,css,images就直接摆出来了; 2. 因为用了spring的js/resource组件(org.springframework.js.resource.ResourceServlet @ spring-js-resource),这东西可以把jar的东西也按需export出来,有利于组件化——比如有些img是framework级别的,一般基于此framework的项目就直接export出来用好了 |
|
返回顶楼 | |
发表时间:2011-05-26
itstarting 写道 suyulin6688 写道
yinyanbin 写道
如果是<url-pattern>/</url-pattern>那么图片,css,js怎么办呢?就显示不了了
我的作法是在 webapp 根目录下,建一个子目录 resources , 在 resources 下,再建 3 个子目录:js, css, img
在 spring mvc 的 xml 配置文件里面,加上这一句: <mvc:resources location="/resources/" mapping="/resources/**" />
web.xml 里面,还是配置: <url-pattern>/</url-pattern>
这样达到的效果:spring mvc 处理所有请求,但是 resources 下的(js, css, img)除外。
既然楼上的说开了,我就补充一下,我的思路跟你一样,只是我直接把js,css,images直接放到根目录下,然后这样配置:
<mvc:resources mapping="/resources/**" location="/, classpath:/META-INF/web-resources/" />
好处也说一下,免得越抹越黑,浪费大家笔墨: 1. 因为jsp,message,tld等都放到了WEB-INF下,其实根目录下本来就没啥东西了,所以js,css,images就直接摆出来了; 2. 因为用了spring的js/resource组件(org.springframework.js.resource.ResourceServlet @ spring-js-resource),这东西可以把jar的东西也按需export出来,有利于组件化——比如有些img是framework级别的,一般基于此framework的项目就直接export出来用好了 再补充一点,用了spring-js-resource 还可以配置更精准的resource cache策略,也是很有意思的一点,具体请大家看ref吧 |
|
返回顶楼 | |
发表时间:2011-05-29
虽然没用springmvc但是最后还是我一票,定为精华了,楼主的确认认真,建议分片,分类整理成博客,便于后来人学习!!!
|
|
返回顶楼 | |
发表时间:2011-05-29
kjj 写道 虽然没用springmvc但是最后还是我一票,定为精华了,楼主的确认认真,建议分片,分类整理成博客,便于后来人学习!!! 哈哈,谢谢了,我还一直奇怪怎样才能捞个精华呢 不过也说明spring mvc还是有其可取之处,哪怕相比struts |
|
返回顶楼 | |
发表时间:2011-05-29
感觉SPRING MVC的数据绑定比较差,没struts2方便。
|
|
返回顶楼 | |
发表时间:2011-05-30
jason&xu 写道 感觉SPRING MVC的数据绑定比较差,没struts2方便。 楼上可否举例一二加以说明? 据我所知,spring mvc的form binding和validation都还是不错的了 其中的form binding只要加上一个model,即可完全面向pojo对象实现form <-> controller param之间的绑定与传递 struts2一直没兴趣看,也就不得而知其高明之处了,还请指教 |
|
返回顶楼 | |