SpringMVC学习05:深入SpringMVC学习

SpringMVC学习05:深入SpringMVC学习

  • 深入SpringMVC学习:

    • 理解SpringMVC的执行步骤;

 

 

  • SpringMVC的执行步骤:

    • 1,在web.xml中,配置注册DispatcherServlet;

      • 并在DispatcherServlet中去关联springmvc-servlet.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">

         <!--配置DispatcherServlet:这个是SpringMVC的核心,请求分发器,前端控制器-->
         <servlet>
             <servlet-name>springmvc</servlet-name>
             <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
             <!-- DispatcherServlet要绑定SpringMVC的配置文件 -->
             <init-param>
                 <param-name>contextConfigLocation</param-name>
                 <param-value>classpath:springmvc-servlet.xml</param-value>
             </init-param>
             <!--启动级别 :1 服务器启动,它就启动 -->
             <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>
    • 2,新建springmvc-servlet.xml配置文件:

      • 注册bean:处理器映射器

      • 注册bean:处理器适配器

      • 注册bean:视图解析器

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


         <!-- 处理器映射器 -->
         <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
         <!-- 处理器适配器-->
         <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
         <!--视图解析器 : 模板引擎 Thymeleaf , Freemarker -->
         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
             <!--
              mybatis:trim标签:
                 prefix:前缀
                 suffix:后缀
             -->
             <property name="prefix" value="/WEB-INF/jsp/"/>
             <property name="suffix" value=".jsp"/>
         </bean>

         <!--BeanNameUrlHandlerMapping:它会根据bean的名字去适配,所以需要注册bean-->
         <bean id="/hello" class="com.ljxdemo.controller.HelloController"/>
      </beans>
    • 3,新建控制器HelloController:

      • 1,实现Controller接口;

      • 2,返回ModelAndView;

      • 3,封装业务代码;

      • 4,封装视图跳转;

      public class HelloController implements Controller {

         public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
             ModelAndView mv= new ModelAndView();
             //业务代码
             String result="helloSpringMVC";
             mv.addObject("msg",result);
             //视图跳转
             mv.setViewName("test");

             return mv;
        }
      }
    • 4,编写视图跳转的JSP页面:

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <html>
         <head>
             <title>Title</title>
         </head>
         <body>
            ${msg}
         </body>
      </html>
    • 5,在springmvc-servlet.xml中注册bean:

      • 因为处理器映射器( BeanNameUrlHandlerMapping)会根据bean的名字去寻找控制器Handler,

      • 所以需要在springMVC的配置文件中注册该控制器的bean;

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

        ....

         <!--BeanNameUrlHandlerMapping:它会根据bean的名字去适配,所以需要注册bean-->
         <bean id="/hello" class="com.ljxdemo.controller.HelloController"/>

      </beans>
    • 启动Tomcat,测试!

 

 

 

 

 

posted @   gzs1024  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示