SpringMVC 概述

2021-06-10 21:04

阅读:671

标签:相关   model   新版本   模式   one   extc   客户端   ioc   风格   

1.1 SpringMVC 概述 

  1) Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一

  2Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。

  3Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。

  4)支持 REST 风格的 URL 请求。   Restful

  5)采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

 

1.2 SpringMVC是什么 

  1)一种轻量级的、基于MVC的Web层应用框架。偏前端而不是基于业务逻辑层。Spring框架的一个后续产品。

 

  2Spring框架结构图(新版本):

  技术图片

 

1.3 SpringMVC能干什么 

  1) 天生与Spring框架集成,如:(IOC,AOP)

  2) 支持Restful风格

  3) 进行更简洁的Web层开发

  4) 支持灵活的URL到页面控制器的映射

  5) 非常容易与其他视图技术集成,如:Velocity、FreeMarker等等

  6) 因为模型数据不存放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用)

  7) 非常灵活的数据验证、格式化和数据绑定机制、能使用任何对象进行数据绑定,不必实现特定框架的API

  8) 更加简单、强大的异常处理

  9) 对静态资源的支持

  10) 支持灵活的本地化、主题等解析

 

 

1.4 SpringMVC怎么玩

 

1)将Web层进行了职责解耦,基于请求-响应模型
2)常用主要组件
  ①DispatcherServlet:前端控制器
  ②Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理
  ③HandlerMapping :请求映射到处理器,找谁来处理,如果映射成功返回一个HandlerExecutionChain对象
              (包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象)   ④View Resolver : 视图解析器,找谁来处理返回的页面。把逻辑视图解析为具体的View,进行这种策略模式,很容易更换其他视图技术;     ?如InternalResourceViewResolver将逻辑视图名映射为JSP视图   ⑤LocalResolver:本地化、国际化   ⑥MultipartResolver:文件上传解析器   ⑦HandlerExceptionResolver:异常处理器

 

 

SpringMvc的入门

**开发步骤**

  ①导入SpringMVC相关坐标

  ②配置SpringMVC核心控制器DispathcerServlet

  ③创建Controller类和视图页面

  ④使用注解配置Controller类中业务方法的映射地址

  ⑤配置SpringMVC核心文件 spring-mvc.xml

  ⑥客户端发起请求测试

代码实现

①导入Spring和SpringMVC的坐标、导入Servlet和Jsp的坐标

我们要先在pom.xml中导入所需要的jar包坐标

 dependencies>
    dependency>
      groupId>junitgroupId>
      artifactId>junitartifactId>
      version>4.11version>
      scope>testscope>
    dependency>

    dependency>
      groupId>org.springframeworkgroupId>
      artifactId>spring-webmvcartifactId>
      version>5.0.4.RELEASEversion>
    dependency>

    dependency>
      groupId>org.springframeworkgroupId>
      artifactId>spring-contextartifactId>
      version>5.0.4.RELEASEversion>
    dependency>

    dependency>
      groupId>javax.servletgroupId>
      artifactId>servlet-apiartifactId>
      version>2.5version>
    dependency>

    dependency>
      groupId>javax.servletgroupId>
      artifactId>jsp-apiartifactId>
      version>2.0version>
    dependency>
  dependencies>

 

②创建spring-mvc.xml

在resource下建立springMvc.xml的配置文件

springMvc.xml

xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
">


    context:component-scan base-package="com.springMvc"/>

beans>

 

③在web.xml配置SpringMVC的核心控制器

web.xml下配置信息


  servlet>
    servlet-name>DispatcherServletservlet-name>
    servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>

    init-param>
      param-name>contextConfigLocationparam-name>
      param-value>classpath:springMvc.xmlparam-value>
    init-param>
    load-on-startup>1load-on-startup>  
  servlet>
  servlet-mapping>
    servlet-name>DispatcherServletservlet-name>
    url-pattern>/url-pattern>  
  servlet-mapping>

 

④创建Controller和业务方法

@Controller //将这个web层的类加入到spring容器中
public class QuickController {

    @RequestMapping("/quick")  // RequestMapping()注解为你的请求地址对应的要执行的方法
    public String save(){
        return "success.jsp";
    }
}

 

④创建视图页面success.jsp

%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
head>
    title>Titletitle>
head>
body>

success !!!

body>
html>

⑤配置你的tomcat运行容器内容

技术图片

 

 技术图片

 

 

 

 

⑥访问测试地址

http://localhost:8080/quick

页面显示:

技术图片

 

 

2.3 SpringMVC流程图示

技术图片

 

 SpringMVC入门步骤

技术图片

Spring访问流程(代码角度)

技术图片

 

SpringMVC 概述

标签:相关   model   新版本   模式   one   extc   客户端   ioc   风格   

原文地址:https://www.cnblogs.com/zhaoyunlong/p/14242738.html


评论


亲,登录后才可以留言!