zoukankan      html  css  js  c++  java
  • SpringMVC

    初识SpringMvc

    springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架。Spring MVC是Spring框架的一部分,是在Spring3.0后发布的

    spring结构:

    Mvc模式图解:

    springMvc请求流程:

    request-------->DispatcherServler(中央调度器/前端控制器)-----> HandlerMapping(处理器映射器)------>返回一个执行链----->将执行链转交给HandlerAdaptor(处理器适配器)----->调度Handler(处理器)-----> ModelAndView----->先将结果交给HandlerAdaptor,然后再由HandlerAdaptor转交给 DispatcherServler--------->DispatcherServler调度ViewResolver(视图解析器)---->交给DispatcherServler-------> 寻找View---->View做出响应(response)

    springMvc初次配置:

    步骤一:引入jar包

    由于springMVC与spring框架天然集成,所以不需要其他类型的jar包

    步骤二:配置web.xml配置文件

    复制代码
    复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name></display-name>    
      <!-- 监听器 -->
      
      <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:applicationContext.xml</param-value>
        </init-param>
        <!-- tomcat服务一启动,就加载以上步骤 -->
        <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      <!-- <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
      </servlet-mapping> -->
      
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    复制代码
    复制代码

    步骤三:配置控制器类

    复制代码
    复制代码
    package cn.happyl.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    public class FirstController implements Controller {
    
        public ModelAndView handleRequest(HttpServletRequest request,
                HttpServletResponse response) throws Exception {
            ModelAndView mv=new ModelAndView();
                    //返回逻辑视图名
            mv.setViewName("index");
                   //在作用域中放入数据
            mv.addObject("hehe", "zz");
            return mv;
        }
    
    }
    复制代码
    复制代码

    步骤四:配置applicationcontext.xml文件

    关于urlpatten的说法

    最好配成*.do 不能配成/* 无法访问*.jsp等动态资源 最好也不要配成/ 无法访问静态资源 不得不配成/ Restful编程 rest

    DispatcherServlet会将向动态页面请求,即向jsp页面的跳转请求也当做是一个普通的Controller请求。中央调度器会调用处理器映射器为其查找相应的处理器。当然是找不到的。jsp页面会报404错误 结论:/*会拦截动态资源

    方案一:使用Tomcat默认的Servlet解决

    方案二:

    会将对静态资源的访问请求通过HandlerMapping映射到默认Servlet请求处理器DefaultServletRequestHandler对象。而该处理器调用了Tomcat的DefaultServlet来处理静态资源的访问请求。当然需要引入mvc约束

    方案三:详见配置文件

  • 相关阅读:
    Go语言 插入排序并返回排序前的索引
    使用patch-package定制node_modules 中的依赖包
    移动端 rem自适应布局 (750的设计稿)
    通过原型截获input.value的方法
    ts 使用 keyof typeof
    logrotate日志管理工具
    【LeetCode刷题】239.滑动窗口最大值
    【LeetCode刷题】剑指Offer 48.最长不含重复字符的子字符串
    【LeetCode刷题】912. 排序数组
    【LeetCode刷题】744. 寻找比目标字母大的最小字母
  • 原文地址:https://www.cnblogs.com/szj-ang/p/6198255.html
Copyright © 2011-2022 走看看