1、概念 SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框 架,即使用了MVC架构模式的思想,将Web层进行职责解耦。
1、编写Controller(Action),即一个带有N个方法的类。 通过@Controller注解 将其定义为一个Controller。 通过@RequestMapping 注解 为其指定请求访问路径。 在方法内通过return 返回指定视图。
2、编写jsp页面。 Jsp请求路径为Controller中RequsetMapping指定路径。 表单内容与请求路径对应方法参数一一对应。
3、部署 在Tomcat部署之后,便可在浏览器输出路径进行测试。
4、Controller返回值类型 返回String类型:通过返回视图字符串,转到一个jsp页面 返回ModelAndView类型:ModelAndView对象提供对参数列表,返回视图的封装。通 过构造函数设置返回视图,通过addObject()方法设置返回参数内容。 返回void类型:通过PrintWriter对象直接输出一些页面内容。 返回Object类型:返回json数据格式,常用于ajax异步请求时的返回处理。
5、常用注解: "@Controller" : 对Controller类进行标注,便于Spirng扫描器扫描处理。作用于类。 “@RequestMapping” : 对类或方法进行标注,value为字符串类型。若标注类, value则表示请求路径,若表示方法,value则表示请求方法,即value.do
“@ResponseBody”:用于将Controller的方法返回的对象,通过适当的 HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。作用 于方法。一般在异步获取数据时使用(AJAX)。 “@RequestParam”:用于将请求参数区数据映射到功能处理方法的参数上。作用于参 数列表。
“@PathVariable”:绑定 URL 占位符到功能处理方法的参数上,主要实现RESTfull风格. 作用于参数列表。
6、获取参数值
6.1、自动类型匹配
@RequestMapping("/autoParam")
public ModelAndView autoParam(String username,String password) {
ModelAndViewmv=newModelAndView("/GetParamDemo/autoParam"); System.out.println("username="+username);
System.out.println("password="+password);
mv.addObject("username", username);
mv.addObject("password", password);
return mv; }
6.2、自动封装pojo(自动装箱)
@RequestMapping("/autoMaticBox")
public ModelAndView autoMaticBox(User user)
{ModelAndView mv = new ModelAndView("/GetParamDemo/autoMaticBox");
System.out.println("username="+user.getUsername());
System.out.println("password="+user.getPassword());
mv.addObject("user", user);
return mv; }
6.3、使用request获取请求参数 @RequestMapping("/getParamByRequest")
public ModelAndView getParamByRequest(HttpServletRequest request) {ModelAndView mv = new ModelAndView("/GetParamDemo/autoMaticBox");
User user = new User();
user.setUsername(request.getParameter("username"));
user.setPassword(request.getParameter("password"));
mv.addObject("user", user);
return mv; }
6.4、使用@RequestParam
public ModelAndView getParamByRequestParam(@RequestParam(value="username",required=true)
String username,
@RequestParam(value="password",required=true)String password)
{ ModelAndView mv = new ModelAndView("/GetParamDemo/autoMaticBox");
User user = new User();
user.setUsername(username);
user.setPassword(password);
mv.addObject("user", user);
return mv; }