SpringMVC_原理分析,执行流程

先看看MVC的各个层的功能

Controller:控制器

  • 取得表单数据
  • 调用业务逻辑
  • 转向指定的页面

Model:模型

  • 业务逻辑
  • 保存数据的状态

View:视图

  • 显示页面

通过HelloSpring了解原理

1、新建一个Moudle , 添加web的支持!
2、导入了SpringMVC 的依赖!
3、配置web.xml , 注册DispatcherServlet,

    <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-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>

4、编写SpringMVC的配置文件!

<?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">
</beans>

5、添加 处理器映射器

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

6、添加 处理器适配器

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

7、添加 视图解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
   <property name="prefix" value="/WEB-INF/jsp/"/>
   <property name="suffix" value=".jsp"/>
</bean>

8、编写Controller 层,要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;

public class HelloController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView mv =new ModelAndView();
        String result = "helloSpringMVC";
        mv.addObject("message",result);
        mv.setViewName("test");
        return mv;
    }
}

9、将自己的类交给SpringIOC容器,注册bean

<bean id="/hello" class="com.kuang.controller.HelloController"/>

10、写要跳转的test.jsp页面,显示ModelandView存放的数据.

可能遇到的问题:访问出现404,

如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!

springMVC执行原理,(摘狂神说图片)

posted @ 2023-01-01 22:05  Fannaa  阅读(17)  评论(0)    收藏  举报