spring MVC中controller失效

很久没有编程了,最近配置了一个springMVC的项目,结果controller失效了,任何路径都不拦截,呕死我了。。。web

 

结果发现是springMVC配置处出了问题,springMVC的配置有两种:spring

 

一种是:编程

 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 />一块儿使用 mvc

 

另外一种:app

 1 <mvc:annotation-driven /> post

 

以前的项目中我用第一种方法配置,项目能够正常运行,不会报错,可是换了一台电脑后,就会出现本文开始提到的问题。spa

解决方法就是,用第二种方法配置便可。code

为何会这样,我也不知道。orm

 

还有一种状况就是拦截路径问题:blog

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错误,找不到。。。

 

初学者的烦恼呀。。。

相关文章
相关标签/搜索