- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaWebstudy
构建一个简单的基于MVC模式的JavaWeb MVC设计模式是目前使用得比较多的一种设计模式,最早出现在Smalltalk中,后来广泛应用于Java Web 应用程序中。Model(模型)表示业务逻辑层,View(视图)代表表示层,Contraller(控制器)代表控制层!在Java Web应用程序中,View部份一般用JSP和HTML构建。客户在View部份提交请求,在业务逻辑层处理后,把处理结果又返回给View部份显示出来。因此,View部份也是WEB应用程序的用户界面!Controller部份一般由Servlet组成。当用户请求从View部分传过来时,Controller把该请求发给适当的业务逻辑组件处理,请求处理完成后,又返回给Controller.后者再把处理结果转发给适当的View组件显示。因此,Controller在视图层与业务逻辑层之间起到了桥梁作用,控制了它们两者之间的数据流向!Model部分 包括业务逻辑层和数据库访问层。在JAVA WEB 应用程序中,业务逻辑层一般由JAVABEAN或EJB构建。EJB是J2EE的核心组件,可以构建分布式应用系统。与普通的JAVABEAN不同,它由二个接口和一个实现类组成,并且包含一些固有的用于控制容器生命周期的方法!数据访问层也叫数据持久层,它主要负责与库打交道,用于从数据库中存取数据。在JAVA WEB应用中,我们常用JDBC API或Hibernate来构建数据持久层。例如,把与数据连接的代码以从数据库中存取数据的代码封装在不同的对象中,这样便于系统中其他业务逻辑组件调用它们。这样,一个JAVA WEB应用程序划分为表示层,控制层,业务逻辑层和数据持久层,形成了一个多层系统。对于大型,复杂的WEB应用程序,这样的是十分必要的!下面来构建一个简单的基于MVC模式的JAVA? WEB应用程序,我们按照MVC设计模式,用JSP,Servlet及Java Bean构建一个简单的登录系统。该系统要求当用户在登录页面上输入用户名和密码并提交后,系统将检查该用户中否已经注册,如果该用户已经注册,系统进入主页面,否则进入注册页面!我们将 按以下步骤构建这个系统:Step1:数据库的设计,使用MySQL作为数据库,构建数据表T_UserInfo;Step2:构建视图组件:登录页面login.jsp,主页面main.jsp,以及注册页面register.jsp;Step3:构建控制层组件,一个Servlet,;取名为LoginServlet.java;Step4:构建业务逻辑层组件(Model组件),一个JavaBean,取名为LoginHandler.java;Step5:构建数据访问层组件:珍上数据访问类,取名dbPool.java;Step6:编译,打包程序;Step7:部署该程序到Web服务器Tomcat中,然后运行!该系统的工作流程图如下:详细设计:A:用户登录涉及数据库操作的用例!我们在MySQL中 建立一个T_UserInfo表,DDL语句如下:
create?table?T_UserInfo(????ID?bigint?primary?key?auto_increment,????userName?varchar(20),????userPwd?varchar(20))--并添加一条测试数据用户名及密码均为fengyaninsert?into?T_UserInfo(userName,userPwd)?values(fengyan,fengyan)
B:构建视图组件,由前面的分析可知本例有三个视图组件,分别是登录页面login.jsp,主页面main.jsp,以及注册页面register.jsp.它们之间的关系是当用户在登录页面login.jsp上填入用户名及密码并提交后,系统将 检测该用户是琐已经注册,如果已经注册则进入main.jsp,否则进入注册页面!login.jsp代码如下:
%@?page?language=java?pageEncoding=GBK%!DOCTYPE?HTML?PUBLIC?-//W3C//DTD?HTML?4.01?Transitional//ENhtml:html?lang=true??head????html:base?/????????titlelogin.jsp/title??/head????body??form?action=servlet/LoginServlet?method=post????????????table?border=0????????tr??????????tdLogin:/td??????????tdinput?type=te
文档评论(0)