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">
      ?
         
         <servlet>
             <servlet-name>springmvcservlet-name>
             <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
             
             <init-param>
                 <param-name>contextConfigLocationparam-name>
                 <param-value>classpath:springmvc-servlet.xmlparam-value>
             init-param>
             
             <load-on-startup>1load-on-startup>
         servlet>
      ?
         
         <servlet-mapping>
             <servlet-name>springmvcservlet-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"/>
         
         <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.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>Titletitle>
         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">
      ?
        ....
      ?
         
         <bean id="/hello" class="com.ljxdemo.controller.HelloController"/>
      ?
      beans>
    • 启动Tomcat,测试!