😀前言
本文是自己实现 SpringMVC 底层机制的第一篇--搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet
🏠个人主页:[尘觉主页](https://blog.csdn.net/apple_67445472?type=blog)
🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
在csdn获奖荣誉: 🏆csdn城市之星2名
💓Java全栈群星计划top前5
🤗 端午大礼包获得者
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊
完成手写功能介绍
- 核心分发 控制器
- Controller 和 Service 注入容器
- 对象自动装配
- 控制器 方法获取参数
- 视图解析
- 返回 JSON 格式
文章目录
💝自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet
💞实现任务阶段 1- 开发 WyxDispatcherServlet
修改web.xml, 完成 WyxDispatcherServlet 的
💝自己实现 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
😁热门专栏推荐
等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持
🤔欢迎大家加入我的社区 尘觉社区
文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞