zoukankan      html  css  js  c++  java
  • 尚硅谷面试第一季-10SpringMVC的工作流程

    目录结构:

    关键代码:

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
     5          version="4.0">
     6     <welcome-file-list>
     7        <welcome-file>index.jsp</welcome-file>
     8     </welcome-file-list>
     9     <!-- 设置CharacterEncodingFilter -->
    10     <filter>
    11         <filter-name>CharacterEncodingFilter</filter-name>
    12         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    13         <!-- 设置请求的字符集 -->
    14         <init-param>
    15             <param-name>encoding</param-name>
    16             <param-value>UTF-8</param-value>
    17         </init-param>
    18         <!-- 设置响应的字符集 -->
    19         <init-param>
    20             <param-name>forceEncoding</param-name>
    21             <param-value>true</param-value>
    22         </init-param>
    23     </filter>
    24     <filter-mapping>
    25         <filter-name>CharacterEncodingFilter</filter-name>
    26         <url-pattern>/*</url-pattern>
    27     </filter-mapping>
    28     <servlet>
    29         <servlet-name>springDispatcherServlet</servlet-name>
    30         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    31         <init-param>
    32             <param-name>contextConfigLocation</param-name>
    33             <param-value>WEB-INF/springmvc.xml</param-value>
    34         </init-param>
    35         <load-on-startup>1</load-on-startup>
    36     </servlet>
    37 
    38     <servlet-mapping>
    39         <servlet-name>springDispatcherServlet</servlet-name>
    40         <url-pattern>/</url-pattern>
    41     </servlet-mapping>
    42 
    43     <!-- 注册HiddenHttpMethodFilter,目的是为了将一个POST请求转换为PUT或者DELETE请求 -->
    44     <filter>
    45         <filter-name>HiddenHttpMethodFilter</filter-name>
    46         <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    47     </filter>
    48     <filter-mapping>
    49         <filter-name>HiddenHttpMethodFilter</filter-name>
    50         <url-pattern>/*</url-pattern>
    51     </filter-mapping>
    52 </web-app>

    SpringMVCHandler.java

     1 package SpringMVC的工作流程.handler;
     2 
     3 import java.util.Map;
     4 
     5 import SpringMVC的工作流程.entities.Department;
     6 import SpringMVC的工作流程.entities.Employee;
     7 import org.springframework.stereotype.Controller;
     8 import org.springframework.web.bind.annotation.RequestMapping;
     9 import org.springframework.web.servlet.ModelAndView;
    10 
    11 
    12 
    13 @Controller
    14 public class SpringMVCHandler {
    15     
    16     public static final String SUCCESS="success";
    17 
    18     //1.简单的谈一下SpringMVC的工作流程
    19     
    20     //处理模型数据方式一:将方法的返回值设置为ModelAndView
    21     @RequestMapping("/testModelAndView")
    22     public ModelAndView testModelAndView() {
    23         //1.创建ModelAndView对象
    24         ModelAndView mav = new ModelAndView();
    25         //2.设置模型数据,最终会放到request域中
    26         mav.addObject("user", "admin");
    27         //3.设置视图
    28         mav.setViewName("success");
    29         return mav;
    30     }
    31     /*
    32      * ★处理模型数据方式二:方法的返回值仍是String类型,在方法的入参中传入Map、Model或者ModelMap
    33      *     不管将处理器方法的返回值设置为ModelAndView还是在方法的入参中传入Map、Model或者ModelMap,
    34      *  SpringMVC都会转换为一个ModelAndView对象
    35      */
    36     @RequestMapping("/testMap")
    37     public String testMap(Map<String , Object> map) {
    38         //向Map中添加模型数据,最终会自动放到request域中
    39         map.put("user", new Employee(1, "韩总", "hybing@atguigu.com", new Department(101, "教学部")));
    40         return SUCCESS;
    41     }
    42     
    43 }

    运行结果:

     

    完整代码:

    https://gitee.com/ZhangShunHai/interview_atguigu_seasonone/tree/master/ssm_springmvc%20workflow

    课堂重点:

    SpringMVC工作流程图:

  • 相关阅读:
    计算机基础
    程序的控制结构
    day 04作业
    数据类型-数据类型
    第二次作业
    第二次博客
    第一篇博客
    原生js与ajax应用
    ajax原理及其优缺点
    jQuery动画
  • 原文地址:https://www.cnblogs.com/zsh-blogs/p/10619967.html
Copyright © 2011-2022 走看看