ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:543.92KB ,
资源ID:21086193      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21086193.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SpringMVC学习笔记文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SpringMVC学习笔记文档格式.docx

1、/bean.通过参数控制器访问页面流程解析:也可以直接在参数控制器里定义name属性,直接通过name属性地址来访问。如下: name=/mmmm.do但要注意的是:配置文件里必须有BeanNameUrlHandlerMapping;如果配置了其他映射的情况下,默认映射将会被覆盖;以name属性;来访问将会失败。 命令控制器.创建自定义命令控制器接收url传递过来的参数并封装到javabean。public class MyCommandController extends AbstractCommandController protected ModelAndView handle(Http

2、ServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception User u = (User) command; System.out.println(u.getUserName()+|+u.getPassword(); return new ModelAndView(,user,u); .创建javabean类public class User private Integer id;private String userName;priva

3、te String password;private Integer age;public Integer getId() return id;public void setId(Integer id) this.id = id;public String getUserName() return userName;public void setUserName(String userName) this.userName = userName;public String getPassword() return password;public void setPassword(String

4、password) this.password = password;public Integer getAge() return age;public void setAge(Integer age) this.age = age;.在springmvc里面有如下配置。comm/comm.docn.itcast.controller.MyCommandController commandClasscn.itcast.domain.User.使用简单url进行访问,参数被封装进javabean。http:/localhost:8080/mysm/comm.do?id=1&userName=zh

5、angsan&password=123&age=13.首先:springMVC有三个映射器,如果不定义映射Mapping,那么就会使默认: org.springframework.web.servlet.handler.SimpleUrlHandlerMapping prop key=/hello1.dotestController/a.do/props org.springframework.web.servlet.view.InternalResourceViewResolverprefix/WEB-INF/jsp/suffix.jsp 第三个Mapping:org.springframe

6、work.web.servlet.mvc.support.ControllerClassNameHandlerMapping这个Mapping一配置:我们就可以使用Contrller的 类名.do来访问这个Controller.访问形式如下:8080/myspringmvc/testController.do或者8080/myspringmvc/testController这样的形式都可访问到index页面。 也可以在前台传入参数:8080/myspringmvc/testController1.do?name=hhhh在后台接收如下:String name = req.getParamete

7、r(name); System.out.println(这里是springmvc!,name);在页面使用EL表达式获取值。1. SpringMvc的三个控制器。 命令控制器CommandController(命令控制器)public class MyCommandController extends AbstractCommandController public MyCommandController() this.setCommandClass(User.class); this.setCommandName( Override / TODO Auto-generated method

8、stub System.out.println(u.getName();command- 命令控制器 -bean name=/command.do页面就可以采用如下方式进行获取: return null;配置文件:bean name=说明:在domain包里面定义User类:并为User的name,sex,age属性生成setter,Getter方法。当我们使用:command.do访问时,使用get请求:?name=oo&sex=man&age=17后台继承AbstractCommandController这个类的命令控制器将会自动获取并封装这个三个值。并放入command。 表单控制器Fo

9、rmController(表单控制器)public class MyFormContrller extends SimpleFormController public MyFormContrller() / TODO Auto-generated constructor stub protected void doSubmitAction(Object command) throws Exception System.out.println(u.getName()+kkkooo super.doSubmitAction(command);- 表单控制器 -/form.docn.itcast.c

10、ontroller.MyFormContrllersuccessViewsuccessformViewform24.2.4AbstractWizardFormController(1)在使用Eclipse或者Netbeans之类的IDE进行开发的时候,如果我们新建一个工程或者文件,这些IDE通常都会提供多步的向导帮助我们一步一步完成相应部件的创建。在某些Web应用程序中,也存在类似的操作场景,比如,要注册某个网站的会员,注册过程可能就包括多步,每一步会提示输入某一方面的信息,以帮助我们简化操作流程。对于这种向导式的简单的多页面流程实现,我们可以求助于AbstractWizardFormCont

11、roller,它可以帮助我们简化类似场景的开发工作。注意实际上,AbstractWizardFormController也只是面向简单的多页面流程处理,它所管理的多个页面表单中的数据,最终都是绑定到一个Command对象上的。只不过是每个页面绑定一部分而已。如果要在Web应用程序中处理更复杂的页面流程交互,建议集成Spring Web Flow(http:/www.springframework.org/Webflow),Expert Spring MVC and Web Flow一书对Spring Web Flow进行了详尽的介绍。1. AbstractWizardFormControlle

12、r浅析说白了,AbstractWizardFormController实现类就是要处理组成向导流程的所有页面所发起的Web请求。但与SimpleFormController处理单个表单页面不同,AbstractWizardFormController要管理多个表单页面的显示以及提交数据的处理工作。图24-12对AbstractWizardFormController如何管理整个向导流程给出了一个概况,我们对AbstractWizardFormController的认识将在这个的基础上展开。(点击查看大图)图24-12AbstractWizardFormController的Web请求处理结构P

13、age1、Page2和Page3是组成向导流程的页面,这些页面提交的Web请求将统一由我们的AbstractWizardFormController接收并处理。但AbstractWizardFormController如何知道当前该显示哪个页面?它又是如何判断哪个页面提交的请求是最终的结束向导流程的Web请求呢?AbstractWizardFormController将根据每个页面请求所包含的特定参数来决定如何对当前请求进行处理,这些特定的参数我们可以分为如下三类。PARAM_TARGET参数。PARAM_TARGET参数用于指定目标页面,它的形式为_target后缀页面索引,比如_targe

14、t0、_target1等。当AbstractWizardFormController实现类接收到这种类型的参数的时候,它只是将当前请求中的相应参数绑定到Command对象上,然后根据PARAM_TARGET参数后缀的目标页面索引显示相应的页面。PARAM_FINISH参数。PARAM_FINISH参数的表示形式为_finish。如果AbstractWizard- FormController实现类接收到该参数,则表示整个向导流程结束,可以调用process- Finish(.)方法处理最终的表单数据,并将页面转向任何一个想要转到的页面。PARAM_CANCEL参数。PARAM_CANCEL参数

15、的表示形式为_cancel。当接收到该参数的时候,表示用户要取消当前的向导流程。默认情况下,AbstractWizardFormController不支持该参数的处理,但我们可以通过覆写processCancel(.)方法来改变这种默认行为。唯一要做的,可能只是返回一个ModelAndView实例,其中只包含了一个逻辑视图名。实际上,AbstractWizardFormController实现类本质上依然是像SimpleFormController那样,分两个阶段来管理表单页面的处理,只不过是从逻辑上将单个表单页面划分为了多个表单页面,而最终绑定数据的Command对象却只有一个。Abstra

16、ctWizardFormController将根据_targetX参数决定显示表单页面的某一部分,对应到视图那就是显示哪个向导页面。在该向导页面提交请求之后,AbstractWizardFormController会把它显示并提交的那部分数据绑定到唯一的那个Command对象上,只有在所有向导页面都提交之后,Command对象的数据才算绑定完成。从这样的角度来说,AbstractWizardFormController只不过是将一部分信息划分为多步来显示和处理罢了。我们在向导(Wizard)最终结束的画面提交_finish参数之后,AbstractWizardFormController将从C

17、ommand对象获取到所有向导页面(Wizard Page)搜集来的数据,然后它就可以调用process- Finish(.)方法开始压轴戏了。实际上,在实现AbstractWizardFormController的时候,也只有processFinish(.)方法是需要我们必须去实现的。我想,以上的分析内容已经足以说明AbstractWizardFormController的底细。不过,如果你还意犹未尽的话,不妨再研读一下Expert Spring MVC and Web Flow一书。像如何提供数据验证,如何覆写某些方法以添加扩展逻辑之类的细节,该书都有提及。相信我,因为我已经读过了。2.

18、AbstractWizardFormController实例我搜刮了FX系统的前台和后台的所有场景,也没有找到一个需要向导的流程。所以,为了演示AbstractWizardFormController的使用,我也不能免俗,创造了一个调查问卷的场景。我们将分三步引导用户完成对购车意愿的问卷调查。当然,整个问卷调查看起来有些简单了,但如果需要,我们也可以在这个基础上提供更加友好、更加全面的问卷调查向导。为了分步显示调查的内容,我们提供了4个页面分别显示整体的某一部分内容,它们的关系如下所述。welcome.jsp。问卷调查向导的开始页面,提供简单的说明信息,如图24-13所示。carManufac

19、turers.jsp。该页面将提供汽车厂商信息列表供用户选择,如图24-14所示。(点击查看大图)图24-13webcome.jsp页面(点击查看大图)图24-14carManufacturers.jsp页面carPriceScope.jsp。向导流程中最后一个问卷调查页面,显示意愿购车价格区间,点击结束问卷提交按钮即结束当前问卷调查,见图24-15。(点击查看大图)图24-15carPriceScope.jsp页面surveyResult.jsp。确切地讲,该页面不能算向导的一部分,它只是调查结束后的一个结果显示页面,对应的是图24-12中的successView。当然,将具体数据转换为柱状

20、图显示或许更讨人爱一些,该页面最终效果如图24-16所示。现在让我们着手实现该向导流程。先来了解一下,几个重要的接口与类。现在不知道他们是干什么的没关系,先混个脸熟,为以后认识他们打个基础。DispatcherServlet - 前置控制器HandlerMapping接口 - 处理请求的映射HandlerMapping接口的实现类:SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到ControllerDefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上HandlerAdapter接口 - 处理请求的映

21、射AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上Controller接口 - 控制器由于我们使用了Controller注解,添加了Controller注解注解的类就可以担任控制器(Action)的职责,所以我们并没有用到这个接口。HandlerInterceptor 接口-拦截器无图,我们自己实现这个接口,来完成拦截的器的工作。ViewResolver接口的实现类UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理InternalResourceViewResolver类,比上

22、面的类,加入了JSTL的支持View接口JstlView类LocalResolver接口HandlerExceptionResolver接口 -异常处理SimpleMappingExceptionResolver实现类ModelAndView类无图。三、核心流程图四、DispatcherServlet说明使用Spring MVC,配置DispatcherServlet是第一步。DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet。DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller(我们写的Action)来处理。“某某规则”:是根据你使用了

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1