?个人主页:[尘觉主页](https:///apple_67445472?type=blog)
?个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力??
在csdn获奖荣誉: ?csdn城市之星2名
?Java全栈群星计划top前5
? 端午大礼包获得者
完成手写功能介绍
- 核心分发 控制器
- Controller 和 Service 注入容器
- 对象自动装配
- 控制器 方法获取参数
- 视图解析
- 返回 JSON 格式
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>
<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>
编写 WyxDispatcherServlet 充当原生的 DispatcherServlet(即核心控制器)
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);
}
}
充当 原生的 applicationContext-mvc.xml 文件 (就是 spring 的容器配置文件 比如指定要扫描 哪些包下的类) 先创建给空的文件
<!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 具体步骤我们在讲解 JavaWeb 时 已经操作过 不知道请看
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()被调用");
}
}
自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet下面就是实现任务阶段 2- 完成客户端浏览器可以请求控制层
?自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列
第一篇->
第二篇->
第三篇->
第四篇->
第五篇->
第六篇->
第七篇->
第八篇->
?热门专栏推荐
等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持
?欢迎大家加入我的社区
文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论?
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读?
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力?