配置版

配置web.xml,注册DispatchServlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0">
    <!-- 1. 注册 DispatchServlet -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 通过初始化参数指定 Springmvc 配置文件的位置和名称 -->
        <init-param>
            <!-- contextConfigLocation 为固定值 -->
            <param-name>contextConfigLocation</param-name>
            <!-- 使用classpath: 表示从类路径查找配置文件,例如maven工程中的src/main/resource -->
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!-- 将前端控制器 DispatcherServlet 的初始化时间提前到服务器启动时 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- / 匹配所有请求(不包括.jsp) -->
    <!-- /* 匹配所有请求(包括.jsp) -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

编写SpringMVC的配置文件,名称为:springmvc.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"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
</beans>

在mvc配置文件添加处理映射和处理器适配器。

<!-- 处理映射器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

添加试图解析器

<!-- 试图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!-- 前缀 -->
    <property name="prefix" value="/jsp/"/>
    <!-- 后缀 -->
    <property name="suffix" value=".jsp"/>
</bean>

编写业务层Controller,要么实现Controller接口,要么增加注解;返回一个ModelAndView,装数据。

package com.example.controller;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class HelloController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        // 创建模型数据和视图对象
        ModelAndView mv = new ModelAndView();
        // 设置模型数据,用于传递给视图
        mv.addObject("message", "Hello Spring MVC");
        // 设置视图名,视图解析器会根据名字解析到具体的视图页面
        mv.setViewName("app");
        return mv;
    }
}

在SpringIOC容器,注册bean

<!-- name 对应请求路径,class对应处理请求的类 -->
<bean id="/app" class="com.example.controller.HelloController"/>

最后更新于

这有帮助吗?