返回顶部
首页 > 资讯 > 操作系统 >Spring MVC 二 :基于xml配置
  • 452
分享到

Spring MVC 二 :基于xml配置

springmvcxml 2023-08-30 17:08:33 452人浏览 薄情痞子
摘要

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

创建一个基于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 "

Hello World

"; }}

我们的目的就是让快速让这个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("

OHhhhh,this is my own Servlet...

"); }}

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

--结束END--

本文标题: Spring MVC 二 :基于xml配置

本文链接: https://lsjlt.com/news/383372.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring MVC 二 :基于xml配置
    创建一个基于xml配置的Spring MVC项目。 Idea创建新项目,pom文件引入依赖: org.springframework spring-context 5.2.12.RELEASE ...
    99+
    2023-08-30
    spring mvc xml
  • Spring Boot + Mybatis + Spring MVC环境配置(二):Mybatis Generator配置
    一、在Eclipse中安装mybatis generator     菜单选择:Help->Eclipse Marketplace二、 创建generatorConfig.xml配置文档配置好的gener...
    99+
    2023-06-02
  • Spring基于XML实现Aop
    目录项目结构具体步骤1、创建maven 项目 导入依赖 创建好项目结构2、写一个TestDao接口 及实现类3、编写切面类测试总结项目结构 具体步骤 1、创建maven 项目 导入...
    99+
    2024-04-02
  • spring mvc如何读取xml文件数据库配置参数
    这篇文章主要为大家展示了“spring mvc如何读取xml文件数据库配置参数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring mvc如何读取xml文件数据库配置参数”这篇文章吧。sp...
    99+
    2023-05-31
    springmvc xml文件 数据库
  • spring mvc配置bootstrap教程
    本文实例为大家分享了spring mvc配置bootstrap教程,供大家参考,具体内容如下1.下载bootstrap到下面的链接下载最新的 http://getbootstrap.com/,我下载的版本是bootstrap-3.3.7-d...
    99+
    2023-05-31
    spring mvc bootstrap
  • Spring基于xml实现自动装配流程详解
    自动装配: 根据指定的策略,在IOC容器中匹配某一个bean,自动为指定的bean中所依赖的类类型或接口类 型属性赋值 ①场景模拟 创建类 UserController public...
    99+
    2023-01-03
    Spring基于xml实现自动装配 Spring自动装配
  • Spring如何基于XML实现Aop
    本篇内容介绍了“Spring如何基于XML实现Aop”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录项目结构具体步骤创建maven 项目 ...
    99+
    2023-06-20
  • 基于MyBatis XML配置方法(全面了解)
    MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下:configuration 配置properties 属性settings 设置typeAlia...
    99+
    2023-05-31
    mybatis xml配置
  • Spring MVC的web.xml配置详解
    spring是目前最流行的框架。创建java web项目时,我们首先会遇到的配置文件就是web.xml,这是javaweb为我们封装的逻辑,不在今天的研究中。下面我们将简单讲讲web.xml中的配置。一、一个空的web.xml<...
    99+
    2023-05-31
    spring mvc web.xml
  • 详解Spring MVC事务配置
    要了解事务配置的所有方法,请看一下《Spring事务配置的5种方法》本文介绍两种配置方法: 一、XML,使用tx标签配置拦截器实现事务二、Annotation方式以下所使用环境为Spring4.0.3、Hibernate4.3.5...
    99+
    2023-05-31
    spring mvc 事务
  • Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置
    小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解...
    99+
    2023-06-02
  • 基于Spring Batch 配置重试逻辑
    目录1. 应用示例批处理应用读取csv文件处理类如下最终输出结果为2. 给处理增加重试功能因此我们配置批处理job在失败的情况下重试三次3. 测试重试功能第三次成功调用job成功执行...
    99+
    2024-04-02
  • 基于spring mvc请求controller访问方式
    目录spring mvc请求controller访问1.一个Controller里含有不同的请求url2.采用一个url访问3.RequestMapping在Class上4.在Spr...
    99+
    2024-04-02
  • Spring框架基于xml实现自动装配流程详解
    目录一、基于xml的自动装配之场景模拟:二、基于xml的自动装配之byType三、基于xml的自动装配之byName四、基于注解管理bean之功能分析五、基于注解管理bean之扫描组...
    99+
    2022-11-13
    Spring自动装配 Spring基于XML自动装配
  • spring mvc配置 + dbcp数据源+jdbcTemplate
    最近打算仔细研究一下spring,就从用了2年的spring mvc开始吧,初学者可以看看,大神就pass好了,呵呵....首先去spring官网下载完整的spring包,包含libs, docs和sche...
    99+
    2024-04-02
  • 详解SpringBean基于XML的装配
    1.设值注入:通过反射调用setXxx注入属性值 package com.itheima.assemble; import java.util.List; public clas...
    99+
    2024-04-02
  • Spring IOC容器基于XML外部属性文件的Bean管理怎么配置
    本篇内容主要讲解“Spring IOC容器基于XML外部属性文件的Bean管理怎么配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring IOC容器基于XML外部属性...
    99+
    2023-06-30
  • Spring component-scan XML配置与@ComponentScan注解配置
    目录前言准备@Component的beanXML配置Java配置 配置@Configuration的beanXML配置 配置Java配置 配置小结总结关于SpringBoot前言 无...
    99+
    2024-04-02
  • 基于XML的Spring声明事务控制
    Spring框架为我们提供好了事务控制器,我们不必自己写事务控制器。下面就详细说明基于XML配置Spring事务控制器的步骤。 1. 配置事务管理器 <!-- 配置事务管理器 ...
    99+
    2024-04-02
  • 使用Spring Aop如何配置xml
    本篇文章给大家分享的是有关使用Spring Aop如何配置xml,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今...
    99+
    2023-05-31
    springaop xml
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作