目录
一、项目结构
注。jar包以前的文章有链接。
二、项目文件
1、web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<!-- 配置前端过滤器-->
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 初始化时加载配置文件。-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<!-- 表示在容器启动时立即加载Servlet-->
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2、springmvc-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://springframework.org/schema/beans/spring-beans-4.3.xsd">
<!--
1、首先定义一个名称为:/firstController的Bean。改Bean会将控制器类FirstController映射到/firstController请求中。
(我的理解就是WEN浏览器访问的时候就能被访问到。因为他把FirstController映射到这个请求中了。)
2、然后配置处理器映射器BeanNameUrlHandlerMapping 和 处理器适配器:SimpleControllerHandlerAdapter
(1)、其中处理器映射器用于将处理器Bean中的name(即URL)进行处理器查找。
(2)、处理器适配器用于完成对FirstController处理器中handleRequest()方法的调用。
3、最后配置视图解析器。来解析结果。并将结果呈现给用户。
(spring4以后就算不配置,也会自定使用默认完成。)
-->
<!-- 配置处理器Handle,映射/firstController请求。-->
<bean name="/firstController" class="com.stx.controller.FirstController"></bean>
<!-- 处理器映射器,将处理器Handle的name作为url进行查找-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- 处理器适配器,配置对处理器中handleRequest()方法的调用。-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- 视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
</beans>
3、FirstController.java
package com.stx.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* handleRequest()是接口的实现类方法,FirstController会调用该方法来处理请求,并返回
* 包含视图名 或者 包含视图名和模型的ModelAndView对象。
* 本案例:
* 1、向模型对象中添加一个名称为msg的字符串对象。
* 2、设置返回的视图路径为:/WEB-INF/jsp/first.jsp。作用:请求就会转发到first.jsp页面。
*
* */
public class FirstController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
// 创建ModelAndView对象
ModelAndView mav = new ModelAndView();
// 向模型对象中添加数据
mav.addObject("msg","这是我的第一个Spring mvc 程序");
// 设置逻辑视图名
mav.setViewName("/WEB-INF/jsp/first.jsp");
return mav;
}
}
4、first.jsp
<%--
Created by IntelliJ IDEA.
User: TAN
Date: 2021/3/6
Time: 16:57
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>入门程序</title>
</head>
<body>
${msg}
</body>
</html>
三、项目解释见注解