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

歡迎訪問 生活随笔!

生活随笔

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

javascript

SpringMVC响应的方式,无数据跳转页面,带数据跳转页面.Json数据返回

發布時間:2024/4/15 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC响应的方式,无数据跳转页面,带数据跳转页面.Json数据返回 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringMVC響應的方式,無數據跳轉頁面,帶數據跳轉頁面.Json數據返回

頁面跳轉設定

//轉發會把后端攜帶的request和Response發送到前端jsp,在jsp中可以直接使用其中的數據//重定向相當于頁面重新刷新,不能夠拿到后端給的request,Response

頁面跳轉之重定向與轉發

配置視圖解析器

在web.xml中配置視圖解析器

<!-- 配置視圖解析器,方便訪問jsp頁面,并交給spring管理--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 視圖解析前綴(訪問前綴)--><property name="prefix" value="/WEB-INF/pages/"/> <!-- 視圖解析后綴(訪問后綴)--><property name="suffix" value=".jsp"/></bean>

配置視圖解析器后controller中方法的返回

@RequestMapping("/forwardPages")public String test01(){//跳轉頁面,默認是轉發模式//轉發會把后端攜帶的request和Response發送到前端jsp,在jsp中可以直接使用其中的數據 // return "forward:/WEB-INF/pages/success.jsp";/*WEB-IF下的頁面必須轉發才能訪問,重定向訪問不到,因為我們在spring-mvc.xml中配置了視圖解析器,前綴,后綴都有*/return "success";}@RequestMapping("/redirectPages")public String test02(){//重定向到頁面//重定向相當于頁面重新刷新,不能夠拿到后端給的request,Response//配置了視圖解析器不能這樣寫了 // return "redirect:/WEB-INF/pages/success.jsp"; // return "redirect:/pages/success";return "";}@RequestMapping("success")public void test03(){//返回值為void的時候,他轉發的地址為/WEB-INF/response/pages/success.jsp//會自動幫你把請求的地址和視圖解析器拼接}

攜帶數據頁面跳轉

方式1:使用HttpServletRequest類型作為參數進行傳遞

@RequestMapping("/showPageAndData1") public String showPageAndData1(HttpServletRequest request) { request.setAttribute("name","小付"); return "page"; }

方式2:使用Model類型作為參數進行數據傳遞

//帶著數據跳轉頁面@RequestMapping("/data")public String test04(Model model){User user = new User();user.setName("小花");user.setAge(18);//傳遞參數在jsp頁面去(實際還是request域中)model.addAttribute("user",user);model.addAttribute("data","model");return "data";}

方式3:使用ModelAndView類型作為數據傳遞,將該對象作為返回值傳遞給調用者

//帶著數據跳轉頁面(推薦使用)@RequestMapping("/data/modelAndView")public ModelAndView test05(ModelAndView modelAndView){User user = new User();user.setName("小付");user.setAge(18);//傳遞參數在jsp頁面去(實際還是request域中)modelAndView.addObject("data","modelAndView");modelAndView.addObject("user",user);//設置跳轉的頁面modelAndView.setViewName("data");return modelAndView;}

SpringMVC返回數據

方式1:使用Response對象完成數據返回

@RequestMapping("/showData1") public void showData1(HttpServletResponse response) throws IOException { response.getWriter().print("message"); }

或者

@RequestMapping("/showData2") @ResponseBody public String showData2(){ return "message"; }

返回JSON數據

在pom中導入json相關坐標的3個包

<!--json相關坐標3--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.0</version></dependency></dependencies>

方式1:使用Response返回數據的簡化格式,返回JSON數據

@RequestMapping("/showData3") @ResponseBody public String showData3() throws JsonProcessingException { ObjectMapper om = new ObjectMapper(); Book book = new Book(); book.setName("我愛java"); book.setPrice(88.8d); return om.writeValueAsString(book); }

返回JSON數據(對象)

方式2:使用SpringMVC提供的消息類型轉換器將對象與集合數據自動類型轉換成JSON數據(同樣要導入json相關坐標的3個包)

//帶著Json數據跳轉頁面(推薦使用)@RequestMapping("/json")//這個注解代表return回去的是json字符串,加上這個注解,就不會提供頁面跳轉,只會響應數據@ResponseBodypublic User test06(){User user = new User();user.setName("小付");user.setAge(18);//@ResponseBody因為加了這個注解,和導入了json相關坐標的3個包,就會幫我們轉成json返回到頁面return user;}

返回JSON數據(集合)

//帶著Json數據跳轉頁面(推薦使用)@RequestMapping("/json/map")//這個注解代表return回去的是json字符串,加上這個注解,就不會提供頁面跳轉,只會響應數據@ResponseBodypublic Map<String,Object> test07(){User user = new User();user.setName("小付");user.setAge(18);User user2 = new User();user2.setName("小花");user2.setAge(18);Map<String, Object> map = new HashMap<>();map.put("xiaofu",user);map.put("xiaohua",user2);//@ResponseBody因為加了這個注解,和導入了json相關坐標的3個包,就會幫我們轉成json返回到頁面return map;}

Servlet相關接口

HttpServletRequest/HttpServletResponse/HttpSession

@RequestMapping("/servletApi") public String servletApi(HttpServletRequest request, HttpServletResponse response, HttpSession session){ System.out.println(request); System.out.println(response); System.out.println(session); request.setAttribute("name","小付"); System.out.println(request.getAttribute("name")); return "page.jsp"; }


總結

以上是生活随笔為你收集整理的SpringMVC响应的方式,无数据跳转页面,带数据跳转页面.Json数据返回的全部內容,希望文章能夠幫你解決所遇到的問題。

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