SpringMVC
SpringMVC
隶属于Spring
,是Spring
技术中的一部分。SpringMVC与Servlet技术功能相同,都属于web层或表现层开发技术。
SpringMVC与Servlet相比,开发更简单快捷,用更少的代码完成表现层代码的开发。
IDEA目录如下:

Servlet实现
UserSelectServlet
使用Servlet
开发的用户查找模块
@WebServlet("/user/select")
public class UserSelectServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.接收请求参数
String name = req.getParameter("name");
System.out.println("servlet select name ==> " + name);
//2.响应
resp.setContentType("text/json;charset=utf-8");
PrintWriter pw = resp.getWriter();
pw.write("{'module':'servlet select'}");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
在浏览器中输入localhost/user/select?name=root
打印结果如下:
servlet select name ==> root
SpringMVC实现
UserController
使用SpringMVC
开发类似模块
@Controller
public class UserController {
@RequestMapping("/save")
@ResponseBody
public String save(String name) {
System.out.println("springmvc save name ==> " + name);
return "{'module':'springmvc save'}";
}
@RequestMapping("/delete")
@ResponseBody
public String delete(String name) {
System.out.println("springmvc delete name ==> " + name);
return "{'module':'springmvc delete'}";
}
@RequestMapping("/update")
@ResponseBody
public String update(String name) {
System.out.println("springmvc update name ==> " + name);
return "{'module':'springmvc update'}";
}
@RequestMapping("/select")
@ResponseBody
public String select(String name) {
System.out.println("springmvc select name ==> " + name);
return "{'module':'springmvc select'}";
}
}
在浏览器中输入localhost/user/select?name=root
打印结果如下:
servlet select name ==> root
通过两种技术对比可以发现,SpringMVC
这种开发方式更简单、更高效
由于SpringMVC
是用来代替Servlet
的,所以Servlet
能实现的,主要学习的内容包含如下模块:
SpringMVC
简介Spring MVC属于SpringFrameWork的后续产品,已经融合在[Spring Web Flow](https://baike.baidu.com/item/Spring Web Flow/4049223?fromModule=lemma_inlink)里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块,Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。
请求与响应
SpringMVC是替换Servlet处于Web的框架,所以其主要的作用就是用来接收前端发过 来的请求和数据然后经过处理并将处理的结果响应给前端,所以如何处理请求和响应是SpringMVC中 非常重要的一块内容。
REST风格
是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,在以后开发中非常 重要和常用。
SSM整合(注解版)
SpringMVC+Spring+Mybatis整合在一起来完成业务开发。
拦截器
提供了 Interceptor 拦截器机制,用于请求的预处理和后处理,主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。
SpringMVC概述
当前web程序的工作流程
三层架构
web程序通过浏览器访问前端页面,发送异步请求到后端服务器
后台服务器采用三层架构进行功能开发
表现层负责接收请求和数据然后将数据转交给业务层
业务层负责调用数据层完成数据库表的增删改查,并将结果返给表现层
表现层将数据转换成json格式返回给前端
前端页面将数据进行解析最终展示给用户
表现层与数据层的技术选型:
数据层采用Mybatis框架
变现层采用SpringMVC框架,SpringMVC主要负责的内容有:
controller如何接收请求和数据
将请求和数据转发给业务层
将请求和数据转发给业务层
将响应数据转换成json发回到前端
总结
SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
优点
使用简单、开发便捷(相比于Servlet)
灵活性强