博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC数据交换
阅读量:6913 次
发布时间:2019-06-27

本文共 4563 字,大约阅读时间需要 15 分钟。

前台JSP页面:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>submit
View Code

Controller源码:

 

package com.spring;import java.io.PrintWriter;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import com.model.User;@ControllerAdvice@RequestMapping("/spring")public class TestControllers{          // 无返回值的Controller结合ajax实现局部刷新,有返回值的Controller实现页面的跳转与数据的响应                  /*       * 将返回值已Object的形式输出到当前页面       * PrintWriter 输出对象       *        */            /*        @RequestMapping("/mvc")        public void showPerson(PrintWriter printWriter, @RequestBody String param)         {                System.out.println(param);            // 写入Response的Body体                String st ="{\"name\":\"zhangsna\",\"name1\":\"zhangsna\"}";            Map map = JSONObject.fromObject(st);            System.out.println(map);            printWriter.println(map);        }        */                /*         * POJO(JavaBean)  接收前台传递的key/value,         * @ResponseBody 将User对象输出至Response的Body中         */                /*          @RequestMapping("/mvc")          public  @ResponseBody User showPerson(User user)          {             System.out.println(user);                     return user;          }         */                /*         *  接收前台传递的Json字符串,         *  @ResponseBody 将User对象输出至Response的Body中         */        /*@RequestMapping("/mvc")        @ResponseBody        public Map showPerson( @RequestBody String params)        {            @SuppressWarnings("unchecked")            Map
map = JSONObject.fromObject(params); System.out.println(map); return map; }*/ /* * ModelAndView 视图(view)和模型(数据) * Model 内置的一个数据对象 * */ @RequestMapping("/demo1") public ModelAndView execute(Model model) { // 设置数据模型 model.addAttribute("name", "Jacky"); model.addAttribute("age", "20"); model.addAttribute("school", "陕西理工大学"); //设置视图数据模型 ModelAndView mav = new ModelAndView(); mav.setViewName("return"); mav.addObject("data",model); return mav; } /* * 自定义参数 */ @RequestMapping("/demo2") public ModelAndView execute() { Map data = new HashMap(); Map map = new HashMap(); // 设置数据模型 map.put("name", "Jacky"); map.put("age", "20"); map.put("school", "陕西理工大学"); data.put("data", map); //返回视图数据模型 return new ModelAndView("return",data); } /* * @RequestParam("user") user和前台传递的值保持一致 * */ @RequestMapping("/demo3") public void execute( PrintWriter writer ,@RequestParam("user") String name) { writer.print(name); } /* * @RequestParam("user") user和前台传递的值保持一致 * RequestMethod.GET 请求方式 */ @RequestMapping(value=("/demo04"),method={RequestMethod.GET,RequestMethod.POST}) public void executes( PrintWriter writer ,@RequestParam("user") String name) { writer.print(name); } /* * method={RequestMethod.GET,RequestMethod.POST} 请求方式 * @PathVariable("testId") 将url中的变量绑定到Controller的形参中 * 可以实现rest接口 */ @RequestMapping(value=("/delete/{testId}"),method={RequestMethod.GET,RequestMethod.POST}) public void execut( PrintWriter writer ,@PathVariable("testId") String id) { writer.print("Delete ID IS :"+id); } }
View Code

 

响应视图JSP:

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>          returnJsp         This is return JSP page. 
返回数据:${data}
View Code

 

常见错误分析:

  1.运行Tomcat时找不到类错误,去tomcat看,项目是部署到Tomcat的(MyEclipse和Idea在对应的输出路径处应该也有jar包的依赖关系)

  2.处理器根据url找不到handler

  

  3.转发jsp页面找不到

  

  4.json数据转Java对象

5.浏览器406错误

 

 

  

 

转载于:https://www.cnblogs.com/nevegiveup/p/6864232.html

你可能感兴趣的文章
Postfix全功能 (1)
查看>>
DOS系统功能调用表(INT 21H)
查看>>
作为JavaScript开发人员,这些必备的VS Code插件你都用过吗
查看>>
未来云世界畅想
查看>>
进程与计划任务
查看>>
组合模式
查看>>
linux文件操作之ls、mkdir、rmdir、cp命令使用
查看>>
观察最大堆的插入/删除元素后最大堆的变化
查看>>
oracle导入时IMP-00010: 不是有效的导出文件, 头部验证失败
查看>>
R:corrplot包
查看>>
用SPK技术分析,泰坦尼克号沉船之后哪些人活下来了
查看>>
多线程(八)---单例模式并发访问
查看>>
堵车预测神器诞生 浙江已用来治疗高速顽疾
查看>>
Android Span的简单使用
查看>>
centos7 挂载数据盘
查看>>
Prometheus+Grafana监控MySQL
查看>>
cas server 实现LDAP、数据库认证
查看>>
Java九九乘法表
查看>>
聊聊:Linux分区的那些方案
查看>>
大数据时代快速SQL引擎-Impala
查看>>