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

posted @ 2018-04-02 21:28  林被熊烟岛  阅读(151)  评论(0编辑  收藏  举报