SpringMVC05 return (Json)
这里要主要的是js文件要引入,文中不做解释
1.导入包
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <artifactId>SpringMVC</artifactId>
- <groupId>cn.happy</groupId>
- <version>1.0-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>SpringMVC05Return</artifactId>
- <packaging>war</packaging>
- <name>SpringMVC05Return Maven Webapp</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <!--spring对应的版本号-->
- <spring.version>4.2.1.RELEASE</spring.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.0</version>
- <scope>test</scope>
- </dependency>
- <!--引入需要的spring 核心jar-->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-expression</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.1.15</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>2.8.1</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.5.1</version>
- </dependency>
- </dependencies>
- <build>
- <finalName>SpringMVC05Return</finalName>
- </build>
- </project>
2.配置中央调度器(web.xml)
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
- <web-app>
- <display-name>Archetype Created Web Application</display-name>
- <!--编码的过滤器-->
- <filter>
- <filter-name>CharactorEncoding</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>
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>CharactorEncoding</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!--context-param-->
- <!--config a forward controller-->
- <servlet>
- <servlet-name>springmvc</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <!--init-param-->
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:spring-mvc.xml</param-value>
- </init-param>
- <!--load-on-startup-->
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springmvc</servlet-name>
- <!--/ it means we can intercept every request (contains and *.do and *.css and *.jpg)-->
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- </web-app>
3.配置映射器(spring-mvc.xml)
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- 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">- <!--扫描包下的路径-->
- <context:component-scan base-package="cn.happy.controller"/>
- <!--根据注解来寻找路径-->
- <mvc:annotation-driven/>
- </beans>
4.实体类
- public class UserInfo {
- private String name;
- private Integer age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- }
5.1:视图页面index.jsp
- <%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false" %>
- <html>
- <script type="text/javascript" src="js/jQuery1.11.1.js"></script>
- <script tpye="text/javascript">
- $(function () {
- $("[type=button]").click(function () {
- $.ajax({
- url: "/firstJson", 这个访问路径可以根据需求更换
- type: "post",
- success: function (data) {
- $.each(data, function (i, dom) {
- alert(dom.name);
- })
- }
- })
- })
- })
- </script>
- <body>
- <h2>Hello World!</h2>
- <input type="button" value="点我发送Ajax"/>
- </body>
- </html>
5.2:视图页面list.jsp
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Title</title>
- </head>
- <body>
- <h1>List</h1>
- </body>
- </html>
5.3:视图页面login.jsp
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Title</title>
- </head>
- <body>
- <form action="/second" method="post">
- 用户名:<input name="name"/>
- 年龄:<input name="age"/>
- <input type="submit" value="登录"/>
- </form>
- </body>
- </html>
5.4视图页面welcome.jsp
- <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
- <html>
- <body>
- <h2>Hello World!</h2>
- <h1>欢迎${param.name},年龄:${param.age}</h1>
- </body>
- </html>
6.处理器(一)
- import cn.happy.bean.UserInfo;
- import com.alibaba.fastjson.JSON;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- @Controller
- public class FirstController {
- @RequestMapping("/toJson")
- public void getJson(HttpServletRequest request,HttpServletResponse response) throws IOException {
- List<UserInfo> list=new ArrayList<UserInfo>();
- UserInfo u1=new UserInfo();
- u1.setName("微冷的雨");
- u1.setAge(18);
- UserInfo u2=new UserInfo();
- u2.setName("训练营");
- u2.setAge(28);
- list.add(u1);
- list.add(u2);
- //泛型转json
- String data = JSON.toJSONString(list);
- //我想将data打回浏览器
- response.getWriter().write(data);
- }
- }
6.2处理器(二)
- import cn.happy.bean.UserInfo;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Controller
- public class JaksonController {
- //返回List集合
- @RequestMapping("/firstJson")
- @ResponseBody
- public Object doFirst() {
- List<UserInfo> list = new ArrayList<UserInfo>();
- UserInfo u1 = new UserInfo();
- u1.setName("微冷的雨");
- u1.setAge(18);
- UserInfo u2 = new UserInfo();
- u2.setName("训练营");
- u2.setAge(28);
- list.add(u1);
- list.add(u2);
- return list;
- }
- //返回整型
- @RequestMapping("/secondJson")
- @ResponseBody
- public Object doSecond() {
- return 1;
- }
- //返回数字型字符串
- @RequestMapping("/thirdJson")
- @ResponseBody
- public Object doThird() {
- return "1";
- }
- //返回对象
- @RequestMapping("/fourJson")
- @ResponseBody
- public Object doFour() {
- UserInfo u1 = new UserInfo();
- u1.setName("微冷的雨");
- u1.setAge(19);
- return u1;
- }
- @RequestMapping("/fiveJson")
- @ResponseBody
- public Object doFive() {
- Map<String, Integer> map = new HashMap<String, Integer>();
- map.put("1", 12);
- map.put("2", 23);
- Map<String, UserInfo> map1 = new HashMap<String, UserInfo>();
- UserInfo u1 = new UserInfo();
- u1.setName("微冷的雨");
- u1.setAge(32);
- UserInfo u2 = new UserInfo();
- u2.setName("训练营");
- u2.setAge(34);
- map1.put(u1.getName(), u1);
- map1.put(u2.getName(), u2);
- return map1;
- }
- @RequestMapping("/six")
- public String doSix(Model model) {
- model.addAttribute("msg", "微冷的雨");
- //转发到页面(默认值)
- return "/index.jsp";
- }
- //转换到另外一个控制器方法①
- @RequestMapping("/seven")
- public String doSeven(Model model) {
- model.addAttribute("msg", "微冷的雨");
- return "forward:targetMethod";
- }
- //转发到页面②
- @RequestMapping("/targetMethod")
- public String doEight(Model model) {
- System.out.println("=============");
- return "/list.jsp";
- }
- //重定向
@RequestMapping("/second")
public String doSecond(Model model, UserInfo info) {
model.addAttribute("name", info.getName());
model.addAttribute("age", info.getAge());
return "redirect:/welcome.jsp";
}

- }
SpringMVC05 return (Json)的更多相关文章
- .net backend return json string , used by frontend
伪代码: backend: public string GetJson() { var lst = xxxLst; var obj = Json(lst);return new JavaScriptS ...
- config .net webapi to return json.
1.add content negotiator using System; using System.Collections.Generic; using System.Linq; using Sy ...
- return Json对象时序列化错误
当要序列化的表与另一个表是一对多的关系是,表1序列化时会找到另一个表2关联的字段,会将另一个表2进行序列化,然后表2中也有一个字段与表1关联,这样序列化就会产生循环序列化. 在网上进行搜索,其中大多数 ...
- 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 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- .Net深入实战系列—JSON序列化那点事儿
序 当前主流的序列化JSON字符串主要有两种方式:JavaScriptSerializer及Json.net(Nuget标识:Newtonsoft.Json).JavaScriptSerializer ...
- C#提供APP接口之JSON差异
C#在给APP提供接口,现在返回的数据大部分分为三类:JSON.XML.BTYE. 今天简单说下C#给APP提供接口返回JSON的一些异同: 1.通过Newtonsoft.Json.JsonConve ...
- 将Json数据保存在静态脚本文件中读取
一些常用的数据例如一些网站的区域信息被改变的可能性不大,一般不通过请求获取,于是我们选择存在静态文件中,例如以下Demo: 1.动态加载Json数据显示到前台 [HttpPost] public Ac ...
- Java中json的构造和解析
什么是 Json? JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机 ...
随机推荐
- Flask12 数据库连接、创建数据库用户、注册模块
1 连接数据库 1.1 安装 flask-sqlalchemy flask-sqlalchemy 会让 sqlalchemy 使用起来更加方便 pip3 install flask-sqlalchem ...
- 树莓派 Learning 002 必备的操作 --- 08 实现PC端 远程登入 树莓派 --- 法1 远程登入树莓派的命令行状态
树莓派 必备的操作 - 实现PC端 远程登入 树莓派 - 法1 远程登入树莓派的命令行状态 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 ...
- AT指令集
通用指令 at+cala 设置警报日期和时间 at+cgmi 厂家认证请求,返回模块厂家信 at+cgmm 模式认证请求,返回模块使用频段 at+cgmr 修正认证请求,返回软件版本 at+cg ...
- ArrayList反转
Collections.reverse(arrayList); 下面看例子: import java.util.ArrayList;import java.util.Collections; publ ...
- redis系列:通过通讯录案例学习hash命令
前言 这一篇文章将讲述Redis中的hash类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/learn ...
- PLSQL Developer 直接用ip访问指定数据库
- 对 React Context 的理解以及应用
在React的官方文档中,Context被归类为高级部分(Advanced),属于React的高级API,但官方并不建议在稳定版的App中使用Context. 很多优秀的React组件都通过Conte ...
- Python-OpenCV中的图像模糊
目录 1. 高斯模糊:cv2.GaussianBlur() 主要记录Python-OpenCV中的图像模糊操作: 1. 高斯模糊:cv2.GaussianBlur() def GaussianBl ...
- ASP.NET对象
ASP.NET有五个基本的常用对象 一张图胜过前言万语 ASP.NET对象重头戏 对象名 解释 属性 方法 例子 Request 获取客户端数据信息 1.UserAgent:用来获取客户端浏览器 ...
- dbms_xplan的display查看执行计划
DBMS_XPLAN包包括一系列函数,主要是用于显示SQL语句的执行计划,且不同的情形下使用不同的函数来显示,如预估的执行计划则使用 display函数,而实际的执行计划则是用display_curs ...