springMVC的controller
控制器controller 负责处理DispatcherServlet分发请求,把业务处理层封装成一个model,然后把该model返回给对应的view。
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。
package com.controller; import com.pojo.Paper; import com.service.PaperService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; import java.util.logging.Logger; /** * @className: PaperController * @Descripetion:paper控制器 * @Author: 光影 * @Date:: 2019.03.19 */ @Controller //请求映射路径 @RequestMapping("/paper") public class PaperController { private static Logger logger= (Logger) Logger.getLogger(String.valueOf(PaperController.class)); @Autowired private PaperService paperService; @RequestMapping("/allPaper") public String list(Model model) { List<Paper> list = paperService.queryAllPaper(); model.addAttribute("list", list); return "allPaper"; } @RequestMapping("toAddPaper") public String toAddPaper() { return "addPaper"; } @RequestMapping("/addPaper") public String addPaper(Paper paper) { paperService.addPaper(paper); return "redirect:/paper/allPaper"; } @RequestMapping("/del/{paperId}") public String deletePaper(@PathVariable("paperId") Long id) { paperService.deletePaperById(id); return "redirect:/paper/allPaper"; } @RequestMapping("toUpdatePaper") public String toUpdatePaper(Model model, Long id) { model.addAttribute("paper", paperService.queryById(id)); return "updatePaper"; } @RequestMapping("/updatePaper") public String updatePaper(Model model, Paper paper) { paperService.updatePaper(paper); paper = paperService.queryById(paper.getPaperId()); model.addAttribute("paper", paper); return "redirect:/paper/allPaper"; } // @RequestMapping("/test/{awer}") // public void teet(@PathVariable("awer") int awer){ // int a=10; // int c=a+awer; // System.out.print(c); // // // } }
使用@RequestMapping("/***") 标记一个类映射地址,标记一个方法映射请求。(当仅仅标记方法时候地址是绝对路径,两者结合使用时使用的是相对路径-推荐两者结合使用)
RequestMappping(value="/test",method =RequestMethod.POST)标记一个方法时候
使用method参数限制以post方法请求/test 的时候才能访问该RequestMapping方法。
@Autowired
自动装配(将一个构造器,变量域,setter,config方法被spring DI工具自动装配)。
如「(依赖注入)
userServiceImpl类标记@Service userController类中使用Autowired。
」