日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring mvc如何實(shí)現(xiàn)數(shù)據(jù)處理

瀏覽:23日期:2023-09-15 16:11:30

處理提交數(shù)據(jù)

1、提交的域名稱(chēng)和處理方法的參數(shù)名一致

提交數(shù)據(jù) : http://localhost:8080/hello?name=xiaohua

處理方法 :

@RequestMapping('/hello')public String hello(String name){ System.out.println(name); return 'hello';}

后臺(tái)輸出 : xiaohua

2、提交的域名稱(chēng)和處理方法的參數(shù)名不一致

提交數(shù)據(jù) : http://localhost:8080/hello?username=xiaohua

處理方法 :

//@RequestParam('username') : username提交的域的名稱(chēng) .@RequestMapping('/hello')public String hello(@RequestParam('username') String name){ System.out.println(name); return 'hello';}

后臺(tái)輸出 : xiaohua

3、提交的是一個(gè)對(duì)象

要求提交的表單域和對(duì)象的屬性名一致 , 參數(shù)使用對(duì)象即可

實(shí)體類(lèi)

public class User { private int id; private String name; private int age; //構(gòu)造 //get/set //tostring()}

提交數(shù)據(jù) : http://localhost:8080/mvc04/user?name=xiaohua&id=1&age=15

處理方法 :

@RequestMapping('/user')public String user(User user){ System.out.println(user); return 'hello';}

后臺(tái)輸出 : User { id=1, name=’xiaohua’, age=15 }

說(shuō)明:如果使用對(duì)象的話,前端傳遞的參數(shù)名和對(duì)象名必須一致,否則就是null。

數(shù)據(jù)顯示到前端

第一種 : 通過(guò)ModelAndView

我們前面一直都是如此 . 就不過(guò)多解釋

public class ControllerTest1 implements Controller { public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { //返回一個(gè)模型視圖對(duì)象 ModelAndView mv = new ModelAndView(); mv.addObject('msg','ControllerTest1'); mv.setViewName('test'); return mv; }}

第二種 : 通過(guò)ModelMap

ModelMap

@RequestMapping('/hello')public String hello(@RequestParam('username') String name, ModelMap model){ //封裝要顯示到視圖中的數(shù)據(jù) //相當(dāng)于req.setAttribute('name',name); model.addAttribute('name',name); System.out.println(name); return 'hello';}

第三種 : 通過(guò)Model

Model

@RequestMapping('/ct2/hello')public String hello(@RequestParam('username') String name, Model model){ //封裝要顯示到視圖中的數(shù)據(jù) //相當(dāng)于req.setAttribute('name',name); model.addAttribute('msg',name); System.out.println(name); return 'test';}

對(duì)比

Model 只有寥寥幾個(gè)方法只適合用于儲(chǔ)存數(shù)據(jù),簡(jiǎn)化了對(duì)于Model對(duì)象的操作和理解; ModelMap 繼承了 LinkedMap ,除了實(shí)現(xiàn)了自身的一些方法,同樣的繼承 LinkedMap 的方法和特性; ModelAndView 可以在儲(chǔ)存數(shù)據(jù)的同時(shí),可以進(jìn)行設(shè)置返回的邏輯視圖,進(jìn)行控制展示層的跳轉(zhuǎn)。

亂碼問(wèn)題

SpringMVC給我們提供了一個(gè)過(guò)濾器 , 可以在web.xml中配置 .

修改了xml文件需要重啟服務(wù)器!

<filter> <filter-name>encoding</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>encoding</filter-name> <url-pattern>/</url-pattern></filter-mapping>

有些極端情況下.這個(gè)過(guò)濾器對(duì)get的支持不好 .

處理方法 :

修改tomcat配置文件 : 設(shè)置編碼!

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

自定義過(guò)濾器

package com.xiaohua.filter;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.Map;/** * 解決get和post請(qǐng)求 全部亂碼的過(guò)濾器 */public class GenericEncodingFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //處理response的字符編碼 HttpServletResponse myResponse=(HttpServletResponse) response; myResponse.setContentType('text/html;charset=UTF-8'); // 轉(zhuǎn)型為與協(xié)議相關(guān)對(duì)象 HttpServletRequest httpServletRequest = (HttpServletRequest) request; // 對(duì)request包裝增強(qiáng) HttpServletRequest myrequest = new MyRequest(httpServletRequest); chain.doFilter(myrequest, response); } @Override public void init(FilterConfig filterConfig) throws ServletException { }}//自定義request對(duì)象,HttpServletRequest的包裝類(lèi)class MyRequest extends HttpServletRequestWrapper { private HttpServletRequest request; //是否編碼的標(biāo)記 private boolean hasEncode; //定義一個(gè)可以傳入HttpServletRequest對(duì)象的構(gòu)造函數(shù),以便對(duì)其進(jìn)行裝飾 public MyRequest(HttpServletRequest request) { super(request);// super必須寫(xiě) this.request = request; } // 對(duì)需要增強(qiáng)方法 進(jìn)行覆蓋 @Override public Map getParameterMap() { // 先獲得請(qǐng)求方式 String method = request.getMethod(); if (method.equalsIgnoreCase('post')) { // post請(qǐng)求 try {// 處理post亂碼request.setCharacterEncoding('utf-8');return request.getParameterMap(); } catch (UnsupportedEncodingException e) {e.printStackTrace(); } } else if (method.equalsIgnoreCase('get')) { // get請(qǐng)求 Map<String, String[]> parameterMap = request.getParameterMap(); if (!hasEncode) { // 確保get手動(dòng)編碼邏輯只運(yùn)行一次for (String parameterName : parameterMap.keySet()) { String[] values = parameterMap.get(parameterName); if (values != null) { for (int i = 0; i < values.length; i++) { try {// 處理get亂碼values[i] = new String(values[i] .getBytes('ISO-8859-1'), 'utf-8'); } catch (UnsupportedEncodingException e) {e.printStackTrace(); } } }}hasEncode = true; } return parameterMap; } return super.getParameterMap(); } //取一個(gè)值 @Override public String getParameter(String name) { Map<String, String[]> parameterMap = getParameterMap(); String[] values = parameterMap.get(name); if (values == null) { return null; } return values[0]; // 取回參數(shù)的第一個(gè)值 } //取所有值 @Override public String[] getParameterValues(String name) { Map<String, String[]> parameterMap = getParameterMap(); String[] values = parameterMap.get(name); return values; }}

然后在web.xml中配置這個(gè)過(guò)濾器即可!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
石原莉奈在线亚洲三区| 久久精品国产99国产精品| 秋霞国产精品| 日韩电影免费在线观看| 91亚洲国产| 蜜桃av在线播放| 在线人成日本视频| 日韩在线精品| 免费黄色成人| 最新亚洲一区| 爽爽淫人综合网网站| 亚洲天堂av资源在线观看| 亚洲欧洲日韩| 亚洲精品成a人ⅴ香蕉片| 亚洲精品伊人| 国产精品羞羞答答在线观看| 国产精品密蕾丝视频下载| 欧美激情视频一区二区三区免费| 国产精品久久久亚洲一区| 国产精品chinese| 久久只有精品| 精品丝袜在线| 免费人成在线不卡| 国产丝袜一区| 精品国产乱码久久久| 久久精品国内一区二区三区水蜜桃| 亚洲v在线看| 亚洲精品视频一二三区| 国产精品丝袜在线播放| 色一区二区三区四区| 欧美va亚洲va日韩∨a综合色| 亚洲一区黄色| 日本aⅴ精品一区二区三区| 久久av影视| 久久一级电影| 日韩国产精品久久久久久亚洲| 麻豆91精品91久久久的内涵| 日本美女一区| 亚洲久草在线| 久久毛片亚洲| 免费在线观看一区二区三区| 国产精品高清一区二区| 精精国产xxxx视频在线播放| 日韩中文欧美在线| 精品国产一区二区三区av片| 欧美日韩视频一区二区三区| 青草国产精品久久久久久| 国产传媒在线观看| 丝瓜av网站精品一区二区| 久久免费精品| 日韩中文欧美在线| 国产suv精品一区二区四区视频| 亚洲一级网站| 国产伦理一区| 亚洲调教视频在线观看| 日韩国产一二三区| 国产综合色区在线观看| 亚洲一区二区三区四区电影| 美女av一区| 久久xxxx精品视频| 精品亚洲二区| 亚洲免费影院| 成人国产精选| 亚洲精品亚洲人成在线观看| 成年男女免费视频网站不卡| 蜜桃视频免费观看一区| jizzjizz中国精品麻豆| 午夜久久av | 丝袜美腿亚洲色图| 国产一区二区三区成人欧美日韩在线观看| 亚洲成人一区| 久久99蜜桃| 在线视频亚洲欧美中文| 亚洲精品成人图区| 日韩成人一级| 99国产精品视频免费观看一公开 | 亚洲神马久久| 欧美黄色一区二区| 亚洲丝袜啪啪| 中文字幕成在线观看| 香蕉久久一区| 女人天堂亚洲aⅴ在线观看| 精品国产三区在线| 日韩视频1区| 亚洲一区日本| 久久精品国产大片免费观看| 久久99高清| 69堂免费精品视频在线播放| 国产视频一区在线观看一区免费| 天堂av在线| 美女视频黄久久| 97se亚洲| 婷婷精品在线| 视频一区视频二区中文| 婷婷激情一区| 激情不卡一区二区三区视频在线| 青草国产精品| 亚洲午夜久久| 久久亚洲二区| 婷婷亚洲五月色综合| 成人小电影网站| 国产一区丝袜| 牛牛精品成人免费视频| 91九色综合| 亚洲精品一级二级三级| 久久国产精品久久w女人spa| 成人看片网站| 日韩黄色大片网站| 国产一区二区三区视频在线| 国产亚洲一区二区三区啪| 日韩一区二区三区高清在线观看| 免费观看在线综合| 国产一级一区二区| 欧美日韩精品免费观看视频完整| 日韩一区二区三区免费播放| 国产一区二区三区黄网站| 精品日本视频| 国产一区二区三区不卡视频网站 | 国产精品手机在线播放| 国产欧美日韩一级| 欧美欧美黄在线二区| 免费观看在线综合色| 蜜桃av一区| 亚洲综合色婷婷在线观看| 西西人体一区二区| 男人的天堂亚洲一区| 在线精品亚洲| 综合激情网站| 日韩一区二区三区在线看| 日韩一二三区在线观看| 久久精品99国产精品| 国产欧美三级| 麻豆国产精品| 成人国产精品久久| 日韩欧美看国产| 国户精品久久久久久久久久久不卡| 日韩免费视频| 欧美日韩一二三四| 好吊日精品视频| 日韩精品一二区| 国产亚洲精品美女久久| 精品一区91| 天堂网av成人| 首页国产欧美久久| 欧美精品国产一区| 国产成人免费av一区二区午夜| 国产成人在线中文字幕| 91精品一区二区三区综合| 伊人久久亚洲影院| 在线观看一区| 欧美激情 亚洲a∨综合| 亚洲免费福利| 免费观看久久久4p| 欧美精品1区| 色天使综合视频| 91久久中文| 日韩精品免费观看视频| 精品国产不卡| 91精品1区| 日韩精品成人| 国产一区二区久久久久| 亚洲黄页一区| 国产欧美精品久久| 日韩大片在线观看| 蜜桃一区二区三区在线| 久久精品免费看| 久久九九电影| 奇米亚洲欧美| av高清一区| 中文字幕成人| 成人在线免费观看网站| 午夜日本精品| 国产精品亚洲欧美一级在线| 91精品一区二区三区综合| 日本一区福利在线| 日韩大片在线播放| 天堂俺去俺来也www久久婷婷| 久久精品国产在热久久| aa亚洲婷婷| 欧美国产另类| 亚洲激精日韩激精欧美精品| 亚洲三级网址| 大香伊人久久精品一区二区| 亚洲欧美日韩综合国产aⅴ| 久久69成人| 中文一区一区三区免费在线观 | 国产白浆在线免费观看| 免费在线视频一区| 国产精品二区不卡| 99热精品在线| 精品欧美视频| 日本亚州欧洲精品不卡| 亚洲1234区| 日韩高清一区二区| 99tv成人| 国产精品一区二区中文字幕| 欧美日韩国产亚洲一区| 精品国产乱码久久久久久樱花| 热久久久久久久| 神马日本精品|