初识SpringMVC

SpringMVC是什么

Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。

在SpringMVC之前如何开发?

在早期Java Web开发中,还没有MVC这个模式的概念,逻辑层、控制层、显示层的操作全部放在一个JSP文件中处理。随着时代的进步,项目的需求越来越庞大,再把所有的操作逻辑放在一个文件当中显然不是很好的开发模式,对于后期代码的维护和管理也大大的增加了难度。让我们回顾一下远古时候的JSP代码是如何编写的:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


life.jsp



<%! 
  private int initVar=0;
  private int serviceVar=0;
  private int destroyVar=0;
%>
  
<%!
  public void jspInit(){
    initVar++;
    System.out.println("jspInit(): JSP被初始化了"+initVar+"次");
  }
  public void jspDestroy(){
    destroyVar++;
    System.out.println("jspDestroy(): JSP被销毁了"+destroyVar+"次");
  }
%>

<%
  serviceVar++;
  System.out.println("_jspService(): JSP共响应了"+serviceVar+"次请求");

  String content1="初始化次数 : "+initVar;
  String content2="响应客户请求次数 : "+serviceVar;
  String content3="销毁次数 : "+destroyVar;
%>

菜鸟教程 JSP 测试实例

<%=content1 %>

<%=content2 %>

<%=content3 %>

后来MCV模式流行了起来,不同的语言也相应进行了跟进。所以后面就衍生出了SpringMVC框架,由Servelet+JSP+Java Bean组成。

SpringMVC模式下面开发

示意图

大概的流程图如下:

微信截图_20220329105156.png

我们在这里简要的写一个SpringMVC框架下面的一个示例代码,让大家体验一下纯JSP 和SpringMVC框架下面的区别

示例

第一步:编写dispatcher-servlet.xml




    
        
            
                
                helloController
            
        
    
    

第二步:编写 HelloController

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class HelloController implements Controller{
    @Override
    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView mav = new ModelAndView("index.jsp");
        mav.addObject("message", "Hello Spring MVC");
        return mav;
    }
}

第三步:准备 index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
 

${message}

从JSP里面的内容来看,相比于之前所有的逻辑视图全部都放在一个文件里面,瞬间看起来清爽了许多。Spring MVC 角色划分清晰,分工明细,大势所趋。

你可能感兴趣的:(初识SpringMVC)