SpringMVC_03_SpringMVC控制器(2)

这一篇介绍:

SpringMvc 对 ServletAPI 的支持 

SpringMvc 对 Json 的支持


 SpringMvc 对 ServletAPI 的支持 


通过一个实例来说明:

模拟一个用户登录过程:

在controller包内,新建UserController:

@Controller
@RequestMapping("/user")
public class UserController {

	
	@RequestMapping("/login")
	public String login(HttpServletRequest request,HttpServletResponse response) {
		
		String userName = request.getParameter("userName");
		String password = request.getParameter("password");
		
		User currentUser = new User(userName, password);
		Cookie cookie = new Cookie("user", currentUser.getUserName()+"-"+currentUser.getPassword());
		cookie.setMaxAge(1*60*60*24*7);
		response.addCookie(cookie);
		HttpSession session = request.getSession();
		session.setAttribute("currentUser", currentUser);
		return "redirect:/main.jsp";
	}
}

 所谓对Servlet API的支持,就是指能直接用request,response传递参数,可以只用request,或者只用response,根据需求而定。

在这里获取userName,和password的方法是用的request.getPaarameter ,其实可以用上一篇说的,自动封装对象。

	@RequestMapping("/login")
	public String login(HttpServletRequest request,HttpServletResponse response,User currentUser) {
		
		/*String userName = request.getParameter("userName");
		String password = request.getParameter("password");
		
		User currentUser = new User(userName, password);*/
		Cookie cookie = new Cookie("user", currentUser.getUserName()+"-"+currentUser.getPassword());
		cookie.setMaxAge(1*60*60*24*7);
		response.addCookie(cookie);
		HttpSession session = request.getSession();
		session.setAttribute("currentUser", currentUser);
		return "redirect:/main.jsp";
	}
}

SpringMvc 对 Json 的支持


有的时候,前台是通过ajax传递的,数据都是通过json格式传递的。SpringMVC可以自动将对象转换成json对象。

通过以下:

将jar包贴到lib,用Maven的话,直接写依赖就行。

在Spring-mvc配置文件中加:

	<!-- 支持对象与json的转换。 -->
    <mvc:annotation-driven/>  

并且加上:


    xmlns:mvc="http://www.springframework.org/schema/mvc"

 xsi:schemaLocation:

 http://www.springframework.org/schema/mvc
 http://www.springframework.org/schema/mvc/spring-mvc.xsd

用的时候:

	@RequestMapping("/login2")
	public @ResponseBody User ajax() {
		User user = new User("张三", "123456");
		return user;
	}
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值