SpringMVC笔记


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)

    灵活性强

SpringMVC入门案例


文章作者: youzg
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 youzg !
评论
  目录