spring MVC的配置问题
好久没有编程了,最近配置了一个springMVC的项目,结果controller失效了,任何路径都不拦截,呕死我了。。。
结果发现是springMVC配置处出了问题,springMVC的配置有两种:
一种是:
1 <bean
2 class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
3 <property name="messageConverters">
4 <list>
5 <bean
6 class="org.springframework.http.converter.StringHttpMessageConverter">
7 <property name="supportedMediaTypes">
8 <list>
9 <value>text/plain;charset=UTF-8</value>
10 </list>
11 </property>
12 </bean>
13 </list>
14 </property>
15 </bean>
这种配置方法可以 防止@responseBody返回视图出现乱码,所以手动配置Bean,它不能和 <mvc:annotation-driven />一起使用
另一种:
1
之前的项目中我用第一种方法配置,项目可以正常运行,不会报错,但是换了一台电脑后,就会出现本文开始提到的问题。
解决方法就是,用第二种方法配置即可。
为什么会这样,我也不知道。
还有一种情况就是拦截路径问题:
1 <form action="/login" method="post">
2 <div>
3 登录名:<input type="text" name="Uname" />
4 密码:<input type="text" name="Upassword" />
5 <input type="submit" value="登录" />
6 </div>
7 </form>
这样默认的拦截路径就是:/login
1 <form action="./login" method="post">
2 <div>
3 登录名:<input type="text" name="Uname" />
4 密码:<input type="text" name="Upassword" />
5 <input type="submit" value="登录" />
6 </div>
7 </form>
这样默认的拦截路径就是:工程名/发出请求页面所在路径/login
如果控制器里面拦截路径这么写:
@RequestMapping("/login")
public String checkLogin(){
}
controller的拦截路径为:工程名/login
@RequestMapping("**/login")
public String checkLogin(){
}
controller的拦截路径为:工程名/发出请求页面所在路径/login
如果页面请求路径和拦截路径不一样就会报,404错误,找不到。。。
初学者的烦恼呀。。。