您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 清华IT JAVAEE教学PPT1
第一章Struts与Web应用的结合课程目标Web常用开发模式JSPModel1与JSPModel2Struts框架实现MVC机制Struts的工作流程使用JSPModel1与JSPModel2开发Web应用。使用Struts框架技术实现小型MVC项目。体验项目——运用Struts实现用户注册功能本章体验部分实现的功能:采用Struts框架的MVC模式,实现用户注册的功能。程序的验证过程如下:(1)启动服务器访问index.jsp页面,在文本框中输入用户名、密码。如图1-1所示的注册页面:图1-1注册页面(2)填写完用户信息后,点击“注册”按钮。如果注册成功,则出现注册成功页面,如图1-2所示:图1-2注册成功页面(3)填写注册信息时用户名和密码的长度不能小于4,否则当点击“注册”按钮后将出现,如图1-3所示的出错提示:图1-3注册失败页面Struts是一种MVC(Model/View/Controller)框架。MVC包括:Model应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。Struts是Apache基金会Jakarta项目组中的一个OpenSource项目,它能够很好地帮助Java开发者通过J2EE开发Web应用程序。Struts是基于面向对象设计的,它的实现重点在控制器(C)上,同时也为视图提供了一系列定制标签功能。基于Struts构架的Web应用程序基本上符合JSPModel2的设计标准,可以说是传统MVC设计模式的一种变化类型。Web常用开发模式Servlet是按照接受请求/返回响应的模式工作的,它运行于Servlet容器中,是被动态加载的。在Struts框架中,Servlet充当控制器组件的功能。它的工作原理如图1-4所示:Servlet组件客户端(用户)Servlet容器提交请求返回响应ServletRequest对象ServletResponse对象Servlet图1-4Servlet的工作原理图当用户请求访问某个Servlet时,Servlet容器将创建一个ServletRequest对象和一个ServletResponse对象。Servlet容器把ServletRequest对象和ServletResponse对象传递给处理用户请求的Servlet。Servlet把响应结果写入到ServletResponse中,然后由Servlet容器把响应结果传回给用户端。JSP组件JSP是由Servlet发展而来的,它的本质是Servlet。在Struts框架中,JSP充当视图组件的功能。它的工作原理,如图1-5所示:当JSP容器接收到用户对JSP文件的请求时,会将JSP文件转换成Servlet源代码并进行编译,最后由容器调用编译后的类文件同时给客户端返回响应。图1-5JSP的工作原理图JavaBean组件JavaBean组件最大的好处就是它的重用性,它使用标准的“方法”命名规则。JavaBean组件的公共特性有:属性:用来配置它们的行为,通过一对getter()和setter()方法来定义。方法:用来提供业务逻辑。事件:封装生成的动态内容。下面是在JSP中使用JavaBean的标签代码:(1)定义session范围内的JavaBean。jsp:useBeanid=myBeanscope=sessionclass=MyBean/(2)访问JavaBean的userId属性。jsp:getPropertyname=myBeanproperty=userId/(3)为JavaBean的userId属性赋值为1。jsp:setPropertyname=myBeanproperty=userIdvalue=1/EJB组件EJB是J2EE的一个重要组成部分,它定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。EJB实际上是Sun公司J2EE中的一套规范,从技术上而言不能说是一种“产品”。Sun公司制定的EJB组件模型要求EJB组件运行于EJB服务器(通常称为应用服务器)环境下。它是基于标准分布式对象技术、CORBA和RMI的服务器端Java组件。EJB组件总是分布式的,这是它们与标准JavaBean组件最本质上的区别。它提供了应用的业务逻辑,在Struts框架中,与JavaBean组件一样充当模型层。构建EJB应包含来自三方面的代码:开发人员编写的代码。由EJBAPI定义的类和接口。由容器自动生成的代码。XMLXML(ExtensibleMarkupLanguage)是一种扩展性标识语言。XML可以广泛的运用于Web应用的任何地方,同时XML使得编程更加简单。XML的标记与HTML标记非常相似,通常包含一对起始标签,在标签之间书写相应的数据信息。下面我们来看一段XML的代码:?xmlversion=1.0encoding=ISO-8859-1?mybooktitleStruts/titleauthorgalen/authoremailgalenbao@163.com/emailaddressBeijing/address/mybook第一行是一个XML声明根元素mybook下面定义了四个子元素:title、author、email和addressModel1&Model2Model1从一定程度上降低了Web开发的难度,也基本实现了MVC模式,可它的运用并不是很理想。在开发一些大型的应用程序时,显得心有余而力不足。图1-6表示了Model1的工作流程:浏览器JSPBeansBeans数据库请求响应图1-6JSPModel1工作流程图Model2的问世解决了Model1在很多方面的不足,真正的表达了MVC的设计思想。使的控制层、模型层和视图层之间的分工变得非常明确。模型层:Bean负责所有业务流程/状态的处理以及业务规则的制定。视图层:JSP代表用户与服务器进行交互的页面。控制层:Servlet负责控制流程及事务处理。浏览器Servlet(控制层)JSP(视图层)Bean数据库请求响应实例化JDBC模型图1-7Model2的工作流程按照Model2的MVC设计模式来完成一个用户登录的实例1.程序编写过程如下:(1)本项目采用SQL-Server2000数据库(以后如无特殊说明,均采用此数据库),在pubs库中创建表users(2)Model2的MVC设计模式,至少需要编写3个文件:视图层的JSP文件,模型层的Bean,以及控制层的Servlet(3)接下来是模型层的Bean(4)最后我们需要编写的是控制层的Servlet(5)程序编译通过后配置好web.xml文件后,就可以启动服务器运行程序了。2.程序运行过程如下:(1)访问登录页面,输入用户名和密码(2)填写信息完成后,点击“登录”按钮,如果登录成功,则提示登录成功的信息(3)如果登录失败,则提示登录成功的信息并在5S之后返回登录页面MVC模式中各个层的责任及它们之间的关系:模型层:封装应用程序的状态响应对状态的查询描述应用程序的功能通知视图的更新控制层:定义应用程序的行为将用户行为映射为Model更新选择要响应的视图视图层:对Model的数据加以修饰接收来自Model的更新请求将用户动作传给控制层状态查询修改状态修改通知视图选择用户动作方法调用事件图1-12基于MVC结构框架中各组件的责任及相互关系Struts框架介绍Struts实现MVCStruts的体系结构包括模型,视图和控制器三部分。下面我们就从MVC角度来分析Struts的体系结构。1.模型(Model)在Struts体系结构中,模型主要由JavaBean或EJB构成。模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。2.视图(View)视图主要由一组JSP文件构成,在视图中不存在业务逻辑与模型信息,只包含有标签。3.控制器(Controller)在Struts中,基本的控制器组件是ActionServlet类中的实例Servlet,实际使用的Servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。Struts的工作流程当ActionServlet接收到一个客户请求时:(1)检索和用户请求匹配的ActionMapping实例。如果不存在此示例,就返回用户请求路径无效。(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3)根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法。(4)如果ActionForm的validate()方法返回null或返回的ActionErrors对象里不包含ActionMessage对象,就表示表单验证成功。(5)ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。(6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象所指向的JSP组件。(7)通过ActionForward对象指向的JSP组件生成动态网页,返回给客户端。Struts相关目录介绍解压struts压缩文件后,我们需要关心的是其lib目录下提供的搭建Struts框架所需要的jar包,jar包具体如下:commons-beanutils.jarcommons-collections.jarcommons-digester.jarcommons-fileupload.jarcommons-logging.jarcommons-validator.jarjakarta-oro.jarstruts.jar发布Web应用当一个Web应用开发完成后,最后的任务是将应用程序打包(.war)并进行发布。下面我们介绍一下如何在DOS命令下将应用打包的操作,并在Tomcat服务器上发布应用程序。具体过程如下:(1)在DOS环境下进入Web应用的根目录(2)把整个Web应用打包为Reg.war文件。具体命令为:“jarcvfReg.war*.*”之后点击“回车”按钮。(3)打包完成之后,就会在Web应用目录下生成Reg.war文件,然后将Reg.war文件拷贝到Tomcat服务器中的webapps目录下。启动服务器,Tomcat会将webapps目录下的所有war包文件展开为开放式的目录结构实践项目——验证Oracle安装和服务的正确性一、程序的实现要求如下:(1)采用Struts框架技术实现本项目。(2)验证注册信息的用户名和密码的长度大于4。(3)实现用户注册功能。(1)编写RegActionForm.java(2)编写RegAction.java的代码,用来控制程序将请求发送到哪个页面。(3)配置struts-config.xml文件用来配置控制器为了实现本章体验项目中的内容,我们需要编写许多的文件,限于篇幅,在此只给出该项目的核心的ActionFormBean、Action及struts-config.xml部分代码。实现步骤:本章总结Web常用开发模式JSPModel1与JSPModel2Struts框架实现MVC机制Struts的工作流程使用JSPModel1与JSPModel2开发Web应用。使用Struts框架技术实现小型MVC项目。
本文标题:清华IT JAVAEE教学PPT1
链接地址:https://www.777doc.com/doc-3310424 .html