zoukankan      html  css  js  c++  java
  • SpringMVC初步

    一、SpringMVC简介

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

    二、Spring结构图

    三、SpringMVC架构图

    四、SpringMVC请求流程图

     

    五、SpringMVC请求流程文字描述:

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


    六、第一个入门案例:

     案例:用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在页面中显示。

    步骤:

    ①在web.xml中配置前端控制器

    ②处理器映射器(HandlerMapping)

    ③处理器适配器 (HandlerAdaptor)

    ④处理器

    ⑤视图解析器(ViewResolver)

    1、引入jar文件


     2、注册中央调度器[Web.xml]

     


     3、控制器

     


    4、applicationContext.xml配置文件。配置视图解析器以及注册处理器

     


     5、jsp页面

    实现效果:


    七、关于urlpattern 

    最好配成*.do

    不能配成/* ===[无法访问*.jsp等动态资源]

    最好也不要配成/ === [无法访问静态资源]

    不得不配成/

     如果url-pattern配成/*,则无法访问动态资源,出现404. 如果配成/ ,则无法访问静态资源,图片无法显示。

    不能配成/*缘由:

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

    结论:/*会拦截动态资源

    不能配成/:

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

     


    方案二:使用MVC的default-servlet-handler

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

     


    方式三:使用MVC的resource解决

    在Spring3.0.4之后,Spring定义了专门用于处理静态资源请求的处理器ResourceHttpRequestHandler。并且添加了<mvc:resources/>标签,专门用于解决静态资源无法访问问题。

     Location:静态资源所在目录

    mapping: 对资源的请求

    注意:需要Tomcat7支持

    效果图:


     八、配置式开发--BeanNameUrlHandlerMapping 

    <!-- 配置处理器映射器 --> 
       <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
    

     配置式开发--SimpleUrlHandlerMapping 

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name="mappings">
      <props>
      <prop key="/hello.do">firstController</prop>
       <prop key="/sayhello.do">firstController</prop>
      </props>
      </property>
      
      </bean>
    

      

     <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name="urlMap">
      
      <map>
      <entry key="/hello.do">
      <value>firstController</value>
      </entry>
      
       <entry key="/sayhello.do">
      <value>firstController</value>
      </entry>
      
      </map>
      
      </property>
      </bean>
    

     

  • 相关阅读:
    计算机网路知识的简单介绍
    计算机的发展史及多道技术
    计算机基础知识
    Flask学习【第11篇】:整合Flask中的目录结构
    Flask学习【第10篇】:自定义Form组件
    Flask学习【第9篇】:Flask-script组件
    Flask学习【第8篇】:flask-session组件
    Flask学习【第7篇】:Flask中的wtforms使用
    Flask学习【第6篇】:Flask中的信号
    Flask学习【第4篇】:用Flask的扩展实现的简单的页面登录
  • 原文地址:https://www.cnblogs.com/WJ-163/p/6197748.html
Copyright © 2011-2022 走看看