SprigMVC——响应

响应之返回值是String类型

  • 请求页面
	<a href="user/testString">testString</a>
  • 控制器代码
@Controller
@RequestMapping("/user")
public class UserController {
	
	@RequestMapping("/testString")
	public String testString(Model model) {
		System.out.println("执行了。。");
		//模拟从数据库获取数据
		User user = new User();
		user.setUname("Tom");
		user.setAge(18);
		user.setPassword("1234");
		//使用model对象的键值对,key=value,存到request中,跳转的页面取出值
		model.addAttribute("user", user);
		return "success";
	}
}
  • 跳转到sucess.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
	<h3>success</h3>
	${user.uname }
	${user.password }
	${user.age}

响应之返回值是void类型

  • 控制器代码,三种方式
@RequestMapping("/testVoid")
	public void testVoid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("testVoid执行了。。");
		//请求转发
		//request.getRequestDispatcher("/views/success.jsp").forward(request, response);
		//重定向
		//response.sendRedirect(request.getContextPath()+"/views/success.jsp");
		//设置解决中文乱码
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		//直接进行响应
		response.getWriter().print("你好!");
	
	}

响应之返回值是ModelAndView对象

  • 控制端代码
@RequestMapping("/testModelAndView")
	public ModelAndView testModelAndView() {
		ModelAndView mv = new ModelAndView();
		System.out.println("testModelAndView执行了。。");
		//模拟从数据库获取数据
		User user = new User();
		user.setUname("Tom");
		user.setAge(18);
		user.setPassword("1234");
		
		//把user对象存储到mv对象中去,也会把user对象存入到request对象
		mv.addObject("user", user);
		
		//设置跳转页面,调用了视图解析器
		mv.setViewName("success");
		
		return mv;
	}
  • 跳转页面代码参照“前面返回值为String的代码”

响应之使用forward和redirect进行页面跳转

/**
	 * 使用关键字进行转发
	 * @return
	 */
	@RequestMapping("/testForwardOrRedirect")
	public String testForwardOrRedirect() {
		System.out.println("testForwardOrRedirect执行了。。");
		//请求转发
		//return "forward:/views/success.jsp";
		
		//重定向
		return "redirect:/views/success.jsp";
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值