【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别

前言:学习自https://www.bilibili.com/video/BV1aE41167Tu

文章目录

  • Spring MVC
    • 1、介绍
    • 2、项目实例(配置版)
      • (1)具体步骤
      • (2)流程原理的分析
    • 2、项目实例(注解版)
      • (1)具体步骤
    • 3、附:/ 与 /* 的区别

Spring MVC

1、介绍

Spring MVC属于SpringFrameWork的子项目。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。

优点:

  • 轻量级,简单易学
  • 高效 , 基于请求响应的MVC框架
  • 与Spring兼容性好,无缝结合
  • 约定优于配置
  • 功能强大:RESTful、数据验证、格式化、本地化、主题等
  • 简洁灵活

(引用一张《Spring 实战》(第四版)的图片)
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第1张图片


2、项目实例(配置版)

(1)具体步骤

1、新建一个项目 ,并添加web的支持

2、确定导入了SpringMVC 的依赖

3、配置web.xml , 注册DispatcherServlet


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    
    <servlet>
        <servlet-name>springmvcservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:springmvc-servlet.xmlparam-value>
        init-param>
        
        <load-on-startup>1load-on-startup>
    servlet>
    
    
    <servlet-mapping>
        <servlet-name>springmvcservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>

web-app>

4、编写SpringMVC 的 配置文件,springmvc-servlet.xml

添加bean:处理器映射,控制适配器,视图解析器


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

    
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        
        <property name="prefix" value="/WEB-INF/jsp/"/>
        
        <property name="suffix" value=".jsp"/>
    bean>

beans>

5、编写Controller
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第2张图片
6、将自己的类交给SpringIOC容器,注册bean

因为我们用了一个根据bean名字进行映射的处理器映射bean
在这里插入图片描述

因此,bean的id要遵从如下格式:/hello
在这里插入图片描述
7、写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第3张图片
8、配置Tomcat 启动测试

9、请求访问
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第4张图片
(注:若报404或500错误,则可能是工件中缺少包环境的问题,解决方法:
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第5张图片

(2)流程原理的分析

【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第6张图片
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第7张图片


2、项目实例(注解版)

(1)具体步骤

1、新建一个项目 ,并添加web的支持

2、确定导入了SpringMVC 的依赖

3、配置web.xml , 注册DispatcherServlet


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    
    <servlet>
        <servlet-name>springmvcservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:springmvc-servlet.xmlparam-value>
        init-param>
        
        <load-on-startup>1load-on-startup>
    servlet>
    
    
    <servlet-mapping>
        <servlet-name>springmvcservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>

web-app>

4、编写SpringMVC 的 配置文件,springmvc-servlet.xml


<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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.2.xsd">

    
    <context:component-scan base-package="com.zlc.controller"/>

    
    <mvc:default-servlet-handler/>

    
    <mvc:annotation-driven/>

    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        
        <property name="prefix" value="/WEB-INF/jsp/"/>
        
        <property name="suffix" value=".jsp"/>
    bean>
beans>

5、编写Controller
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第8张图片
6、编写要跳转的jsp页面
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第9张图片
7、配置Tomcat 启动测试

8、请求访问
【Spring MVC】 (第一篇)概述 + 项目实例(配置版+注解版)+ 具体步骤 + 流程原理的分析,附:/ 与 /* 的区别_第10张图片


3、附:/ 与 /* 的区别

/:只匹配所有请求,不匹配jsp等页面
/*:既匹配所有请求,及jsp等页面

你可能感兴趣的:(SSM框架,spring,servlet,web,springmvc)