151、springMVC和struts2的區別有哪些?
1.springmvc的入口是一個servlet即前端控制器(DispatchServlet), 而struts2入口是一個filter過慮器(StrutsPrepareAndExecuteFilter)。 2.springmvc是基於方法開發(一個url對應一個方法), 請求引數傳遞到方法的形參, 可以設計為單例或多例(建議單例), struts2是基於類開發, 傳遞引數是通過類的屬性, 只能設計為多例。 3.Struts採用值棧儲存請求和響應的資料, 通過OGNL存取資料, springmvc通過引數解析器是將request請求內容解析, 並給方法形參賦值, 將資料和檢視封裝成ModelAndView物件, 最後又將ModelAndView中的模型資料 通過reques域傳輸到頁面。 Jsp檢視解析器預設使用jstl。
152、SpringMVC怎麼樣設定重定向和轉發的?
1)在返回值前面加"forward:" 就可以讓結果轉發, 譬如"forward:user.do?name=method4" (2)在返回值前面加"redirect:" 就可以讓返回值重定向, 譬如"redirect:http://www.itlike.com"
153.SpringMvc怎麼和AJAX相互呼叫的?
通過Jackson框架 就可以把Java裡面的物件直接轉化成 Js可以識別的Json物件。 具體步驟如下 : 1.加入Jackson.jar 2.在配置檔案中配置json的對映 3.在接受Ajax方法裡面可以直接返回Object,List等, 但方法前面要加上@ResponseBody註解。
154.如何解決POST請求中文亂碼問題,GET的又如何處理呢?
(1)解決post請求亂碼問題: 在web.xml中加入: <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <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> 2.get請求中文引數出現亂碼解決方法有兩個: 2.1修改tomcat配置檔案新增編碼與工程編碼一致, 如下: <ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 2.2另外一種方法對引數進行重新編碼: String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8") ISO8859-1是tomcat預設編碼, 需要將tomcat編碼後的內容按utf-8編碼。
155.怎麼樣把ModelMap裡面的資料放入Session裡面?
答:可以在類上面加上@SessionAttributes註解,
裡面包含的字串就是要放入session裡面的key。