当前位置:首页 >  开发者 >  学习笔记——SpringMVC简介;SpringMVC处理请求原理简图;SpringMVC搭建框架

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

2023-01-19一、SpringMVC简介1、SpringMVC是Spring子框架2、SpringMVC是Spring为“控制层”提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架。3、SpringMVC是非

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>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>5.3.1version>
        dependency>
        
        <dependency>
            <groupId>org.thymeleafgroupId>
            <artifactId>thymeleaf-spring5artifactId>
            <version>3.0.12.RELEASEversion>
        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>4.0.1version>
            <scope>providedscope>
        dependency>

    dependencies>

3、编写配置文件

(1)web.xml注册DispatcherSerrvlet

①url配置:/

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

:设置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">


        <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>
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 class="org.thymeleaf.spring5.SpringTemplateEngine">
                
                <property name="templateResolver">
                    
                    <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、测试

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,
如果涉及侵权请联系站长邮箱:support@yingtwo.com 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:none

最近更新

Java外包程序员的技术出路
Java外包程序员的技术出路

学习的两个目的:应付面试应付工作(解决问题)首...

初识设计模式-迭代器模式
初识设计模式-迭代器模式

简介迭代器设计模式(IteratorDesig...

用python实现猜数字游戏
用python实现猜数字游戏

实现思路电脑随机生成1~100的整数,让用户去...

感悟一二
感悟一二

很多年了(快4年了),这么过的生活没有什么希望...

调试Rotor:启动过程
调试Rotor:启动过程

引言:我已经深入一些书籍好长一段时间了,包括(...

在游戏框架中添加支持
在游戏框架中添加支持

正如我们所工作所使用的其它内容资源,通过允许它...

OpenGL多线程创建纹理,附加我的测试结果
OpenGL多线程创建纹理,附加我的测试结果

关于这个问题以前只知道多个线程不能同时使用一个...

【转】水效模拟
【转】水效模拟

RealisticWater,Real-tim...

fibonacci递归实现
fibonacci递归实现

fibonacci数列:1,1,2,3,5,8...