自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet

  😀前言

本文是自己实现 SpringMVC 底层机制的第一篇--搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet

🏠个人主页:[尘觉主页](https://blog.csdn.net/apple_67445472?type=blog)


🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

在csdn获奖荣誉: 🏆csdn城市之星2名
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓Java全栈群星计划top前5
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🤗 端午大礼包获得者

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊

完成手写功能介绍

  • 核心分发 控制器
  •  Controller 和 Service 注入容器
  •  对象自动装配 
  • 控制器 方法获取参数
  • 视图解析
  • 返回 JSON 格式

文章目录

💝自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet

😊搭建 SpringMVC 底层机制开发环境

😉提示:

引入需要的基本的 jar 包, 修改 pom.xml

💞实现任务阶段 1- 开发 WyxDispatcherServlet

说明:

💓分析示意图

 创建WyxDispatcherServlet.java类

创建wyxspringmvc.xml

修改web.xml, 完成 WyxDispatcherServlet 的

💗配置 Tomcat, 完成测试

修改WyxDispatcherServlet.java

启动 Tomcat完成测试

 😄总结


💝自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet

😊搭建 SpringMVC 底层机制开发环境

1、创建 Maven 项目wyx-springmvc [提示: 我们在讲解 手动实现tomcat 时,我们已经使用过,不知道可以看我的博客

2、对 wyx-springmvc 进行配置: 修改 D:\idea_java_projects\wyx-springmvc\pom.xml , 将 1.7 修改成 1.8

<properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <maven.compiler.source>1.8</maven.compiler.source>

        <maven.compiler.target>1.8</maven.compiler.target>

</properties>

3、对 wyx-springmvc 进行配置: 创建 main 和 test 相关的源码目录和资源目录和测试目录 (这是 Maven 工程的开发规范,前面讲过..), 如图

😉提示:

引入需要的基本的 jar 包, 修改 pom.xml

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!--引入原生servlet依赖 的jar-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <!--解读
            1. scope标签表示引入的jar的作用范围
            2. provided:表示该项目在打包,放到生产环境的时候,不需要带上servlet-api.jar
            3. 因为tomcat本身是有servlet的jar, 到时直接使用tomcat本身的servlet-api.jar,防止版本冲突
            4. 后面在讲解maven时,还有详细讲解
            -->
            <scope>provided</scope>
        </dependency>

        <!--引入dom4j,解析xml文件-->
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

        <!--引入常用工具类的jar 该jar含有很多常用的类-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.5</version>
        </dependency>


💞实现任务阶段 1- 开发 WyxDispatcherServlet

说明:

编写 WyxDispatcherServlet 充当原生的 DispatcherServlet(即核心控制器)

💓分析示意图

 创建WyxDispatcherServlet.java类

public class WyxDispatcherServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
            ServletException, IOException {
        super.doGet(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
            ServletException, IOException {
        super.doPost(req, resp);
    }
}

创建wyxspringmvc.xml

充当 原生的 applicationContext-mvc.xml 文件 (就是 spring 的容器配置文件  比如指定要扫描 哪些包下的类) 先创建给空的文件

修改web.xml, 完成 WyxDispatcherServlet 的

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  
  <!--配置WyxDispatcherServlet, 作为我们自己的前端控制器-->
  <servlet>
    <servlet-name>WyxDispatcherServlet</servlet-name>
    <servlet-class>com.wyxdu.wyxspringmvc.servlet.WyxDispatcherServlet</servlet-class>
    <!--给WyxDispatcherServlet配置参数,指定要操作的spring容器配置文件-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:wyxspringmvc.xml</param-value>
    </init-param>
    <!--WyxDispatcherServlet在tomcat启动时,就自动加载-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>WyxDispatcherServlet</servlet-name>
    <!--因为WyxDispatcherServlet作为前端控制器,所以需要拦截所有请求,url-pattern配置 /-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

💗配置 Tomcat, 完成测试

配置 Tomcat   具体步骤我们在讲解 JavaWeb 时  已经操作过 不知道请看 链接

修改WyxDispatcherServlet.java

public class WyxDispatcherServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
            ServletException, IOException {
        System.out.println("WyxDispatcherServlet doGet()被调用");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
            ServletException, IOException {
        System.out.println("WyxDispatcherServlet doPost()被调用");
    }
}

启动 Tomcat完成测试

 😄总结

自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet下面就是实现任务阶段 2- 完成客户端浏览器可以请求控制层

😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列

第一篇->自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet_springmvc分发器

第二篇->自己实现 SpringMVC 底层机制 系列之--实现任务阶段 2- 完成客户端浏览器可以请求控制层

第三篇->自己实现 SpringMVC 底层机制 系列之--实现任务阶段 3- 从 web.xml动态获取 wyxspringmvc.xml

第四篇-> 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 4- 完成自定义@Service 注解功能

第五篇-> 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 5- 完成 Spring 容器对象的自动装配 -@Autowried

第六篇->自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam

第七篇->自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析

第八篇->自己实现 SpringMVC 底层机制 系列之-实现任务阶段 8- 完成返回 JSON 格式数据-@ResponseBody

😁热门专栏推荐

想学习vue的可以看看这个 

java基础合集 

数据库合集 

redis合集 

nginx合集 

linux合集

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

 🤔欢迎大家加入我的社区 尘觉社区

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值