首页 > 其他分享 >学习笔记——SpringMVC简介;SpringMVC处理请求原理简图;SpringMVC搭建框架

学习笔记——SpringMVC简介;SpringMVC处理请求原理简图;SpringMVC搭建框架

时间:2023-01-19 12:55:19浏览次数:34  
标签:xml 请求 SpringMVC 简介 视图 Controller DispatcherServlet 简图

2023-01-19

一、SpringMVC简介

1、SpringMVC是Spring子框架

2、SpringMVC是Spring为“控制层”提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架。

3、SpringMVC是非侵入式:可以使用注解让普通java对象,作为请求处理器(Controller)

4、即SpringMVC就是来代替Javaweb中的Servlet(处理请求、做出响应)

二、SpringMVC处理请求原理简图

 

 三、SpringMVC搭建框架

1、创建工程(web工程)

2、导入jar包

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring5 -->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
            <version>3.0.12.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

3、编写配置文件

(1)web.xml注册DispatcherSerrvlet

①url配置:/

②init-param:contextConfigLocation,设置springmvc.xml配置文件路径(管理容器对象)

③<load-on-startup>:设置DispatcherServlet优先级(启动服务器时,创建当前Servlet对象)

<?xml version="1.0" encoding="UTF-8"?>
<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">

<!--    注册DispatcherSerrvlet【前端控制器】-->
        <servlet>
            <servlet-name>DispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--            设置springmvc,xml配置文件路径【管理容器对象】-->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc.xml</param-value>
            </init-param>
<!--            设置DispatcherServlet优先级(启动服务器时,创建当前Servlet对象)-->
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>DispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
</web-app>

(2)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 https://www.springframework.org/schema/context/spring-context.xsd">
    <!--①开启组件扫描-->
    <context:component-scan base-package="com.hh"></context:component-scan>
    <!--②配置视图解析器(解析视图(设置视图前缀&后缀))-->
    <bean class="org.thymeleaf.spring5.view.ThymeleafViewResolver" id="viewResolver">
        <!--配置字符集属性-->
        <property name="characterEncoding" value="UTF-8"></property>
        <!--配置模板引擎属性-->
        <property name="templateEngine">
            <!-- 配置内部bean-->
            <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
                <!--配置模块解析器属性-->
                <property name="templateResolver">
                    <!--配置内部bean-->
                    <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
                        <!--配置前缀-->
                        <property name="prefix" value="/WEB-INF/pages/"></property>
                        <!--配置后缀-->
                        <property name="suffix" value=".html"></property>
                        <!--配置字符集-->
                        <property name="characterEncoding" value="UTF-8"></property>
                    </bean>
                </property>
            </bean>
        </property>
    </bean>
</beans>

4、编写请求处理器(Controller|Handler)

(1)使用@Controller注解标识请求处理器

@Controller  //标识当前类是一个请求处理器类
public class HelloController {

    /**
     * 配置url(/),映射到WEB-INF/index.html
     * @return
     */
    @RequestMapping("/")
    public String toIndex(){
        //     /WEB-INF/pages/index.html
        //物理视图名 = 视图前缀 + 逻辑视图名 + 视图后缀
        return "index";
    }

    @RequestMapping("/HelloControllerMethod")
    public String HelloWorld(){
        System.out.println("==>HelloController->HelloWorld()!!!");
        //返回的是一个逻辑视图名
        return "success";
    }
}

(2)使用@RequestMapping注解处理方法(URL)

5、测试

标签:xml,请求,SpringMVC,简介,视图,Controller,DispatcherServlet,简图
From: https://www.cnblogs.com/isDaHua/p/17061127.html

相关文章

  • HBase 简介
    1HBase定义ApacheHBase是以hdfs为数据存储的,一种分布式、可扩展的NoSQL数据库。2HBase数据模型HBase的设计理念依据Google的BigTable论文,论文中对于数据模型......
  • JSP简介
    什么是JSPJavaServerPages:java服务器端页面,也和Servlet一样,用于动态Web技术! JSP原理Tomcat文件夹下有个work文件夹,最里面有个.java,的程序。浏览器向服务器发送请......
  • 使用Dapr和.NET 6.0进行微服务实战:Dapr简介
    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。本文是《使用Dapr和.NET6.0进行微服务实战》的第2篇D......
  • SpringCloud-入门简介
    https://www.cnblogs.com/xuwc/p/13995814.html参考:https://www.cnblogs.com/lizm166/p/11156311.htmlhttps://www.cnblogs.com/senlinyang/p/8591294.htmlhttps://zhu......
  • 大数据相关认识,大数据、物联网和云计算之间的关系,hadoop简介
    大数据相关认识说道大数据,谷咕咕就很烦了,因为大学期间,做过爬虫,数据抓取,安装过Hadoop和hive,但是都不知道干嘛的,起码爬虫还知道,通过正则表达式将网页中的有效信息爬取下来。但......
  • 2.Requests【HTTP协议】http协议简介
    一、前言什么是接口?接口就是HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器......
  • Vue简介
             ......
  • perfetto 简介
    转自:https://cloud.tencent.com/developer/article/1905180 1.Recordingsettings录制的设置,主要有三种模式,适合不同的场景。1.1Stopwhenfullin-memorybuffers......
  • Mavne简介与安装
    为什么需要Maven为什么要使用Maven?它能帮助我们解决什么问题?添加第三方jar包在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简......
  • MybatisPlus简介
    介绍​​MyBatis-Plus​​​(简称MP)是一个​​MyBatis​​的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为MyBatis最好的搭......