之前秒殺系統的總結中已經記錄一些我對springmvc的學習理解。
那麼這是第二部分的springmvc的學習。
- Mvc和三層架構有什麼關係?(參照https://www.cnblogs.com/zdxster/p/5305155.html)
MVC:Model(模型),View(視圖),Controller(控制)。
三層架構:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。
MVC不等同於三層架構。
三層架構是一個分層式的軟件體系架構設計,它可適用於任何一個項目。
MVC是一個設計模式,它是根據項目的具體需求來決定是否適用於該項目。 - Springmvc常用註解:
@Controller:註解聲明式一個控制器。
@RequestMapping:配置URL和方法之間的映射。如:@RequestMapping(“/login”)
@ResponseBody:是作用在方法上的,用於接收json或ajax返回的數據。(比如異步獲取 json 數據,加上 @ResponseBody 後,會直接返回 json 數據)
@RequestBody:是作用在形參列表上,用於將前臺發送過來固定格式的數據【xml 格式或者 json等】封裝爲對應的 JavaBean 對象。
栗子:
@RequestMapping("/login")
@ResponseBody
public Object login(@RequestBody User loginUuser, HttpSession session) {
user = userService.checkLogin(loginUser);
session.setAttribute("user", user);
return new JsonResult(user);
}
@PathVariable:可以將 URL 中佔位符參數綁定到控制器處理方法的入參中。
@RequestMapping("/user/{id}")
public String test(@PathVariable("id") Integer id){
System.out.println(id);
return "hello";
}
- Springmvc攔截器:參照http://jinnianshilongnian.iteye.com/blog/1594806