• spring MVC原生代码配置


    1.web.xml配置入口地址


     

    在url-pattern里。规定了所有的*.acion都会被拦截。拦截后到配置文件进行相应的规则

    2.控制器类

    1.配置控制器

    控制器类是定义了页面转发规则。在配置控制器中。spring mvc 框架要求其必须重写handleRequestInternal方法。


     

    ** 这里的ModelAndView 是指要渲染的页面。比如这里返回了home。在经过配置文件的视图解析器时,即代表我想要返回 前缀+home+后缀的 这个页面

    2.命令控制器

    用来将url的参数转成javaBean


     

    3.表单控制器


     

    表单控制器不返回ModelAndView 。判断具体返回的ModelAndView 是在控制器里的value指定的

    4.向导表单控制器

    使用场景:用户注册


     

    3.配置文件信息:

    3.1视图解析器

    解析 在controller里返回的ModelAndView ,本例中返回home. 所以最后解析结果为:前缀+home+后缀------- /WEB-INF/jsps/home.jsp


     

    3.2三种处理器映射:

    1.bean名url处理器映射(默认,可不写,推荐)


     

    **order 代表这个映射的优先级

    使用此映射关系时。会使用配置控制器中的name属性。来得到要映射的地址

    2.简单url处理器映射(要配置信息多,不推荐)


     

    3.控制器类名处理器映射(可能存在不同报同名controller,不推荐)


     

    3.3控制器:

    1.配置控制器


     

    2.命令控制器


     

    3.表单控制器


     

    formView和successView是框架枚举的。value是页面的逻辑名

    表单所在页面(formView-get请求)是persionForm.jsp

    提交成功页面(post请求)是success.jsp

    4.向导表单控制器


     

    这里要注意表单控制器的页面跳转是根据按钮的name属性决定的


     

    这里的_target0表明要跳转到/wizard/1 index从0开始 与顺序有关

    _target0  表示 /wizard/1

    _target1  表示 /wizard/2

    _target2  表示 /wizard/3

    _cancel  会调用控制器类中的processCancel方法

    _finish  会调用控制器类中的processFinish方法

    总结:

    1.在web.xml 中。表明要拦截的地址是*.action, 所以 home.action被拦截到了

    2.处理器映射是用BeanNameUrlHandlerMapping,所以用控制器的name。与之匹配

    3.找到匹配项

    4.跳到对应的控制类cn.itcast.springmvc.controller.HomeController 里。

    5.控制器类返回的ModelAndView 为home。

    6.视图解析器进行封装解析,得到页面地址,要重新刷新的页面是 /WEB-INF/jsps/home.jsp

  • 相关阅读:
    [Vue] Create Filters in Vue.js
    [Vue] Import component into page
    [Angular Form] ngModel and ngModelChange
    [Ramda] Convert a QueryString to an Object using Function Composition in Ramda
    [Vue] Use basic event handling in Vue
    [Ramda] Declaratively Map Data Transformations to Object Properties Using Ramda evolve
    Linux2.6内核--VFS层中和进程相关的数据结构
    [置顶] Firefox OS 学习——Gaia 编译分析
    ORACLE 索引概述
    【笔试&面试】C#的托管代码与非托管代码
  • 原文地址:https://www.cnblogs.com/linhongwenBlog/p/8697744.html
Copyright © 2020-2023  润新知