这里要主要的是js文件要引入,文中不做解释

  1.导入包

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <parent>
  4. <artifactId>SpringMVC</artifactId>
  5. <groupId>cn.happy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>SpringMVC05Return</artifactId>
  10. <packaging>war</packaging>
  11. <name>SpringMVC05Return Maven Webapp</name>
  12. <url>http://maven.apache.org</url>
  13. <properties>
  14. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  15. <!--spring对应的版本号-->
  16. <spring.version>4.2.1.RELEASE</spring.version>
  17. </properties>
  18. <dependencies>
  19. <dependency>
  20. <groupId>junit</groupId>
  21. <artifactId>junit</artifactId>
  22. <version>4.0</version>
  23. <scope>test</scope>
  24. </dependency>
  25. <!--引入需要的spring 核心jar-->
  26. <dependency>
  27. <groupId>org.springframework</groupId>
  28. <artifactId>spring-context</artifactId>
  29. <version>${spring.version}</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework</groupId>
  33. <artifactId>spring-core</artifactId>
  34. <version>${spring.version}</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-beans</artifactId>
  39. <version>${spring.version}</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>spring-expression</artifactId>
  44. <version>${spring.version}</version>
  45. </dependency>
  46. <dependency>
  47. <groupId>org.springframework</groupId>
  48. <artifactId>spring-webmvc</artifactId>
  49. <version>${spring.version}</version>
  50. </dependency>
  51. <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
  52. <dependency>
  53. <groupId>com.alibaba</groupId>
  54. <artifactId>fastjson</artifactId>
  55. <version>1.1.15</version>
  56. </dependency>
  57.  
  58. <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
  59. <dependency>
  60. <groupId>com.fasterxml.jackson.core</groupId>
  61. <artifactId>jackson-core</artifactId>
  62. <version>2.8.1</version>
  63. </dependency>
  64.  
  65. <dependency>
  66. <groupId>com.fasterxml.jackson.core</groupId>
  67. <artifactId>jackson-databind</artifactId>
  68. <version>2.5.1</version>
  69. </dependency>
  70. </dependencies>
  71. <build>
  72. <finalName>SpringMVC05Return</finalName>
  73. </build>
  74. </project>

  2.配置中央调度器(web.xml)

  1. <!DOCTYPE web-app PUBLIC
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app>
  5. <display-name>Archetype Created Web Application</display-name>
  6. <!--编码的过滤器-->
  7. <filter>
  8. <filter-name>CharactorEncoding</filter-name>
  9. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  10. <init-param>
  11. <param-name>encoding</param-name>
  12. <param-value>utf-8</param-value>
  13. </init-param>
  14. <init-param>
  15. <param-name>forceEncoding</param-name>
  16. <param-value>true</param-value>
  17. </init-param>
  18. </filter>
  19. <filter-mapping>
  20. <filter-name>CharactorEncoding</filter-name>
  21. <url-pattern>/*</url-pattern>
  22. </filter-mapping>
  23. <!--context-param-->
  24. <!--config a forward controller-->
  25. <servlet>
  26. <servlet-name>springmvc</servlet-name>
  27. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  28. <!--init-param-->
  29. <init-param>
  30. <param-name>contextConfigLocation</param-name>
  31. <param-value>classpath:spring-mvc.xml</param-value>
  32. </init-param>
  33. <!--load-on-startup-->
  34. <load-on-startup>1</load-on-startup>
  35. </servlet>
  36. <servlet-mapping>
  37. <servlet-name>springmvc</servlet-name>
  38. <!--/ it means we can intercept every request (contains and *.do and *.css and *.jpg)-->
  39. <url-pattern>/</url-pattern>
  40. </servlet-mapping>
  41. </web-app>

  3.配置映射器(spring-mvc.xml)

  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" xmlns:mvc="http://www.springframework.org/schema/mvc"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/mvc
          http://www.springframework.org/schema/mvc/spring-mvc.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context.xsd">
  7. <!--扫描包下的路径-->
  8. <context:component-scan base-package="cn.happy.controller"/>
  9. <!--根据注解来寻找路径-->
  10. <mvc:annotation-driven/>
  11. </beans>

  4.实体类

  1. public class UserInfo {
  2. private String name;
  3. private Integer age;
  4.  
  5. public String getName() {
  6. return name;
  7. }
  8. public void setName(String name) {
  9. this.name = name;
  10. }
  11. public Integer getAge() {
  12. return age;
  13. }
  14. public void setAge(Integer age) {
  15. this.age = age;
  16. }
  17. }

  5.1:视图页面index.jsp

  1. <%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false" %>
  2. <html>
  3. <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
  4. <script tpye="text/javascript">
  5. $(function () {
  6. $("[type=button]").click(function () {
  7. $.ajax({
  8. url: "/firstJson",        这个访问路径可以根据需求更换
  9. type: "post",
  10. success: function (data) {
  11. $.each(data, function (i, dom) {
  12. alert(dom.name);
  13. })
  14. }
  15. })
  16. })
  17. })
  18. </script>
  19. <body>
  20. <h2>Hello World!</h2>
  21. <input type="button" value="点我发送Ajax"/>
  22. </body>
  23. </html>

  5.2:视图页面list.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <h1>List</h1>
  8. </body>
  9. </html>

  5.3:视图页面login.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <form action="/second" method="post">
  8. 用户名:<input name="name"/>
  9. 年龄:<input name="age"/>
  10. <input type="submit" value="登录"/>
  11. </form>
  12. </body>
  13. </html>

  5.4视图页面welcome.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
  2. <html>
  3. <body>
  4. <h2>Hello World!</h2>
  5. <h1>欢迎${param.name},年龄:${param.age}</h1>
  6. </body>
  7. </html>

  6.处理器(一)

  1. import cn.happy.bean.UserInfo;
  2. import com.alibaba.fastjson.JSON;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.io.IOException;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. @Controller
  11. public class FirstController {
  12. @RequestMapping("/toJson")
  13. public void getJson(HttpServletRequest request,HttpServletResponse response) throws IOException {
  14. List<UserInfo> list=new ArrayList<UserInfo>();
  15. UserInfo u1=new UserInfo();
  16. u1.setName("微冷的雨");
  17. u1.setAge(18);
  18. UserInfo u2=new UserInfo();
  19. u2.setName("训练营");
  20. u2.setAge(28);
  21. list.add(u1);
  22. list.add(u2);
  23.  
  24. //泛型转json
  25. String data = JSON.toJSONString(list);
  26.  
  27. //我想将data打回浏览器
  28. response.getWriter().write(data);
  29. }

  30. }

  6.2处理器(二)

  1. import cn.happy.bean.UserInfo;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.ui.Model;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.ResponseBody;
  6. import java.util.ArrayList;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. @Controller
  11. public class JaksonController {
  12. //返回List集合
  13. @RequestMapping("/firstJson")
  14. @ResponseBody
  15. public Object doFirst() {
  16. List<UserInfo> list = new ArrayList<UserInfo>();
  17. UserInfo u1 = new UserInfo();
  18. u1.setName("微冷的雨");
  19. u1.setAge(18);
  20. UserInfo u2 = new UserInfo();
  21. u2.setName("训练营");
  22. u2.setAge(28);
  23. list.add(u1);
  24. list.add(u2);
  25. return list;
  26. }
  1. //返回整型
  2. @RequestMapping("/secondJson")
  3. @ResponseBody
  4. public Object doSecond() {
  5. return 1;
  6. }
  1. //返回数字型字符串
  2. @RequestMapping("/thirdJson")
  3. @ResponseBody
  4. public Object doThird() {
  5. return "1";
  6. }
  1. //返回对象
  2. @RequestMapping("/fourJson")
  3. @ResponseBody
  4. public Object doFour() {
  5. UserInfo u1 = new UserInfo();
  6. u1.setName("微冷的雨");
  7. u1.setAge(19);
  8. return u1;
  9. }
  1. @RequestMapping("/fiveJson")
  2. @ResponseBody
  3. public Object doFive() {
  4. Map<String, Integer> map = new HashMap<String, Integer>();
  5. map.put("1", 12);
  6. map.put("2", 23);
  7. Map<String, UserInfo> map1 = new HashMap<String, UserInfo>();
  8. UserInfo u1 = new UserInfo();
  9. u1.setName("微冷的雨");
  10. u1.setAge(32);
  11. UserInfo u2 = new UserInfo();
  12. u2.setName("训练营");
  13. u2.setAge(34);
  14. map1.put(u1.getName(), u1);
  15. map1.put(u2.getName(), u2);
  16. return map1;
  17. }
  1. @RequestMapping("/six")
  2. public String doSix(Model model) {
  3. model.addAttribute("msg", "微冷的雨");
  4. //转发到页面(默认值)
  5. return "/index.jsp";
  6. }
  7.  
  1. //转换到另外一个控制器方法①
  2. @RequestMapping("/seven")
  3. public String doSeven(Model model) {
  4. model.addAttribute("msg", "微冷的雨");
  5. return "forward:targetMethod";
  6. }
  1. //转发到页面②
  2. @RequestMapping("/targetMethod")
  3. public String doEight(Model model) {
  4. System.out.println("=============");
  5. return "/list.jsp";
  6. }
  1. //重定向
    @RequestMapping("/second")
    public String doSecond(Model model, UserInfo info) {
    model.addAttribute("name", info.getName());
    model.addAttribute("age", info.getAge());
    return "redirect:/welcome.jsp";
    }

  1. }

SpringMVC05 return (Json)的更多相关文章

  1. .net backend return json string , used by frontend

    伪代码: backend: public string GetJson() { var lst = xxxLst; var obj = Json(lst);return new JavaScriptS ...

  2. config .net webapi to return json.

    1.add content negotiator using System; using System.Collections.Generic; using System.Linq; using Sy ...

  3. return Json对象时序列化错误

    当要序列化的表与另一个表是一对多的关系是,表1序列化时会找到另一个表2关联的字段,会将另一个表2进行序列化,然后表2中也有一个字段与表1关联,这样序列化就会产生循环序列化. 在网上进行搜索,其中大多数 ...

  4. How do I get ASP.NET Web API to return JSON instead of XML using Chrome

    public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Ro ...

  5. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  6. .Net深入实战系列—JSON序列化那点事儿

    序 当前主流的序列化JSON字符串主要有两种方式:JavaScriptSerializer及Json.net(Nuget标识:Newtonsoft.Json).JavaScriptSerializer ...

  7. C#提供APP接口之JSON差异

    C#在给APP提供接口,现在返回的数据大部分分为三类:JSON.XML.BTYE. 今天简单说下C#给APP提供接口返回JSON的一些异同: 1.通过Newtonsoft.Json.JsonConve ...

  8. 将Json数据保存在静态脚本文件中读取

    一些常用的数据例如一些网站的区域信息被改变的可能性不大,一般不通过请求获取,于是我们选择存在静态文件中,例如以下Demo: 1.动态加载Json数据显示到前台 [HttpPost] public Ac ...

  9. Java中json的构造和解析

    什么是 Json? JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式.  易于人阅读和编写.同时也易于机 ...

随机推荐

  1. Flask12 数据库连接、创建数据库用户、注册模块

    1 连接数据库 1.1 安装 flask-sqlalchemy flask-sqlalchemy 会让 sqlalchemy 使用起来更加方便 pip3 install flask-sqlalchem ...

  2. 树莓派 Learning 002 必备的操作 --- 08 实现PC端 远程登入 树莓派 --- 法1 远程登入树莓派的命令行状态

    树莓派 必备的操作 - 实现PC端 远程登入 树莓派 - 法1 远程登入树莓派的命令行状态 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 ...

  3. AT指令集

    通用指令 at+cala   设置警报日期和时间 at+cgmi  厂家认证请求,返回模块厂家信 at+cgmm 模式认证请求,返回模块使用频段 at+cgmr 修正认证请求,返回软件版本 at+cg ...

  4. ArrayList反转

    Collections.reverse(arrayList); 下面看例子: import java.util.ArrayList;import java.util.Collections; publ ...

  5. redis系列:通过通讯录案例学习hash命令

    前言 这一篇文章将讲述Redis中的hash类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/learn ...

  6. PLSQL Developer 直接用ip访问指定数据库

  7. 对 React Context 的理解以及应用

    在React的官方文档中,Context被归类为高级部分(Advanced),属于React的高级API,但官方并不建议在稳定版的App中使用Context. 很多优秀的React组件都通过Conte ...

  8. Python-OpenCV中的图像模糊

    目录 1. 高斯模糊:cv2.GaussianBlur()   主要记录Python-OpenCV中的图像模糊操作: 1. 高斯模糊:cv2.GaussianBlur() def GaussianBl ...

  9. ASP.NET对象

    ASP.NET有五个基本的常用对象 一张图胜过前言万语 ASP.NET对象重头戏 对象名    解释 属性 方法 例子 Request 获取客户端数据信息 1.UserAgent:用来获取客户端浏览器 ...

  10. dbms_xplan的display查看执行计划

    DBMS_XPLAN包包括一系列函数,主要是用于显示SQL语句的执行计划,且不同的情形下使用不同的函数来显示,如预估的执行计划则使用 display函数,而实际的执行计划则是用display_curs ...