• 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:因作者能力有限,如有误还请谅解;

  • 相关阅读:
    CentOS6.5(1)----设置静态IP并禁用IPV6
    CentOS7运维管理笔记(12)----修改主机名
    重温C语言(1)----计算算术表达式的值
    C++学习笔记(9)----关于变量和数组大小的一道容易出错的面试题
    MySQL数据库(13)----忘记root用户密码解决方案【转载】
    C++学习笔记(8)----C++类的大小
    C++学习笔记(7)----类的数组中构造函数和析构函数的调用顺序
    C++学习笔记(6)----基类和派生类的构造函数和析构函数的执行顺序
    switch的参数类型
    windows下双击可运行的Java软件打包方案(转)
  • 原文地址:https://www.cnblogs.com/WHL5/p/8976050.html
Copyright © 2020-2023  润新知