在web.xml中加入:前端
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
一種方法對參數進行從新編碼:web
String userName = new
String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")spring
ISO8859-1是tomcat默認編碼,須要將tomcat編碼後的內容按utf-8編碼json
性能上Struts1>SpringMvc>Struts2
開發速度上SpringMvc和Struts2差很少,比Struts1要高
5.
SpingMvc中的控制器的註解通常用那個,有沒有別的註解能夠替代通常用@Conntroller註解,表示是表現層,不能用用別的註解代替.
用於類上,表示類中的全部響應請求的方法都是以該地址做爲父路徑。
直接在方法上面加上註解@RequestMapping,而且在這個註解裏面寫上要攔截的路徑
能夠在@RequestMapping註解裏面加上method=RequestMethod.GET
能夠在@RequestMapping註解裏面加上params="type=test"
直接在形參裏面聲明這個參數就能夠,但必須名字和傳過來的參數同樣
直接在方法中聲明這個對象,SpringMvc就自動會把屬性賦值到這個對象裏面
直接在方法的形參中聲明request,SpringMvc就自動把request對象傳入
返回值能夠有不少類型,有String, ModelAndView,當通常用String比較好
SpringMvc根據配置文件中InternalResourceViewResolver的前綴和後綴,用前綴+返回值+後綴組成完整的返回值
在返回值前面加"forward:"就可讓結果轉發,譬如"forward:user.do?name=method4" 在返回值前面加"redirect:"就可讓返回值重定向,譬如"redirect:http://www.baidu.com"
經過ModelMap對象,能夠在這個對象裏面用put方法,把對象加到裏面,前臺就能夠經過el表達式拿到
叫ModelAndView
能夠在類上面加上@SessionAttributes註解,裏面包含的字符串就是要放入session裏面的key
經過Jackson框架就能夠把Java裏面的對象直接轉化成Js能夠識別的Json對象 具體步驟以下 1.加入Jackson.jar 2.在配置文件中配置json的映射 3.在接受Ajax方法裏面能夠直接返回Object,List等,但方法前面要加上@ResponseBody註解
要加上@ResponseBody註解
有兩種寫法,一種是實現接口,另一種是繼承適配器類,而後在SpringMvc的配置文件中配置攔截器便可: <!-- 配置SpringMvc的攔截器 --> <mvc:interceptors> <!-- 配置一個攔截器的Bean就能夠了 默認是對全部請求都攔截 --> <bean id="myInterceptor" class="com.et.action.MyHandlerInterceptor"></bean> <!-- 只針對部分請求攔截 --> <mvc:interceptor> <mvc:mapping path="/modelMap.do" /> <bean class="com.et.action.MyHandlerInterceptorAdapter" /> </mvc:interceptor> </mvc:interceptors>