几种控制器介绍
来源:互联网 发布:网络教育课程 编辑:程序博客网 时间:2024/06/13 04:51
这里一共跟大家介绍四种控制器:AbstractController、CommandContorller(命令控制器)、FormController(表单控制器)、WizardFormController(向导表单控制器)。
一、AbstractController
这是最基本的控制器,之前有提到过,直接继承AbstractController这个类,需要重写它的handleRequestInternal方法。
二、CommandContorller(命令控制器)
用的时候,是去继承AbstractCommandController类,重写这个类的handle方法
(这个父类上划横线没关系的,只是不建议使用,因为springMVC现在都建议使用注解了,没关系,不建议使用还是可以用的~)
参数列表中的Object参数是用来接收表单数据的,并将接收的数据封装成一个实体类对象。
如何接收数据并封装成对象呢,在这之前我们可以随便先建一个实体类Person,然后在我们刚写的控制器类中写一个注册命令类:
这样,请求中附带的参数就会被封装成Person类的对象。
三、FormController(表单控制器):
涉及到表单提交的时候,我们会用到表单控制器。
需要继承SimpleFormContorller,并重写这个类的doSubmitAction方法(虽然继承了之后不是强制的需要重写这个方法,但是我们依然要进行重写)。
其次,我们依然需要一个注册命令类,因为表单提交,我们需要拿到传过来的数据。
代码参考如下:
我们看到这个方法没有返回ModelAndView对象,那返回哪个页面呢?我们需要在配置文件中进行配置,配置如下:
视图解析器的配置就不再介绍了,想了解的同学请看之前的帖子《第一个SpringMVC例子》。
相当于我们访问myform.action的时候,控制器识别是get方式,会跳转至personForm.jsp页面,填写表单,点击提交后,会调用我们写的表单控制器,同样,控制器识别是post方式提交,提交成功会转发至success.jsp页面。
(get是从服务器上获取数据,post是向服务器传送数据。可以先这样简单粗暴地理解一下)
四、WizardFormController(向导表单控制器)
什么情况下会用到这种控制器呢?我们在注册某个网站的时候,需要填写的信息很多,有时候需要写完一页,要继续填写下一页的信息,直到注册成功。还有网购的时候,经常也需要填写好几页的信息,一直下一步下一步直到完成支付。当然,类似的情况还有很多,这种情况下,我们需要用到向导控制器。
需要继承AbstractWizardFormController类,重写这个类的processFinish方法。
我们先写好控制器:
解释一下:我们需要从请求中拿数据,所以注册命令类必须要写上(不然会报500错误)。
最终完成后返回success.jsp。
接下来我们以注册为例,完成控制器的配置:
配置中的1、2、3就是未来要展现给用户的注册时填写信息的页面,注意是有顺序的。好,我们创建好这三个页面:
1.jsp:
2.jsp:
这个代码有点问题,大家把“下一步”的“_target1”改为“_target2”
3.jsp
注意:_target指的是要跳转到第几个页面,从0开始是第一个页面。
完成上面的工作,就可以部署到tomcat中试一试了~~~
- 几种控制器介绍
- 几种控制器映射介绍
- SpringMVC 几种控制器介绍
- 常见的几种视图控制器
- 视图控制器更换几种方法
- 几种控制器跳转的效果区别
- 控制器的几种跳转方式
- 控制器跳转的几种方式
- spring mvc的几种控制器
- 几种Shell介绍
- 几种portal介绍
- 几种加密算法介绍
- 从一个视图控制器切换到另一个视图控制器的几种方式
- 从一个视图控制器切换到另一个视图控制器的几种方式
- 从一个视图控制器切换到另一个视图控制器的几种方式
- 从一个视图控制器切换到另一个视图控制器的几种方式
- 从一个视图控制器切换到另一个视图控制器的几种方式
- 控制器几种创建方式以及控制器的view的创建
- IOS7 label 宽度高度自适应
- Linux之旅(I)——Ubuntu 12.04/14.04 LTS 安装
- STM8使用----STVD(COSMIC)定义变量指定其类型和位定义
- 解析:求最大公约数的“辗转相除法原理”
- Linux环境进程间通信(五):共享内存(上)
- 几种控制器介绍
- 黑马程序员—【Java基础篇】之GUI
- word2003转2007
- iperf mips移植
- iocp(完成端口)采用WSARecv WSASend处理数据,WSASend群发(广播)消息
- 七.Linux环境进程间通信(五):共享内存(下)
- HDU 1085 Holding Bin-Laden Captive!
- IIS解决IFRAME中COOKIE、SESSION丢失
- Perl 打印关键字上下行