日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

项目总结SpringMVC相关

發布時間:2023/11/29 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目总结SpringMVC相关 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

流程文字概述
1、用戶發送請求至前端控制器DispatcherServlet
2、DispatcherServlet收到請求調用HandlerMapping處理器映射器。
3、處理器映射器找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。
4、DispatcherServlet調用HandlerAdapter處理器適配器
5、HandlerAdapter經過適配調用具體的處理器(Controller,也叫后端控制器)。
6、Controller執行完成返回ModelAndView
7、HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet
8、DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器
9、ViewReslover解析后返回具體View
10、DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。
11、DispatcherServlet響應用戶

2.如何解決POST請求中文亂碼問題,GET的又如何處理呢?

在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>

以上可以解決post請求亂碼問題。對于get請求中文參數出現亂碼解決方法有兩個:

修改tomcat配置文件添加編碼與工程編碼一致,如下:

<Connector?URIEncoding="utf-8"?connectionTimeout="20000"?port="8080"?protocol="HTTP/1.1"?redirectPort="8443"/>

?另外一種方法對參數進行重新編碼:

String?userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")

ISO8859-1是tomcat默認編碼,需要將tomcat編碼后的內容按utf-8編碼

?

Springmvcstruts2的區別

1、?springmvc的入口是一個servlet即前端控制器,而struts2入口是一個filter過慮器。

?

2、?springmvc是基于方法開發的,而struts2是基于類開發的

SpringmvcurlController方法進行映射。映射成功后springmvc生成一個Handler對象,對象中只有一個method。方法執行結束,形參數據銷毀。

3、?springmvc可以單例開發且建議單例

struts2接收參數是通過成員變量接收參數無法使用單例只能使用多例

4、?經過實際測試,struts2速度慢,在于使用struts標簽,而不是因為單例還是多例的問題。

如果使用struts建議使用jstl

5、?Struts2有漏洞springmvc目前還沒有漏洞出現

如果使用struts2,建議下載最新包

?

?

?

springMVC中幾個常用的注解

@RequestMapping(value="/item/param/{itemId}", produces=MediaType.TEXT_HTML_VALUE+";charset=utf-8")

Value:設置其你去路徑

Produce:設置響應編碼

{itemId}:表示請求過來的參數名字叫itemId

?

@ResponseBody

加在方法上,表示返回Json格式的數據

?

@PathVariable(value=itemId)?Long id

結合第一個注解來看,這里涉及到restful風格,若是id改成itemId,那么可以省略value=itemId,注解還是需要加上的

?

?@RequestParam(defaultValue="60")Long pageSize

若是形參名字和傳遞過來的參數名字相同,就可以簡單封裝了,不需要這個注解

若是不同,則會用到這個注解,里面有value屬性,可以接受參數并賦予自定義形參

defaultValue 是給默認值得

?

@RequestBody如果請求過來的參數是json數據,這個注解可以把json數據轉成pojo

?

參數里面還可以傳遞一個Model model對象

可一個通過model.addAttribute("item", item)往頁面傳值

?

還可以傳遞httprequesthttpresponse兩個對象

轉載于:https://www.cnblogs.com/MessiAndDream/p/5870342.html

總結

以上是生活随笔為你收集整理的项目总结SpringMVC相关的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。