如下地址提出的问题:
http://topic.csdn.net/u/20120918/09/3ff9f76b-5669-4c78-8a4a-428b4729e931.html?seed=695889312&r=79973374#r_79973374类:
@RequestMapping("/user")
public class UserLoginController{}方法:
@RequestMapping(value="/login", method = RequestMethod.POST)
public ModelAndView doUserLogin(配置文件:
<mvc:resources mapping="/assets/css/**" location="/WEB-INF/view/assets/css/"/>提交到的a.jsp文件:
<link href="assets/css/style.css" type="text/css" rel="stylesheet" />如上配置:
当转到a.jsp文件时候:请求的url是/项目名/user/assets/css/style.css,这里的多了一个user,是因为类级别url设置url。结果就无法匹配到"/WEB-INF/view/assets/css/我现在解决方案是:
<link href="assets/css/style.css" type="text/css" rel="stylesheet" />
<link href="/user/assets/css/style.css" type="text/css" rel="stylesheet" />
写两个,但是这样不方便,如果以后类别又变化了,这个配置就的改变。这个问题我是知道的,也有解决方案,但是还是没有想到一个好的方案。配置文件我只保留
<link href="assets/css/style.css" type="text/css" rel="stylesheet" />
然后,类级别和方法级别的url也要有。
求各位还有什么好的方法。

解决方案 »

  1.   

    解决了:
    不使用<mvc:resources mapping="/assets/css/**" location="view/assets/css/"/>
    在web.xml中DispatcherServlet之前配置,
    <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
    </servlet-mapping>在jsp页面使用绝对路径引用css或者js
    <link href="/HRMS/view/assets/css/style.css" type="text/css" rel="stylesheet" />
    HRMS这个工程名称,区分大小写。这样后,即使在controller中请求/user,在方法中请求/add,就不会出现引用不到问题了,因为已经在tomcat的端通过了,不会经过spring的DispatcherServlet处理了。jsp页面用绝对引用也有好处,这个是从网上看到的。