首页 > 其他分享 >SpringMVC 原理

SpringMVC 原理

时间:2022-11-05 16:47:04浏览次数:54  
标签:web SpringMVC import springmvc mv ModelAndView 原理 servlet

1.原理图(实现代表自动装配完成,虚线我们需要实现的地方)

 

 

 2.实现步骤

 

 3.实现

 

 HelloController.java

package com.zxy.contorller;

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

public class HelloController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {

        ModelAndView mv = new ModelAndView();

        String result = "123456";

        mv.addObject("msg",result);

        mv.setViewName("test");
        return mv;
    }
}

 

 spring配置

<?xml version="1.0" encoding="UTF8"?>
<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-3.2.xsd">

        <!--1.配置处理器映射器-->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
        <!-- 2.处理器适配器   -->
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
        <!-- 3. 视图解析器      -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
            <!--   前缀         -->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!--    后缀        -->
            <property name="suffix" value=".jsp"/>
        </bean>

        <bean id="/hello" class="com.zxy.contorller.HelloController"/>
</beans>

 

 web,xml配置 (配置springMVC的核心  DIspatcherServlet )

<?xml version="1.0" encoding="UTF8"?>
<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">
    <!--  注册一个DispatcherServlet  -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--  关联一个springmvc的配置文件: servlet-name -servlet.xml      -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--  启动级别      -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- springMVC中
       /:  只匹配所有的请求,不会去匹配jsp页面
       /*:  会匹配所有的页面,包括jsp
       -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

 

 test.jsp

<%--
  Created by IntelliJ IDEA.
  User: zxy
  Date: 2022/11/5
  Time: 15:43
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
</body>
</html>

 

标签:web,SpringMVC,import,springmvc,mv,ModelAndView,原理,servlet
From: https://www.cnblogs.com/kidzxy/p/16860498.html

相关文章

  • 解决在idea中使用springMvc向mysql写入中文数据乱码
    相关设置:1、idea编码格式设置:   2、MySQL的相关编码格式设置:修改前编码:无用操作:之前通过命令行修改编码格式:setcharacter_set_client=utf8......
  • 随机森林算法原理
    随机森林算法原理:随机森林是从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合,然后根据自助样本集生成k个分类树组成随机森林,新数据的分类结果按分......
  • LeakCannary 的主要原理
    大概可以分为以下几步:((1)监测Activity的生命周期的onDestroy()的调用。(2)当某个Activity的onDestroy()调用后,便对这个activity创建一个带ReferenceQueue的......
  • js的bind 的原理
    js的bind方法主要绑定this的指向bind方法也会返回是个bind后的函数。知道它功能我们就可以自定义bind功能letobject={name:'jeff'}functionfn(){console.log(thi......
  • 7点 讲明白地图切片的概念与原理
      有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少......
  • SpringMVC源码-DispatcherServlet处理请求概述
    请求由Servlet的doService处理。DispatcherServlet.doService(HttpServletRequestrequest,HttpServletResponseresponse)protectedvoiddoService(HttpServletReques......
  • 你知道Vue响应式数据原理吗
    1.Vue2的响应式式原理主要是通过Object.defineProperty的方法里面的setter和getter方法的观察者模式来实现。也就是在组件的初始话阶段给每一个data属性都注册一个setter......
  • SpringMVC
    《解释一下tomcat服务器中ApplicationContext与thymeleaf在解析路径时的问题》《关于tomcat》在我们将项目部署到tomcat服务器上的时候,经常要配置如下的:  我们知道......
  • ThreadLocal的使用及原理解析
    #基本使用JDK的lang包下提供了ThreadLocal类,我们可以使用它创建一个线程变量,线程变量的作用域仅在于此线程内。<br/>用2个示例来展示一下ThreadLocal的用法。**示例一:*......
  • 文件操作以及IO流原理及流的分类
    文件1、什么是文件?文件是我们保存数据的地方。2、文件流文件在程序中是以流的形式来操作的。流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到......