SpringBoot工程下Spring MVC技术的应用( 二 )

第三步:启动项目进行访问测试,并检测输出结果,例如:
SpringBoot工程下Spring MVC技术的应用文章插图
JSON数据响应我们有一业务不需要页面,只需要将响应数据转换为json,然后响应到客户端,如何实现呢?
第一步:定义ReponseResult对象用于封装响应数据,例如:
package com.cy.pj.module.pojo;public class ResponseResult {private Integer code;private String message;public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}}第二步:定义JsonObjctController以及方法,代码如下:
package com.cy.pj.module.controller;@RestController//@RestController=@Controller+@ponseBodypublic class JsonObjectController {@RequestMapping("/doConvertResponseToJson")public ResponseResult doConvertResponseToJson(){ResponseResult rs=new ResponseResult();rs.setCode(200);rs.setMessage("OK");return rs;}@RequestMapping("/doConvertMapToJson")public Map doConvertMapToJson(){Map map=new HashMap<>();map.put("username","刘德华");map.put("state",true);return map;}@RequestMapping("/doPrintJSON")public void doPrint(HttpServletResponse response)throws Exception{Map map=new HashMap<>();map.put("username","刘德华");map.put("state",true);//将map中的数据转换为json格式字符串ObjectMapper om=new ObjectMapper();String jsonStr=om.writeValueAsString(map);System.out.println("jsonStr="+jsonStr);//将字符串响应到客户端//设置响应数据的编码response.setCharacterEncoding("utf-8");//告诉客户端,要向它响应的数据类型为text/html,编码为utf-8.请以这种编码进行数据呈现response.setContentType("text/html;charset=utf-8");PrintWriter pw=response.getWriter();pw.println(jsonStr);}}第三步:启动服务器分别进行访问测试,代码如下:
SpringBoot工程下Spring MVC技术的应用文章插图
异常分析:
请求资源不存在 , 页面显示404
SpringBoot工程下Spring MVC技术的应用文章插图
SpringBoot工程下Spring MVC技术的应用文章插图
【SpringBoot工程下Spring MVC技术的应用】模板解析不正确或不存在页面显示500
SpringBoot工程下Spring MVC技术的应用文章插图
SpringBoot工程下Spring MVC技术的应用文章插图
SpingMVC 请求参数数据处理我们在执行业务的过程中通常会将一些请求参数传递到服务端,服务端如何获取参数并注入给我们的方法参数的呢?
准备工作定义一个controller对象,用户处理客户端请求,例如:
package com.cy.pj.module.controller;import com.cy.pj.module.pojo.RequestParameter;import org.springframework.web.bind.annotation.*;import java.util.Map;@RestControllerpublic class ParamObjectController {}直接量方式在ParamObjectController中添加方法,基于直接量方式接受客户端请求参数,例如:
@GetMapping("/doParam01")public String doMethodParam(String name){ return "request params "+name;}访问时,可以这样传参,例如:
http://localhost/doParam01?name=beijingPOJO对象方式定义pojo对象,用于接受客户端请求参数,例如:
package com.cy.pj.module.pojo;public class RequestParameter {private String name;//...... public String getName() {return name;}public void setName(String name) {this.name = name;}@Override public String toString() {return "RequestParam{" +"name='" + name + ''' +'}';}}定义Controller方法,方法中使用pojo对象接收方法参数,例如:
@RequestMapping("/doParam02")public String doMethodParam(RequestParameter param){//pojo对象接收请求参数,pojo对象中需提供与参数名相匹配的set方法 return "request params "+param.toString();}启动服务进行访问测试,可以这样传参,例如:
http://localhost/doParam02?name=beijingMap对象方式有时候我们不想使用pojo对象接收请求参数,我们可以使用map对象来接收,又该如何实现呢?
定义Controller方法,基于map对象接收请求参数,例如:
@GetMapping("/doParam03")public String doMethodParam(@RequestParam Map param){ return "request params "+param.toString();}其中,map接收请求参数,必须使用@RequestParam对参数进行描述.
启动服务进行访问测试,可以这样传参,例如:
http://localhost/doParam03?name=beijing总结(Summary)本章节对springboot工程下spring mvc技术的应用做了一个入门实现,并结合实际项目中的业务应用,讲解了MVC中请求数据的获取和响应数据处理的一个基本过程.