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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

JavaWeb学习之路——SSM框架之SpringMVC(九)

發(fā)布時間:2024/9/30 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaWeb学习之路——SSM框架之SpringMVC(九) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SpringMVC跳轉(zhuǎn)、視圖解析器和@ResponseBody的用法

1.跳轉(zhuǎn)方式

(1)默認(rèn)方式字符串內(nèi)容來轉(zhuǎn)發(fā)

(2)設(shè)置返回值內(nèi)容轉(zhuǎn)發(fā)

? ? ? ? ?添加redirect:資源路徑·? 重定向

? ? ? ? ?添加forward:資源路徑?或省略? 轉(zhuǎn)發(fā)

??@RequestMapping("demo4")public String demo4() {System.out.println("轉(zhuǎn)發(fā)");return "redirect:/images/test.jsp";}

2.視圖解析器

(1)Spring會提供默認(rèn)視圖解析器

(2)自定義視圖解析器,在springmvc.xml中自己配置ViewResolver,下面表示在根目錄下的所有jsp文件可省略文件格式

?<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean>

這里的返回視圖不帶.jsp文件也能返回了

(3)如果希望不執(zhí)行自定義視圖解析器,可以在方法返回值前面添加forward:或redirect:

?????public String demo4() {System.out.println("轉(zhuǎn)發(fā)");return "forward:demo5";}@RequestMapping("demo5")public String demo5() {System.out.println("轉(zhuǎn)發(fā)2");return "main";}

?

3.@ResponseBody。它用來返回JSON數(shù)據(jù)或者是XML數(shù)據(jù),需要注意的呢,在使用此注解之后不會再走試圖處理器,而是直接將數(shù)據(jù)寫入到輸入流中,他的效果等同于通過response對象輸出指定格式的數(shù)據(jù)。

@RequestMapping("login")@ResponseBodypublic User login(User user){return user;}

  User字段:userName pwd

  那么在前臺接收到的數(shù)據(jù)為:'{"userName":"xxx","pwd":"xxx"}'

  效果等同于如下代碼: 

 @RequestMapping("login")public void login(User user, HttpServletResponse response){response.getWriter.write(JSONObject.fromObject(user).toString());}

?

(1)在方法上只有@RequestMapping時,無論方法返回值是什么,他都會返回到j(luò)sp界面

(2)在方法上添加@ResponseBody后

如果返回值滿足key-value形式(對象或map),把響應(yīng)頭設(shè)置為application/json;charset=utf-8,然后把轉(zhuǎn)換后的內(nèi)容輸出流的形式響應(yīng)給客戶端,不會返回到相應(yīng)視圖。若不滿足key-value,把響應(yīng)頭設(shè)置為text/html;charset=utf-8 ,produces表示content-type取值。????

?@RequestMapping(value="demo6",produces="application/json;charset=utf-8")@ResponseBodypublic Flower demo6() {Flower flower=new Flower();flower.setId(1);flower.setName("rose");return flower;}@RequestMapping("demo7")public String demo7() {Flower flower=demo6();System.out.println(flower.getName()+" "+flower.getId());return "main";}

測試結(jié)果:

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的JavaWeb学习之路——SSM框架之SpringMVC(九)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。