JAVA Web 第10章.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA Web 第10章

JSP页面擅长数据的显示,即适合作为用户的视图,应当尽量避免在JSP中使用大量的Java程序片来处理数据,否则不利于代码的复用;servlet擅长数据的处理,应当尽量避免在servlet中使用大量out流输出大量的html标记来显示数据,否则一旦修改显示外观就要重新编译servlet. 一些小型的Web应用可以使用jsp页面调用JavaBean完成数据的处理,实现代码复用。在jsp+JavaBean模式中, JavaBean不仅要提供修改和返回数据的方法,而且要经常参与数据的处理。当Web变得复杂时,希望JavaBean仅仅负责提供修改和返回数据的方法即可,不必参与数据的具体处理,而是把数据的处理交给称作控制器的servlet去完成。 即servlet控制器负责处理数据,并将有关的结果存储到JavaBean中,实现存储与处理的分离,jsp负责视图功能,只要使用JavaBean标记显示 JavaBean中的数据即可。 在JSP技术中,“视图”、“模型”和“控制器”的具体实现如下: 模型:一个或多个JavaBean对象,用于存储数据, JavaBean主要提供简单的setXxx方法和getXxx方法,在这些方法中不涉及对数据的具体处理细节,以便增强模型的通用性。 视图:一个或多个jsp页面,其作用主要是向控制器提交必要的数据和为模型提供数据显示,jsp页面主要使用html标记和JavaBean标记来显示数据。 控制器:一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到JavaBean中,然后servlet使用重定向方式请求视图中的某个jsp页面更新显示,即让该jsp页面通过使用JavaBean标记显示控制器存储在JavaBean中的数据。 MVC模式的结构图如下: MVC模式与前面学习的JSP+JavaBean模式有很大的不同,在JSP+JavaBean模式中,由jsp页面通过使用JavaBean标记创建JavaBean,而在MVC模式中,由控制器servlet负责创建JavaBean,并将有关数据存储到所创建的JavaBean中,然后servlet请求某个jsp页面使用JavaBean的getProperty动作标记显示这个JavaBean中的数据。 MVC模式中,非常重要的手段是:由servlet负责用构造方法创建JavaBean,因此允许创建JavaBean的类可以有带参数的构造方法,类中的方法命名继续保留get规则,但可以不遵守set规则,因为不希望jsp页面修改JavaBean中的数据,只需要它显示JavaBean中的数据。 在MVC模式中,servlet创建JavaBean也涉及到生命周期,分为request、session和application。 以下假设创建JavaBean的类的名字是BeanClass,该类的包名是user.yourbean,分三种情形来讨论。 1 request周期的JavaBean 1) JavaBean的创建 servlet负责创建bean,创建生命周期为request的bean的步骤如下: 用CreateJavaBeanClass类的某个构造方法创建bean对象,如: BeanClass bean=new BeanClass(); 将所创建的bean对象存放在HttpServletRequest对象request中,并指定查找该bean的关键字,如: Request.setAttribute(“key”,bean); 2) 视图更新 因为servlet创建bean的第2种方法决定了bean的生命周期为request,因此当servlet使用RequestDispatcher对象向某个jsp页面发出请求时,该bean只对servlet所请求的jsp页面有效。Servlet所请求的jsp页面可以使用相应的标记显示该bean中的数据,然后该bean所占有的内存被释放,结束自己的生命。 servlet所请求的jsp页面,比如show.jsp页面,必须使用如下标记获得servlet所创建的bean的引用: jsp:useBean id=“key” type=“user.yourbean.BeanClass” scope=“request” / 该标记中的id就是servlet所创建的bean. servlet请求jsp页面show.jsp的代码如下: RequestDispatcher dispatcher=request.getRequestDispatcher(“show.jsp”); Dispatcher.forward(request,response); 如果上述代码执行成功,用户就看到了show.jsp页面的执行效果,该

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档