@Controller,@RequestMapping,@RequestParam的使用方法
阿新 • • 發佈:2018-12-11
@Controller //@Controller表示該類的例項為控制器型別,不需要再繼承或者實現特定介面 @RequestMapping("/user") //@RequestMapping用在類上面,表示所有的方法都將對映為類級別的的請求/user下面 public class UserController { private static List<User> userList; public UserController() { super(); this.userList = new ArrayList<User>(); } private static final Log logger = LogFactory.getLog(UserController.class); //register方法就被對映到如下路徑: //localhost:8080/projectName/user/register,這裡的/user對應的是類註解@RequestMapping("/user"),這裡的/register對應的是方法註解 @RequestMapping(value="/register",method=RequestMethod.GET) @RequestMapping(value="/register",method=RequestMethod.GET) public String register() { logger.info("register GET方法被呼叫..."); return "registerForm"; } @RequestMapping(value="/register",method=RequestMethod.POST) public String register( //@RequestParam("loginname")表示將請求中的loginname的值賦值給loginname變數(相當於String loginname = request.getParameter("loginname")) @RequestParam("loginname") String loginname, @RequestParam("password")String password, @RequestParam("username") String username) { logger.info("register POST方法被呼叫..."); User user = new User(loginname, password, username); this.userList.add(user); return "loginForm"; } @RequestMapping(value="/login") public String login( @RequestParam("loginname") String loginname, @RequestParam("password") String password, Model model) { logger.info("login方法被呼叫了..."); logger.info("loginname:"+loginname+"password:"+password); for(User user : userList) { if(user.getLoginname().equals(loginname) && user.getPassword().equals(password)) { model.addAttribute("user", user); return "welcome"; } } return "loginForm"; } }