学习笔记——springmvc简介;springmvc处理请求原理简图;springmvc搭建框架(代码片段)

isDaHua isDaHua     2023-01-20     425

关键词:

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、测试

万字springmvc学习笔记总结(含ssm整合开发步骤)(代码片段)

SpringMVC学习笔记总结SpringMVC概述springMVC简介SpringMVC:是基于spring的一个框架,实际上就是spring的一个模块,专门做web开发的。web开发底层就是一个servlet,框架是在servlet的基础之上,加入一些功能,让做web... 查看详情

shiro学习笔记_0100_shiro简介

前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro。此笔记是根据网上的视频教程记录的,shiro的文档感觉不是很好,所以结合... 查看详情

springmvc学习笔记-springmvc整合mybatis之service

springmvc学习笔记(8)-springmvc整合mybatis之servicespringmvc学习笔记8-springmvc整合mybatis之service定义service接口在spring容器配置service事务控制本文记录如何整合service,包括定义spring接口,在spring容器配置service以及事务控制。让spring管理servic... 查看详情

springmvc学习笔记——webcontentgenerator

查看详情

springmvc学习笔记——abstractcontroller

查看详情

springmvc学习笔记(15)-数据回显

springmvc学习笔记(15)-数据回显springmvc学习笔记15-数据回显pojo数据回显方法简单类型数据回显本文介绍springmvc中数据回显的几种实现方法数据回显:提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面。pojo数据回显... 查看详情

初识springmvc

SpringMVC简介ssm:mybatis+Spring+SpringMVCMVC三层架构javaSE:基础需要认真学习javaWeb:也是基础需要认真学习SSM框架:研究官方文档,锻炼自学能力,锻炼笔记能力,锻炼项目能力SpringMVC+VUE+SpringBoot+SpringCloud+LinuxSSM整合的一个项目=javaWeb做项... 查看详情

springmvc学习笔记(18)-json数据交互

springmvc学习笔记(18)-json数据交互springmvc学习笔记18-json数据交互springmvc进行json交互环境准备添加json转换的依赖配置json转换器json交互测试输入json串输出是json串输入keyvalue输出是json串本文主要介绍如何在springmvc中进行json数据的交... 查看详情

springmvc学习笔记(18)-json数据交互

springmvc学习笔记(18)-json数据交互springmvc学习笔记18-json数据交互springmvc进行json交互环境准备加入json转换的依赖配置json转换器json交互測试输入json串输出是json串输入keyvalue输出是json串本文主要介绍怎样在springmvc中进行json数据的交... 查看详情

学习笔记controller

转自:http://elim.iteye.com/blog/1753271(谢谢博主分享) SpringMVCController介绍一、简介        在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理... 查看详情

springmvc学习笔记

SpringMVC学习笔记资源官方文档:WebonServletStack(spring.io)中文文档:SpringFramework4.3.21.RELEASE中文文档-22.WebMVC框架|Docs4devSpringMVC工作流程(重点)HelloSpringMVC文件结构pom.xml<dependencies><dependency><groupId&g 查看详情

springmvc学习笔记一helloworld

SpringMVC学习笔记一HelloWorldSpringMVC的使用可以按照以下步骤进行(使用Eclipse):加入JAR包在web.xml中配置DispatcherServlet加入SpringMVC的配置文件编写处理请求的处理器,并添加对应注解编写视图下面按照国际惯例先来一个HelloWorld,在... 查看详情

springmvc学习笔记四:simplemappingexceptionresolver异常处理

SpringMVC的异常处理,SimpleMappingExceptionResolver只能简单的处理异常当发生异常的时候,根据发生的异常类型跳转到指定的页面来显示异常信息ExceptionController.java处理器packagecom.orange.controller;importorg.springframework.stereotype.Controller;importorg 查看详情

云计算简介——学习笔记

学习视频 查看详情

springmvc学习笔记(代码片段)

在springmvc.xml中引用业务层的Beanbeans.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://w 查看详情

springmvc学习笔记1

1.SpringMVC中常用的几个注解1)@Controller表明当前类为Controller2)@RequestMaping当前类或者方法的映射路径,@RequestMapping中常用的几个参数  ①value当前方法或者控制器的映射路径。当后面还有参数时这一参数不能省略如:@RequestMappi... 查看详情

springmvc学习笔记(代码片段)

文章目录概述和设计模式介绍@Controller@RequestMapping@ResponseBody控制器方法的返回String返回类型返回普通的Java类型返回ResponseEntity控制器方法支持的参数类型@PathVariable@RequestParamPOJO对象@RequestBody@RequestPartSpringM 查看详情

springmvc学习笔记(代码片段)

文章目录概述和设计模式介绍@Controller@RequestMapping@ResponseBody控制器方法的返回String返回类型返回普通的Java类型返回ResponseEntity控制器方法支持的参数类型@PathVariable@RequestParamPOJO对象@RequestBody@RequestPartSpringM 查看详情