1. 窄化请求
在类上用注解 @RequestMapping 相当于在加一层目录 访问时 : 项目名/user/.......
1 //窄化请求
2 @RequestMapping("user")
3 public class UserControoler {}
2. 参数绑定
1 @ResponseBody
2 @RequestMapping("/findById.action")
3 public String findById(HttpServletRequest request,@RequestParam(name = "uid",required = true) Integer id){ // 必须要有参数uid
4 return "***";
5 }
2.2 提交方式
1 @RequestMapping ( path = "/queryAll.action", method = {RequestMethod.POST,RequestMethod.GET},
2 params = {"uid=1"}
3 )
3. controller方法返回值 ModelandView (最常用) String void
1 public ModelAndView test1(){ // 最常用,最方便
2 ModelAndView modelAndView = new ModelAndView();
3 modelAndView.addObject("msg","你好");
4 modelAndView.setViewName("../index.jsp");
5
6 return modelAndView;
7 }
1 public String test2(Model model){ //model将数据保存到了request域中了,所以转发数据共享,重定向时,是两次请求,数据不共享
2 model.addAttribute("msg","你好");
3 return "forward:../index.jsp";
4 return "redirect:../index.jsp"
5 }
1 public void test3(HttpServletRequest request, HttpServletResponse response){
2 request.setAttribute("msg","日月星辰");
3 request.getRequestDispatcher("../index.jsp").forward(request,response);
4 }
5. 文件上传
springmvc.xml -- 解析fileUpload组件 id 必须为:multipartResolver
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
web.jsp
1 <form method="post" enctype="multipart/form-data" action="user/upload.action"> 2 <input type="file" name="file"> 3 <input type="submit" value="上传"> 4 </form>
Controller Class @RequestMapping("user") // 窄化请求
1 @RequestMapping("/upload.action")
2 @ResponseBody
3 public String upload(MultipartFile file) throws IOException {
4 //文件名
5 String originalFilename = file.getOriginalFilename();
6 String uuid = UUID.randomUUID().toString().replace("-", ""); // 32位字符用不重复
7 int i = originalFilename.lastIndexOf(".");
8 String suffix = originalFilename.substring(i);
9
10 //页面的file的name属性值
11 String name = file.getName();
12 System.out.println(originalFilename);
13 System.out.println(name);
14 File file1 = new File("E:\\upload\\"+uuid+suffix);
15 file.transferTo(file1);
16 return "上传中";
17 }