很久沒有編程了,最近配置了一個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錯誤,找不到。。。
初學者的煩惱呀。。。