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的话,直接写依赖就行。

扫描二维码关注公众号,回复: 2811230 查看本文章

在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;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_27163329/article/details/81698461
今日推荐