0
点赞
收藏
分享

微信扫一扫

SpringMVC之ModeAndView

汤姆torn 2022-03-12 阅读 75
mvc
  1. 添加依赖
<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.10</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.3</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
  1. 继承Controller
public class ModeAndViewExample implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView mv = new ModelAndView();
        mv.addObject("username","露丝");
        mv.addObject("age",18);
        return mv;
    }
}
  1. spring-servlet.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://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--
    这个是 SpringMVC 的配置文件
    -->

    <!--
    这里主要定义两个组件:
    1. 处理器映射器(HandlerMapping):根据请求的 URL 地址找到对应的接口
    2. 处理器适配器(HandlerAdapter):去执行第一步找到的处理器(处理器+拦截器)
    -->
    <bean class="com.qfedu.demo.controller.HelloController2" id="hello"/>

    <!--
    这是一个处理器映射器:
    BeanNameUrlHandlerMapping:将 Bean 的名字和 URL 映射起来。
    当 SpringMVC 收到 http://localhost:8080/springmvc01/hello 请求,他会首先提取出请求路径,/hello, 然后去查找一个名叫 /hello 的bean,该请求将由该 bean 处理
    -->
<!--    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" id="handlerMapping"/>-->
    <!--
    这也是一个处理器映射器,这个需要一一配置请求URL地址和 Bean 之间的映射关系
    -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" id="handlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello">hello</prop>
            </props>
        </property>
    </bean>
    <!--
    这是一个处理器适配器,这个适配器用来执行通过实现 HttpRequestHandler 接口来定义的接口
    -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    <!--
    配置视图解析器
    不同的视图,如 jsp、freemarker、thymeleaf 等都对应了不同的视图解析器
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="viewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <!--视图的前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--视图的后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>
  1. jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${username}
<hr>
${age}
</body>
</html>

举报

相关推荐

0 条评论