目录
1.2 通过servlet的HttpServletRequest
1.如何将控制层的数据渲染到页面
1.1 通过自带参数Model
控制层代码:
@Controller
@RequestMapping("/my02")
public class MyController02 {
@RequestMapping("/con01")
public String method01(Model model){
//model对象可以理解为request对象。凡是在该对象中保存的数据,作用范围同一个请求有效。
Stu stu = new Stu("ccc",1,"123",new Date());
model.addAttribute("stu01",stu);
return "index02";
}
}
发出请求的前端代码:
<body>
<a href="my02/con01">点击测试</a>
</body>
被渲染的页面:
<body>
model:${requestScope.stu01}<br>
</body>
测试:
1.2 通过servlet的HttpServletRequest
注:记得引入servlet的相关依赖
<dependency>
<groupId>tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>5.5.23</version>
</dependency>
控制层代码:
@Controller
@RequestMapping("/my02")
public class MyController02 {
@RequestMapping("/con02")
public String method02(HttpServletRequest request){
Stu stu = new Stu("fff",1,"123123",new Date());
request.setAttribute("stu02",stu);
return "index02";
}
}
发出请求页面:
<body>
<a href="my02/con02">点击测试</a>
</body>
被渲染页面:
<body>
request:${requestScope.stu02}<br>
</body>
测试:
上面两种方法的作用是一样 都是保存在request范围。
1.3 通过servlet的HttpSession
控制层代码:
@Controller
@RequestMapping("/my02")
public class MyController02 {
@RequestMapping("/con03")
public String method02(HttpSession session){
Stu stu = new Stu("ww",1,"12323",new Date());
session.setAttribute("stu03",stu);
return "index02";
}
}
发送请求的页面:
<body>
<a href="my02/con03">点击测试</a>
</body>
被渲染的页面:
<body>
session:${sessionScope.stu03}<br>
</body>
测试:
2.返回json数据
2.1 引入jackson依赖
<!--jackson依赖 可以整合springmvc把java对象转换为json对象-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.4</version>
</dependency>
2.2 直接返回对应的对象类型,并在控制层方法上加入注解
@Controller
@RequestMapping("my03")
public class MyController03 {
@RequestMapping("con01")
@ResponseBody //java---->json
public Stu method01(){
Stu stu = new Stu("ccc",1,"123",new Date());
return stu;
}
}
测试:
问题:
解决办法:
结果:
3.定义全局异常、拦截器
见下篇^_^