————吾亦无他,唯手熟尔,谦卑若愚,好学若饥————-
今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类:
1.返回值为Object数值(例如1),2.返回值为Object的String类型(例如"我是不是中文呢"),3.返回值为Object的对象类型(例如自定义UserInfo类型对象**),4.返回值为Object的集合类型(例如UserInfo的List集合)**
需要一个核心:mvc:annotation-driven</mvc:annotation-driven>配置文件中的注解驱动这个节点
和jar包,jackson的
1
2
3
4
5
6
7
8
9
10
11
12 1 <dependency>
2 <groupId>com.fasterxml.jackson.core</groupId>
3 <artifactId>jackson-core</artifactId>
4 <version>2.8.1</version>
5 </dependency>
6
7 <dependency>
8 <groupId>com.fasterxml.jackson.core</groupId>
9 <artifactId>jackson-databind</artifactId>
10 <version>2.5.1</version>
11 </dependency>
12
so:开始案例,(在一案例中使用到的代码,就不在二,三,四案例里重复展示,以此类推,只会在里面简单提一下)
一,****返回值为Object数值****
1.首先准备一个处理器,里面加入案例一的处理方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 1package cn.dawn.day12return;
2
3import org.springframework.stereotype.Controller;
4import org.springframework.web.bind.annotation.RequestBody;
5import org.springframework.web.bind.annotation.RequestMapping;
6import org.springframework.web.bind.annotation.ResponseBody;
7
8import java.util.ArrayList;
9import java.util.List;
10
11/**
12 * Created by Dawn on 2018/3/28.
13 */
14@Controller
15public class ReturnObjectController {
16
17 /*返回值object数值型*/
18 @RequestMapping("/returnobjint")
19 @ResponseBody
20 public Object returnobjint(){
21 return 1;
22 }
23
24}
25
2.需要一个xml配置文件:(与以往不同的是,需要配置注解驱动)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 1<?xml version="1.0" encoding="UTF-8"?>
2<beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:mvc="http://www.springframework.org/schema/mvc"
5 xmlns:context="http://www.springframework.org/schema/context"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans
7 http://www.springframework.org/schema/beans/spring-beans.xsd
8 http://www.springframework.org/schema/mvc
9 http://www.springframework.org/schema/mvc/spring-mvc.xsd
10 http://www.springframework.org/schema/context
11 http://www.springframework.org/schema/context/spring-context.xsd">
12
13 <!--包扫描器-->
14 <context:component-scan base-package="cn.dawn.day12return"></context:component-scan>
15 <!--视图解析器-->
16 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
17 <property name="prefix" value="/"></property>
18 <property name="suffix" value=".jsp"></property>
19 </bean>
20
21
22 <!--注解驱动-->
23 <mvc:annotation-driven></mvc:annotation-driven>
24
25</beans>
26
3.web.xml中将中央调度器调度到上面的那个xml,就不给源码了
4.去通过网页url访问,就ok了
二,返回值为Object的String类型
1.处理方法:
1
2
3
4
5
6
7 1 /*返回值object的String型*/
2 @RequestMapping(value = "/returnobjstr",produces = "text/html;charset=UTF-8")
3 @ResponseBody
4 public Object returnobjstr(){
5 return "我是不是中文呢?";
6 }
7
此出指定了返回页面的编码,utf-8,如果不返回会乱码
2.自己的配置xml,web.xml用上面的那个,因为处理方法,就在上面的一个处理器类中
3.通过url访问
三,返回值为Object的对象类型
1.定义一个 UserInfo实体类;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 1package cn.dawn.day12return;
2
3/**
4 * Created by Dawn on 2018/3/26.
5 */
6public class UserInfo {
7 private String username;
8 private String password;
9
10 public UserInfo() {
11 }
12
13 public UserInfo(String username, String password) {
14 this.username = username;
15 this.password = password;
16 }
17
18 public String getUsername() {
19 return username;
20 }
21
22 public void setUsername(String username) {
23 this.username = username;
24 }
25
26 public String getPassword() {
27 return password;
28 }
29
30 public void setPassword(String password) {
31 this.password = password;
32 }
33}
34
2.定义处理器方法
1
2
3
4
5
6
7
8 1 /*返回值object对象User型*/
2 @RequestMapping(value = "/returnobjUser")
3 @ResponseBody
4 public Object returnobjUser(){
5 UserInfo u1=new UserInfo("孟六","123");
6 return u1;
7 }
8
3.自定配置xml文件,web.xml和上面一样
4.通过网页url访问
四,返回值为Object的集合类型
1.UserInfo用上面那个就好:
2.定义处理方法:
1
2
3
4
5
6
7
8
9
10
11
12
13 1 /*返回值object对象User的集合型*/
2 @RequestMapping(value = "/returnobjUserList")
3 @ResponseBody
4 public Object returnobjUserList(){
5 List<UserInfo> lists=new ArrayList<UserInfo>();
6 UserInfo u1=new UserInfo("孟六","123");
7 UserInfo u2=new UserInfo("孟七","123");
8
9 lists.add(u1);
10 lists.add(u2);
11 return lists;
12 }
13
3.自定配置xml文件,web.xml和上面一样****
4.定义一个jsp页面,我在里面写了ajax,并对返回的那个List<UserInfo>对象做了解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 1<%@ page language="java" pageEncoding="utf-8" isELIgnored="false" %>
2<html>
3<head>
4 <title>Ajax</title>
5 <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.min.js"></script>
6 <script type="text/javascript">
7
8 $(function () {
9
10 $("input").on("click",function () {
11 $.ajax({
12 url:"${pageContext.request.contextPath}/returnobjUserList",
13 success:function (date) {
14 alert(typeof date);
15 $.each(date,function (i, item) {
16 alert(item.username);
17 })
18 }
19 });
20 });
21 });
22
23 </script>
24</head>
25
26<body>
27<%--<img src="image/1.jpg">--%>
28<input type="button" value="我在一个没有窗户的小黑屋,住着六个人,一个人通宵写代码,慰藉我的孤独内心"/>
29</body>
30</html>
31
5.启动tomcat,访问jsp,点击使用