zoukankan      html  css  js  c++  java
  • SSM应用(四)--SpringMVC入门

    SpringMVC的概念

      是一个web层框架,本质是一个巨大的servlet;

      所有的请求都会发送到SpringMVC这个servlet:@WebServlet(“/”);

      所有的相应都是有SpringMVC发出;

      SpringMVC将请求分发到对应的Java类;

      SpringMVC容器:管理很多个Java类的实例,分发请求的对象;

      Web:用于处理跳转和数据传递的问题;

      SpringMVC如何使用

        首先需要引入SpringMVC需要的Jar包,下载地址:http://repo.spring.io/release/org/springframework/spring/

        配置SpringMVC这个Servlet,在web.xml中配置为servlet;

         

          SpringMVC是一个Servlet,用于接收 *.action的请求;

         配置SpringMVC的核心配置文件;

          SpringMVC的核心配置文件本质上是一个Spring的配置文件;需要找到bean的实例;

          告诉DispatcherServlet要使用的核心配置文件在哪儿;

        

        核心配置文件需要配置什么内容:

          请求线:

            SpringMVC本身就是一个Spring的概念:管理bean和bean之间的关系;

            SpringMVC这个servlet需要找到普通Java类(bean)

          响应线:

            视图对应:SpringMVC给的是逻辑视图——需要转换为物理视图

            返回的响应有很多种,通过逻辑视图的方式去寻找物理视图(类似键值对的方式)

            视图解析器:

      实现SpringMVC管理的控制层的类:Controller;

        是SpringMVC分发请求的普通Java类

         

        通过包扫描,HelloController类就会成为SpringMVC能够直接使用的bean实例

           

        通过视图解析,返回值result就会被解析为:/result.jsp;

        @RequestMapping:是映射URL的关键;

    SpringMVC的配置详解

      @RequestMapping的配置

      1、窄化请求

        该类下所有的方法的请求路径都会携带上层路径信息

        

      2、限制http请求方法

        设定只能接收post或者get请求,若不是则会报错;

        

      controller方法的返回

      1、返回String

        直接返回逻辑视图名,通过视图解析器解析,定位到屋里视图;

        重定向和请求转发:

        重定向:返回”redirect:+路径”;

        

        请求转发:返回”forward:+路径”

        

        实例

        

        在重定向中:request是第二个请求,得不到值;请求转发的时候,request是同一个请求,可以得到值;

      2、返回void

         返回void的时候,直接使用原生的request和response对象来进行相应的返回

        

      3、返回ModelAndView

        Model:参数模型

        View:视图

        ModelAndView可以同时完成参数的传递和页面的跳转,取代了取代了request.setAttribute(),session.setAttribute....

        

      4、Model/ModelMap/Map/View

        Model:一个模型对象,主要包含spring封装好的model和modelMap,以及java.util.Map,当没有视图返回的时候视图名称将由requestToViewNameTranslator决定;

        ModelMap:ModelMap 返回值为modelMap时,响应的URL和请求的URL一致。只是存储在MpdelMap中的数据可以在jsp页面中取出。

         

        Map:与ModelMap类似。在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。响应的URL和请求的URL一致

         

        View:可以返回pdf、excel等

        注:

        使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。

        使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。

        使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。

    PS:因作者能力有限,如有误还请谅解;

  • 相关阅读:
    print 带颜色打印
    bootstrap-duallistbox使用
    Linux 查看和更改系统字符集
    nginx 不重装实现动态添加模块
    ubuntu 安装openssh-server出现依赖关系解决
    linux安装和使用zookeeper
    网页背景蜘蛛丝特效
    RabbitMQ与SpringBoot整合
    Redis常用命令
    设计模式(Design Patterns)
  • 原文地址:https://www.cnblogs.com/WHL5/p/8976050.html
Copyright © 2011-2022 走看看