我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring MVC 二 :基于xml配置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring MVC 二 :基于xml配置

创建一个基于xml配置的Spring MVC项目。

Idea创建新项目,pom文件引入依赖:

       org.springframework      spring-context      5.2.12.RELEASE              org.springframework      spring-web      5.2.12.RELEASE              org.springframework      spring-webmvc      5.2.12.RELEASE    

在项目的webapp/WEB-INF目录下创建web.xml文件,配置DispatcherServlet:

      dispatcherServlet    DispatcherServlet    DispatcherServlet    org.springframework.web.servlet.DispatcherServlet          contextConfigLocation      classpath:springmvc.xml        1        DispatcherServlet    /*  

注意其中定义了contextConfigLocation:上下文配置文件位置,配置为:classpath:springmvc.xml,指定Spring MVC启动过程中会到指定位置读取该配置文件,所以我们需要配置好springmvc.xml文件。

在项目resource路径下配置springmvc.xml文件:

                                                    

主要是指定Spring MVC的controller的包扫描路径,并指定视图解析器、以及视图后缀为jsp。

最后,创建一个conrolller:

package org.example.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.DispatcherServlet;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class HelloWorldController {    @GetMapping("/hello")    @ResponseBody    public String hello(ModelAndView model){        return "";    }}

我们的目的就是让快速让这个Spring MVC案例跑起来,就不创建jsp文件了,所以在controller中引入了@ResponseBody注解(不加这个注解的话,controller的@GetMapping方法返回String则视图解析器会将其处理为jsp页面)。

项目结构如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MIMttzs9-1693062192086)(/img/bVc9kvX)]

项目启动配置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1r1tC9A-1693062192087)(/img/bVc9kvZ)]

启动后,测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IwK0dkN5-1693062192087)(/img/bVc9kv1)]

所以,通过idea创建一个基于SpringMVC的项目非常简单,通过以上几步,一个Spring MVC项目就可以正常运行起来了。

接下来我们先简单研究一下以上案例得以正常运行的底层原理。

DispatcherServlet

我们知道Spring MVC是通过一个核心servlet:DispatcherServlet来处理请求的,所以还是从DispatcherServlet入手。

先来看一眼DispatcherServlet类的继承关系:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-laGEnAG5-1693062192087)(/img/bVc9kv7)]

这个类层次结构中,Servlet->GenericServlet->HttpServlet是属于java SDK的内容,来自于javax.servlet.http包,之后的从HttpServletBean到DispatcherServlet是属于Spring Web MVC框架的内容,来自于org.springframework.web.servlet包。

如果不使用Spring Mvc、自己创建Servlet的话,我们的Servlet直接继承HttpServlet即可,其实实现起来也很简单:
1. 创建MyServlet

package org.example.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class MyServlet extends HttpServlet {    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        resp.getWriter().write("");    }}

2.在web.xml中配置MySevlet

      MyServlet    org.example.servlet.MyServlet    1        MyServlet    /my  

3.启动项目,访问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dlja33sH-1693062192087)(/img/bVc9kxT)]

其实Spring MVC的工作原理和MyServlet的工作原理类似,MyServlet是通过配置文件找到当前请求URL对应的Servlet,然后再根据请求类型调用Servlet的doGet或者doPost等方法处理请求。Spring MVC处理请求的Servlet是DispatcherServlet,DispatcherServlet根据请求URL匹配HandlerMapping、找到对应的Controller,之后交给HandlerAdapters经过请求参数的匹配、转换之后,通过反射机制调用Controller的对应方法,完成请求的处理。

上述DispatcherServlet的底层处理逻辑,后面我们会逐步细化、深入,从代码层面进行分析。

上一篇 Spring MVC 一 :从MVC & Servlet开始

来源地址:https://blog.csdn.net/weixin_44612246/article/details/132517082

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring MVC 二 :基于xml配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spring MVC 二 :基于xml配置

创建一个基于xml配置的Spring MVC项目。 Idea创建新项目,pom文件引入依赖: org.springframework spring-context 5.2.12.RELEASE
2023-08-30

Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置

一、在Eclipse中安装mybatis generator 菜单选择:Help->Eclipse Marketplace二、 创建generatorConfig.xml配置文档配置好的generatorConfig.xml文件内容
2023-06-02

spring mvc如何读取xml文件数据库配置参数

这篇文章主要为大家展示了“spring mvc如何读取xml文件数据库配置参数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring mvc如何读取xml文件数据库配置参数”这篇文章吧。sp
2023-05-31

spring mvc配置bootstrap教程

本文实例为大家分享了spring mvc配置bootstrap教程,供大家参考,具体内容如下1.下载bootstrap到下面的链接下载最新的 http://getbootstrap.com/,我下载的版本是bootstrap-3.3.7-d
2023-05-31

Spring基于xml实现自动装配流程详解

自动装配是使用spring满足bean依赖的一种方法,spring会在应用上下文中为某个bean寻找其依赖的bean,Spring中bean有三种装配机制,分别是:在xml中显式配置、在java中显式配置、隐式的bean发现机制和自动装配
2023-01-03

Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置

小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解
2023-06-02

详解Spring MVC事务配置

要了解事务配置的所有方法,请看一下《Spring事务配置的5种方法》本文介绍两种配置方法: 一、XML,使用tx标签配置拦截器实现事务二、Annotation方式以下所使用环境为Spring4.0.3、Hibernate4.3.5 一、 X
2023-05-31

基于MyBatis XML配置方法(全面了解)

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下:configuration 配置properties 属性settings 设置typeAlia
2023-05-31

Spring MVC的web.xml配置详解

spring是目前最流行的框架。创建java web项目时,我们首先会遇到的配置文件就是web.xml,这是javaweb为我们封装的逻辑,不在今天的研究中。下面我们将简单讲讲web.xml中的配置。一、一个空的web.xml
2023-05-31

Spring如何基于XML实现Aop

本篇内容介绍了“Spring如何基于XML实现Aop”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录项目结构具体步骤1、创建maven 项
2023-06-20

Spring的Java配置方式,告别XML配置

在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。

Spring框架基于xml实现自动装配流程详解

自动装配就是指 Spring 容器在不使用 <constructor-arg> 和<property> 标签的情况下,可以自动装配(autowire)相互协作的 Bean 之间的关联关系,将一个 Bean 注入其他 Bean 的 Property 中
2022-11-13

Spring IOC容器基于XML外部属性文件的Bean管理怎么配置

本篇内容主要讲解“Spring IOC容器基于XML外部属性文件的Bean管理怎么配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring IOC容器基于XML外部属性文件的Bean管理怎
2023-06-30

使用Spring Aop如何配置xml

本篇文章给大家分享的是有关使用Spring Aop如何配置xml,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今
2023-05-31

编程热搜

目录