2 mgoann mgoann 于 2016.03.14 09:47 提问

spring mvc配置问题,请帮忙看看 10C

http://localhost:8080/zyt-web/major/5/base.html
http://localhost:8080/zyt-web/college/5/base.html

带major的由MajorDetailAction来处理,
带college的由CollegeDetailAction来处理,

每个action都有多个方法,例如:http://localhost:8080/zyt-web/major/5/res.html http://localhost:8080/zyt-web/major/5/base.html
对应MajorDetailAction类中两个方法。

我现在在web.xml中配置spring的servlet为/*,发现进到action里头只会匹配major和college之后的数据,major和college被消耗掉了,而后面的url由都一样,所以没法区分是改进入MajorDetailAction还是CollegeDetailAction

有没有配置可以让spring不消耗url,或者是提供更好一套配置方案,谢谢!

/zyt-web/major /zyt-web/college在major和college前面再加一层路径如,/zyt-web/asset/major /zyt-web/asset/college,
这种方案我知道,不采纳,只所以不采纳,是因为页面都是采用相对路径引用静态资源,如果再加一层路径,所以引用的地方都得修改!

5个回答

shsongtao
shsongtao   2016.03.14 10:10

你配置的springmvc的时候,不要用\/* , 直接用\/ 试试,好像配置\/*会有点问题

shsongtao
shsongtao   2016.03.14 10:11

我的springmvc 的配置 :

<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
shsongtao
shsongtao   2016.03.14 10:12

我的springmvc 的配置 :

<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
wangkang80
wangkang80   2016.03.14 10:19

关于spring mvc的配置问题,详情可参考:http://git.oschina.net/wangkang/llsfw

希望能够帮到你

mafan121
mafan121   2016.03.14 16:37

对于你的问题是拦截出错,/*只拦截jsp页面,如果你的页面是html那么不会拦截,而是直接匹配对应的页面,使用/可以达到你的效果,这也是默认匹配,具体使用可参考:http://blog.csdn.net/mafan121/article/details/45035629

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!