用Eclipse开发javaweb应用程序.ppt
《用Eclipse开发javaweb应用程序.ppt》由会员分享,可在线阅读,更多相关《用Eclipse开发javaweb应用程序.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2讲讲基于基于Servlet+JavaBean+Jsp开发开发应用的过程应用的过程第第2讲讲基于基于Servlet+JavaBean+Jsp开发应用的过程开发应用的过程本讲主要介绍主流的本讲主要介绍主流的javaweb编程技术、设计模式编程技术、设计模式和框架,以及如何利用和框架,以及如何利用Eclipese开发开发Web应用程序。应用程序。要点:要点:1、JavaWeb编程的主要组件技术;编程的主要组件技术;2、MVC设计模式;设计模式;3、用、用Eclipse构建一个基于构建一个基于MVC模式的模式的JavaWeb的应的应用程序。用程序。目的目的:掌握如何用掌握如何用Eclipse构建
2、一个基于构建一个基于MVC模式的模式的JavaWEB的应用程序。的应用程序。2.1 java web 编程的主要组件技术nHtmlnjspnServletnJavabeannJdbcnXmlnTomcatnMySQL2.2 MVC设计模式 今天,我们见到的绝大部分应用,都是基于今天,我们见到的绝大部分应用,都是基于B/S(浏览(浏览器器/服务器)架构的,其中的服务器就是服务器)架构的,其中的服务器就是Web服务器。可服务器。可见,见,Web应用是目前广泛使用的应用模式。应用是目前广泛使用的应用模式。Web程序开发方法的发展程序开发方法的发展:JSP的的Model1JSP的的Model2MVC
3、1Model1和和Model2 对对于于Java的的动态动态Web编编程技程技术术而言,而言,则经历则经历了了Model 1和和Model 2时时代。代。Model 1:Model 1就是就是JSP大行其道的大行其道的时时代,在代,在Model 1模式下,整个模式下,整个Web应应用几乎全部由用几乎全部由JSP页页面面组组成,成,JSP页页面接收面接收处处理客理客户户端端请请求,求,对请对请求求处处理后直接做出响理后直接做出响应应。用少量的。用少量的JavaBean来来处处理数据理数据库连库连接、数据接、数据库访问库访问等操作。等操作。Model 2:Model 2下下JSP不再承担控制器的不
4、再承担控制器的责责任,它任,它仅仅仅仅是表是表现层现层角色,角色,仅仅仅仅用于将用于将结结果呈果呈现给现给用用户户,JSP页页面的面的请请求与求与Servlet(控制器)交互,而(控制器)交互,而Servlet负责负责与后台的与后台的JavaBean通信。通信。在在Model 2模式下,模型(模式下,模型(Model)由)由JavaBean 充当,充当,视图视图(View)由)由JSP页页面充当,而控制器(面充当,而控制器(Controller)则则由由Servlet充当。充当。Model1的程序流程:的程序流程:特点:特点:由由JSP页面组成,页面组成,JSP页面接收处理客户端请求,对请求处
5、理后直接页面接收处理客户端请求,对请求处理后直接做出响应。用少量的做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作来处理数据库连接、数据库访问等操作Model2的程序流程的程序流程:基本上是基本上是MVC结构结构特点:特点:Model2下下JSP不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户,果呈现给用户,JSP页面的请求与页面的请求与Servlet(控制器)交互,而(控制器)交互,而Servlet负责与后台负责与后台的的JavaBean通信。通信。在在Model2模式下,模型(模式下,模型(Mode
6、l)由)由JavaBean充当,视图充当,视图(View)由)由JSP页面充当,而控制器(页面充当,而控制器(Controller)则由)则由Servlet充当。充当。2Model1和和Model2的比较的比较 对于非常小型的对于非常小型的Web站点,如果后期的更新、维护站点,如果后期的更新、维护工作不是特别大,可以使用工作不是特别大,可以使用Model1的模式来开发应用,的模式来开发应用,而不是使用而不是使用Model2的模式。的模式。虽然虽然Model2提供了更好的可扩展性及可维护性,但提供了更好的可扩展性及可维护性,但增加了前期开发成本增加了前期开发成本。从某种程度上讲,。从某种程度上讲
7、,Model2为了降为了降低系统后期维护的复杂度,却导致前期开发的更高复杂度。低系统后期维护的复杂度,却导致前期开发的更高复杂度。3MVC思想思想 MVC并不是并不是Java语语言所特有的言所特有的设计设计思想,也并不是思想,也并不是Web应应用所特有的思想,它是所有面向用所特有的思想,它是所有面向对对象程序象程序设计语设计语言言都都应该应该遵守的遵守的规规范。范。MVC思想将一个思想将一个应应用分成三个基本部分:用分成三个基本部分:Model(模型)、(模型)、View(视图视图)和)和Controller(控制器),(控制器),这这三三个部分以最少的耦合个部分以最少的耦合协协同工作,从而提
8、高同工作,从而提高应应用的可用的可扩扩展性展性及可及可维护维护性。性。MVCMVCMVC:M(model)是指数据模型,)是指数据模型,V(View)是指用)是指用户户界面,界面,C(Control)则是控制器。则是控制器。使用使用MVCMVC的目的是将的目的是将M M和和V V的实现代码分离,从而使同的实现代码分离,从而使同一个程序可以使用不同的表现形式。一个程序可以使用不同的表现形式。模型、视图与控制器的分离,使得一个模型可以具有多个模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的显示视图。如果用户通过某个视图的控制器改变了模型的数据,所
9、有其它依赖于这些数据的视图都应反映到这些变数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化模型的变化-传播机制。模型、视图、控制器传播机制。模型、视图、控制器3 3者之间的关者之间的关系和各自的主要功能。系和各自的主要功能。MVC的组成部分视图(视图(ViewView)代表用户交互界面,对于代表用户交互界面,对于WebWeb应用来应用来说就是说就是HTMLHTML界面。界面。模型(模型
10、(ModelModel):):就是业务流程就是业务流程/状态的处理以及状态的处理以及业务规则的制定。业务规则的制定。控制(控制(ControllerController):):可以理解为一个分发器,可以理解为一个分发器,他来决定选择什么样的模型,选择什么样的视图,他来决定选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求,控制层并不做任何可以完成什么样的用户请求,控制层并不做任何的数据处理。的数据处理。MVC带来的好处MVCMVC从根本上强制性的将它们分开,最大程从根本上强制性的将它们分开,最大程度上实现了程序代码与网页的分离。度上实现了程序代码与网页的分离。数据和业务规则从表示层分
11、开,所以可以数据和业务规则从表示层分开,所以可以最大化的重用代码。最大化的重用代码。MVC的特点MVC特点:特点:n 多个多个视图视图可以可以对应对应一个模型。按一个模型。按MVC设计设计模式,一个模型模式,一个模型对应对应多个多个视图视图,可以减少代可以减少代码码的复制及代的复制及代码码的的维护维护量,一旦模型量,一旦模型发发生改生改变变,也易于,也易于维护维护。n 模型返回的数据与模型返回的数据与显显示示逻辑逻辑分离。模型数据可以分离。模型数据可以应应用任何的用任何的显显示技示技术术,例如,使用例如,使用JSP页页面、面、Velocity模板或者直接模板或者直接产产生生Excel文档等。文
12、档等。n 应应用被分隔用被分隔为为三三层层,降低了各,降低了各层层之之间间的耦合,提供了的耦合,提供了应应用的可用的可扩扩展性。展性。n 控制控制层层的概念也很有效,由于它把不同的模型和不同的的概念也很有效,由于它把不同的模型和不同的视图组视图组合在一起,合在一起,完成不同的完成不同的请请求。因此,控制求。因此,控制层层可以可以说说是包含了用是包含了用户请户请求求权权限的概念。限的概念。n MVC更符合更符合软软件工程化管理的精神。不同的件工程化管理的精神。不同的层层各司其各司其职职,每一,每一层层的的组组件件具有相同的特征,有利于通具有相同的特征,有利于通过过工程化和工具化工程化和工具化产产
13、生管理程序代生管理程序代码码。4常用的常用的MVC框架框架 Struts:-包括包括struts1和和struts2两个。两个。JSF:JSF是一个是一个标标准准,目前,目前,JSF是作是作为为JEE 5.0的一个的一个组组成部分,与成部分,与JEE 5.0一起一起发发布布 JSF的行的行为为方法在方法在POJO中中实现实现,JSF的的Managed Bean无需无需继继承任承任何特何特别别的的类类。因此,无需在表。因此,无需在表单单和模型和模型对对象之象之间实现间实现多余的控制器多余的控制器层层。JSF中没有控制器中没有控制器对对象,控制器行象,控制器行为为通通过过模型模型对对象象实现实现。
14、JSF的事件框架可以的事件框架可以细细化到表化到表单单中每个字段。中每个字段。JSF依然是基于依然是基于JSP/Servlet的,仍然是的,仍然是JSP/Servlet架构,因而学架构,因而学习习曲曲线线相相对简单对简单 2.3 用Eclipse构建一个基于MVC模式的Java Web应用程序题目要求:题目要求:(1)技术要求)技术要求:按照按照MVC设计模式,利用设计模式,利用JSP、Servlet及及JavaBean构构建一个简单的登录系统。建一个简单的登录系统。(2)系统功能要求:)系统功能要求:当用户在登录页面上填写用户名和密码并提交后,当用户在登录页面上填写用户名和密码并提交后,系统
15、检查该用户是否已经注册,若注册,系统进入主页面,系统检查该用户是否已经注册,若注册,系统进入主页面,否则,进入注册页面。系统的工作流程见下图。否则,进入注册页面。系统的工作流程见下图。(2)控制器控制器-1LoginServlet(1)登录页面Login.jsp(5)数据组件userdoadb_op(6)数据库MySQL进行验证,不符合格式,返回注册页面,重新注册,并提示出错情况,注册成功,进入登录页面未注册 登录系统的工作流程登录系统的工作流程(3)提示:登录成功提示:登录成功Main.jsp(过(过20秒后再自动秒后再自动进入注册页面进入注册页面)(4)进入注册页面Register.jsp
16、(7)控制器控制器-2RegisterServlet(8)提示:注册失败Register_err.jsp(过20秒后再自动进入注册页面)(9)注册成功Register_succ.jsp(过20秒后再自动进入注册页面)已注册或者或者密码错误(10)进入主页面Main2.jsp构建系统的处理步骤(1)数据库设计:数据库设计:构建数据库表构建数据库表T_UserInfo(2)在在Eclipse中创建一个项目中创建一个项目:Login_Proj(3)构建视图组件构建视图组件:登录页面(:登录页面(login.jsp)、主页面)、主页面(main.jsp)、注册页面注册页面(register.jsp),
17、注册失败(Register_err.jsp),注册成功(Register_succ.jsp)(4)构建控制层组件:构建控制层组件:一个一个servlet(LoginServlet.java)-实现登录的控制实现登录的控制一个一个servlet(RegisterServlet.Java)-实现注册的验证控实现注册的验证控制制(5)构建业务逻辑层组件(模型组件)构建业务逻辑层组件(模型组件):一个一个JavaBean:user,doa,db_op(6)部署该程序到服务器部署该程序到服务器Tomcat中中,然后运行。,然后运行。(1)数据库设计:构建数据库表数据库设计:构建数据库表T_UserInf
18、o利用利用MySQL数据库,数据库,n创建数据库:创建数据库:usern创建表及其结构:创建表及其结构:T_UserInfo字段名字段名字段类型字段类型字段描述字段描述userName文本(文本(20)用户名,主键用户名,主键password文本(文本(10)密码密码数据表结构数据表结构T_UserInfo注意,该数据库所存放的位置注意,该数据库所存放的位置(2)在在Eclipse中创建一个项目:中创建一个项目:Login_Proj 按按Eclipse建立工程的提示,建立建立工程的提示,建立Web工程工程,工程的名称为:,工程的名称为:Login_Proj。(3)构建视图组件:构建视图组件:-
19、登录页面登录页面(login.jsp)n选中工程选中工程“Login_Proj”,n击右键,选击右键,选“新建新建”,n按按Eclipse的提示,建立的提示,建立jsp,名称为:,名称为:Login。n修改默认修改默认jsp内容内容,达到我们所要求的编码达到我们所要求的编码。login.jsp的代码的代码 登录页面 用户名:密 码: (3)构建视图组件构建视图组件-主页面主页面(main.jsp)n选中工程选中工程“Login_Proj”,n击右键,选击右键,选“新建新建”,n按按Eclipse的提示,建立的提示,建立jsp,名称为:,名称为:main.jsp。n修改默认修
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Eclipse 开发 javaweb 应用程序
限制150内