毕业设计(论文)-基于Struts和Hibernate框架的J2EE技术的研究.doc_第1页
毕业设计(论文)-基于Struts和Hibernate框架的J2EE技术的研究.doc_第2页
毕业设计(论文)-基于Struts和Hibernate框架的J2EE技术的研究.doc_第3页
毕业设计(论文)-基于Struts和Hibernate框架的J2EE技术的研究.doc_第4页
毕业设计(论文)-基于Struts和Hibernate框架的J2EE技术的研究.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Struts和Hibernate框架的J2EE技术的研究The Research on J2EE Technology based on Struts and Hibernate Framework作者姓名: 所在学院:信息科学与技术学院专 业: 计算机科学与技术 指导老师: 内容摘要随着Internet的快速发展,Web应用开发已经逐渐成为了计算机软件开发的主流。在利用J2EE标准开发的Web应用中,单纯使用JSP开发存在结构混乱、扩展性差、不易分工等问题。Struts框架与Hibernate框架有助于快速构建基于Web的信息系统,但是它们都有各自的优缺点。将这两者有机整合起来,使得它们优势互补,形成一个统一的架构。本文先分别分析了Struts和Hibernate的结构和原理,然后从两者的优势和缺点出发论述了整合这两个框架的原理和方法,最后阐述了一个基于Struts框架和Hibernate框架实现的房产短信息定制与发布系统,以说明利用这个整合的框架来开发信息系统的过程和原理。关键词Struts框架,Hibernate框架,整合,房产短信消息定制和发布系统AbstractWith the rapid development of the internet, developing Web application has already become the focal point of designing computer software gradually. In the development of Web application with J2EE Technology standard, however, there are many problems like confusion in architecture, poor in expansibility and hard to divide the work in the Web application which merely uses JSP. Both Struts framework and Hibernate framework contribute to building a Web information system, but both of them have their respective benefits and drawbacks. Integrating the two frameworks not only avoid their disadvantages while retain their advantages, but also make them more powerful. This paper begins with analyses on the architecture and principle of Struts framework and Hibernate framework respectively. Then the mechanism and the way to integrate the two frameworks are discussed based on their advantages and disadvantages. Finally an implementation of Tenement Message Customization Issue System (TMCIS) based on Struts framework and Hibernate framework is brought forth to expatiate an efficient way to develop the information systems with these two frameworks.KeywordsStruts framework, Hibernate framework, Integration, Tenement Message Customization Issue System (TMCIS)目 录第1章 绪论1第2章 Struts框架的原理22.1Struts框架的体系结构22.2Struts框架的基本组件32.3Struts框架的工作流程42.4Struts框架的开发过程5第3章 ORM模式与Hibernate73.1ORM模式73.2Hibernate介绍73.3Hibernate的架构83.4Hibernate主要的开发过程8第4章 Struts与Hibernate的整合104.1单一框架的缺陷104.2Struts与Hibernate的整合10第5章 基于Struts和Hibernate框架的开发实例115.1开发背景115.1.1 项目简介115.1.2 开发平台115.2需求分析125.2.1 系统需求125.2.2 系统UML用例分析125.3详细设计155.3.1 系统架构的设计155.3.2 数据库的设计165.3.3 表示层的设计185.3.4 持久层的设计205.3.5 业务层的设计205.4系统实现205.4.1 Struts配置文件205.4.2 持久类与映射文件245.4.3 核心代码255.5一些相关技术295.6显示界面31第6章 结束语34参考文献35基于Struts和Hibernate框架的J2EE技术的研究吴永文第1章 绪论SUN公司提出的J2EE(Java 2 Enterprise Edition)标准以其安全性和跨平台的优点,为企业Web应用提供了具有稳定可用性、可伸缩性、灵活性、易维护性的应用体系结构,其核心技术也日趋成熟。其中以JSP(Java Server Pages) 参考文献【1】,第32页技术应用最为广泛,几乎所有的基于Java的企业级Web应用都使用JSP。然而在企业应用日趋复杂的情况下,J2EE Web标准架构的表现层仅使用JSP开发的应用程序有着明显的缺陷:HTML代码和Java程序强耦合在一起,流程逻辑内嵌,导致调试很困难;Web层和数据持久层的耦合性很强,使得系统可维护性和扩展性降低。Jakarta-Struts和Hibernate就是在这样的背景下出现的,对上述问题在一定程度上提供了解决的方法。Struts是基于Sun J2EE平台的MVC(Model-View-Controller)框架,不仅实现了应用逻辑,处理过程和显示逻辑的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。它是Apache软件组织提供的一个项目,其目标是为Java的Web应用开发提供一个开放源代码的框架,把Servlets、JSP、自定义标签和信息资源整合到一个统一的框架中,其核心是一个基于Java Servlet、JavaBeans、ResourceBundles等标准技术的复杂的控制层。Hibernate是一个开放源代码的ORM (对象关系映射)框架,目标是简化开发者的数据持久化编程任务,它可以把对象模型表示的对象映射到关系型数据库中,同时提供了数据查询和获取的方法,以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。本文首先介绍了基于MVC的Struts框架的结构、基本组件、工作原理以及开发过程;然后再阐述了基于ORM模式的Hibernate的原理架构以及开发过程;接着在第4章中从两个框架的优缺点出发,提出将两者整合形成一个统一开发框架的方法;第5章通过一个基于Struts和Hibernate的房产短信息定制和发布系统的实例,阐述整合这两个框架的Web应用开发原理和过程;最后第6章进行简单地总结,并提出文章存在的不足和需要改善的地方。第2章 Struts框架的原理2.1Struts框架的体系结构Struts 是一种基于J2EE的MVC模式应用框架,主要由数据模型(Model)、视图(View)和控制器(Controller)以及解析XML文件的工具包构成,如图2.1所示 参考文献【2】第14页,图1-12:图2.1 Struts的体系结构1、从视图角度(View)首先,Struts提供了org.apache.struts.action.ActionForm,开发人员只需继承该类来创建表单的ActionForm bean。在运行时其作用有:u 当JSP准备相关的HTML表单进行显示时,ActionForm bean保存要放入表单中的值,这些值是来自业务逻辑或者用户输入。u 当从Web浏览器中返回用户输入时,ActionForm bean将验证并保存该输入以供业务逻辑或验证失败后重新显示使用。其次,Struts提供了许多定制JSP标签,它们的使用简单,功能强大,其使用方法与HTML标签相似,不需重新学习。2、从模型角度(Model)Struts不直接支持模型层的开发。系统模型的状态主要由ActionForm bean和值对象体现。3、从控制器角度(Controller)在Struts中,控制器是实现MVC模式的最重要的部分。Struts控制器负责接受用户请求,更新模型,以及选择何时的视图组件返回给用户。控制器主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成。其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。2.2Struts框架的基本组件整个struts大约有15包,近200个类所组成。下表说明了目前struts API中基本的几个组件包,包括action,actions,config,util,taglib,validator。图2.2则显现了这几个组件包之间的关系。其中action是整个struts框架的核心。org.apache.struts.action基本上,控制整个struts框架的运行的核心类、组件都在这个包中,如控制器ActionServlet,以及Action,ActionForm,ActionMapping,DynaActionForm等等。org.apache.struts.actions这个包主要作用是提供客户的http请求和业务逻辑处理之间的特定适配器转换功能。org.apache.struts.config提供对配置文件struts-config.xml元素的映射。org.apache.struts.util为了更好支持web application的应用,提供的对一些常用服务的支持,比如Connection Pool和Message S.apache.struts.taglib这不是一个包,而是一个客户标签类的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个用于构建用户界面的标签类。org.apache.struts.validator用于动态的配置from表单的验证。图2.2 Struts的基本组件关系图2.3Struts框架的工作流程图2.3说明了Struts的运作过程和基本原理 参考文献【3】第2页。图2.3 Struts的运作原理l 首先,控制器ActionServlet进行初始化工作,读取配置文件struts-config.xml,为不同的Struts模块初始化相应的ModuleConfig对象。比如配置文件中的Action映射定义都保存在ActionConfig集合中。相应地有ControlConfig集合、FormBeanConfig集合、ForwardConfig集合和MessageResourcesConfig集合等。l 控制器接收HTTP请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面;否则控制器将请求分发至具体Action类进行处理。l 在控制器调用具体Action的execute方法之前,ActionForm对象将利用HTTP请求中的参数来填充自己(可选步骤,需要在配置文件中指定)。具体的ActionForm对象应该是ActionForm的子类对象,它其实就是一个JavaBean。此外,还可以在ActionForm类中调用validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。如果执行成功,ActionForm自动将这些参数信息以JavaBean(一般称之为Form Bean)的方式保存在Servlet Context中,这样它们就可以被其它Action对象或者JSP调用。l Struts将这些ActionForm的配置信息都放在FormBeanConfig集合中,Struts通过它们能知道针对某个客户请求是否需要创建相应的ActionForm实例。l Action很简单,一般只包含一个execute方法,它负责执行相应的业务逻辑,如果需要它也可以进行相应的数据检查。执行完成以后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。2.4Struts框架的开发过程基于Struts框架的开发,主要包括以下三个方面:1)视图层的开发Struts框架的视图负责为客户提供动态网页内容。Struts视图层主要由JSP网页构成,此外,Struts框架还提供了Struts客户化标签和ActionForm Bean组件,这些组件提供对国际化、接收用户输入的表单数据、表单验证和错误处理等的支持,使开发者可以把更多的精力放在实现业务需求上。JSP页面的开发可以完全交给专职的美工来做,只需要熟悉与HTML标签相似的Struts标签的用法,这都是由Struts TagLib提供的,也可以自定义标签。ActionForm Bean可以对应一个JSP也可以对应多个JSP,还可以使用DynaActionForm,动态生成ActionForm,具体怎么使用要根据具体的项目来确定。2)控制层的开发控制层包括ActionServlet、Action Class、Action Mapping、ActionForward等组件。ActionServlet类是Struts框架自带的,是整个Struts框架的控制枢纽,通常不需要扩展。在Struts开发过程中,最主要的工作是编写Action类。所有的Action类都是org.apache.struts.action.Action的子类,并覆盖父类的execute()方法,可以通过该方法来访问封装在MessageReources中的本地化文本、进行业务逻辑验证、调用其它业务逻辑Servlet、访问模型组件(ActionForm)、向视图组件传递数据。原则上不要在Action中包含任何业务逻辑操作,业务逻辑的操作而是应该通过调用模型层的JavaBeans来实现,Action只负责控制部分。这样有利于降低数据和控制的耦合度以及进行代码的重用。3)模型层的开发一般地,模型层地开发主要地工作是进行JavaBeans的设计。不同的应用开发中beans的属性往往有很大的差异。在一般的应用中,模型层的JavaBeans主要有两类:系统状态Beans和业务逻辑Beans。开发中需要把系统的功能逻辑转化成JavaBeans的方法的调用。这些方法可以是系统状态Beans的一部分,也可以是专注于处理逻辑的类。为了达到最大程度上的重用,业务逻辑Beans应该做到与应用环境进行完全分离。Struts本身并没有提供对模型层开发的直接支持,可通过与其它框架结合来实现模型层的开发,如Spring、EJB、Hibernate等等。第3章 ORM模式与Hibernate3.1ORM模式在J2EE下开发的信息系统,绝大多数业务模型都涉及到关系数据库,传统Web应用开发方法是直接用JDBC与数据库交互,由于Java的面向对象性和关系型数据库的关系型结构相差甚远,造成开发和维护的不便。因此很有必要引入一种在对象与关系型数据库之间的直接映射机制,这种映射应该是最大量地使用配置文档,以便业务逻辑更改后是尽可能地修改映射文件而不是Java源代码,ORM模式就是在这种背景下提出的。ORM(Object-Relation Mapping) 参考文献【4】第25页,即对象/关系映射模式,具有自我存储到关系数据库的能力,对对象的改变能够直接得以存储,而不考虑数据库存取代码。除了这一个层次外,在整个系统中没有一句数据库存取代码。这样,可以把全部精力集中到对对象和类进行编程,解决业务问题。Hibernate就是ORM中最好的开源工具之一。3.2Hibernate介绍Hibernate 参考文献【4】第1页是一个开源的ORM框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用对象编程思维来操纵数据库。它不仅提供了从持久化类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这样将大大减少利用HQL(Hibernate Query Language)从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。Hibernate可以和多种Web服务器或者应用服务器良好集成,支持几乎所有当今流行的数据库服务器。3.3Hibernate的架构Hibernate技术本质上是一个提供数据库服务的中间件,其架构如图3.1所示:图3.1 Hibernate的架构其中Session代表应用程序和持久化层之间的一次会话,封装了一个JDBC 连接,由SessionFactory创建,也是Transaction的工厂。Transaction代表一个事务对象,它是JDBC事务、JTA事务或者CORBA事务的抽象。Persistent Object包含了持久化状态和商业功能,它们可能是普通的JavaBeans,唯一特别的是它们现在从属于且仅从属于一个Session。Transient Object是目前还没有从属于一个Session的持久化类的实例。Hibernate利用数据库以及配置文件hibernate.cfg.xml、XML Mapping等来提供数据持久化服务,具有很大的灵活性,同时提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API都被抽象了,Hibernate会照管所有的细节。3.4Hibernate主要的开发过程1、创建Hibernate主配置文件hibernate.cfg.xml 其DTD定义参看“/hibernate-configuration-2.0.dtd”Hibernate配置文件主要有两种形式,一种是XML格式的文件,另一种是Java属性文件。本文使用的是XML格式文件,它分两大块,第一块是定义使用的数据库连接相关的配置,第二块是注册XML映射文件。Hibernate API就是通过读取主配置文件,来获取连接数据库的信息,如驱动类、URL、不同数据库的Dialect、数据库的用户名和密码,或者是数据库连接池,以及一些Hibernate API的属性 参看“/hib_docs/reference/zh-cn/html_single”表 3.3. Hibernate配置属性,如是否显示生成的SQL语句、JDBC的获取量大小、开启Hibernate使用JDBC2的批量更新功能等等,某些属性对Hibernate的性能影响很大,是项目性能优化的重要部分。2、创建XML映射文件class_name.hbm.xml 其DTD定义参看“/hibernate-mapping-2.0.dtd”Hibernate之所以能够智能地判断持久类和数据表之间的对应关系,就是因为有XML映射文件。其中,项定义了持久化类和数据表之间的关系,项定义了主键id字段所用的键值生成方法,子项则定义了持久化类和表字段的关联 参看“/hib_docs/reference/zh-cn/html_single”5.1.9 property。3、编写用于持久对象的Java类持久化类是指其实例需要被Hibernate持久化到数据库中的类。持久化类通常都是域模型中的实体域类。持久化类符合JavaBean的规范,包含一些属性,以及与之对应的getXX()和setXX()方法。4、编写管理Session的类:SessionFactorySessionFactory是一个用于管理session的创建和关闭的静态变量。session是Hibernate中最重要和使用最频繁的一个对象,实体对象都是通过它来和数据库交互。这个session和HTTP的Session不同,倒是类似于JDBC的Connection,但包含的内容更多,功能范围更广。SessionFactory是线程安全的,在多线程下访问不会出问题,但是生成一个SessionFactory对象很耗费时间和资源,所以一般整个Web系统共用一个SessionFactory 参考文献【10】第480页 。第4章 Struts与Hibernate的整合4.1单一框架的缺陷Struts框架实现了MVC设计模式,通过利用Struts控制器部分的配置文档,业务流程可以不再硬编码到源程序中去,这使得维护性和灵活性大大加强。但Struts对模型部分的支持还有所欠缺。相反就Hibernate来说,它完全只提供模型部分支持,如果仅仅采用Hibernate框架开发应用系统,系统只会在业务模型部分有所改善,但是系统的逻辑处理、流程控制与视图并没有得到有效分离,因此系统的耦合性还是太高,不易于维护。4.2Struts与Hibernate的整合针对Struts和Hibernate的优点和不足,本次项目采用Struts和Hibernate作为框架,将两者整合在一起,集成后的架构如图4.2所示。图4.1 Struts和Hibernate的整合这样可以使得开发的系统无论在整体架构上还是在局部的复杂业务模型中都有了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这些架构开发系统的不足。整合Struts框架与Hibernate框架的方法是利用Struts框架作为系统的整体基础架构,它负责了MVC的分离,而在Struts框架的模型部分,则利用Hibernate框架来提供数据持久化支持。第5章 基于Struts和Hibernate框架的开发实例5.1开发背景5.1.1 项目简介当今信息技术的快速发展,手机短信已经成为一种相当重要的媒体。天府热线短信中心与各大房地产商家合作,推出房产短信消息定制和发布系统(Tenement Message Customization Issue System,简称为TMCIS),通过互联网订阅、手机短信发布的方式,一方面提供房地产商发布其楼盘信息的渠道,另一方面方便有购房意愿的买家去了解所需的楼盘信息。5.1.2 开发平台TMCIS是在Windows2000 Advanced Server SP4操作系统上开发的,以Jakarta Tomcat 5.0.28为Web服务器,需求分析工具是Rational Rose 2003,开发的工具为Eclipse 3.0.1+MyEclipse 3.83,JDK是j2sdk 1.4.2,主要开发包有Struts 1.2.4、Hibernate 2.1.7c和SWT/JFace,数据库是Microsoft SQL Server 2000。Jakarta Tomcat服务器是在SUN公司JSWDK(JavaServer Web Development Kit)的基础上发展起来的一个优秀的Java Web应用容器,是SUN公司官方推荐的Servlet/JSP容器。Rational Rose是运用最为广泛的UML建模CASE工具之一,支持除对象图外所有的UML模型图,功能十分强大。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。MyEclipse是一个基于Eclipse的插件,支持对Struts和Hibernate等多种框架的开发。Microsoft SQL Server 2000是由 Microsoft公司开发的,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。SQL Server的数据库系统的服务器运行在Windows NT/2000系统上,负责创建和维护表和索引等数据库对象,确保数据完整性和安全性,能够在出现各种错误时恢复数据。5.2需求分析5.2.1 系统需求TMCIS主要提供前台的网页界面显示以及后台的数据处理功能,而短信发送功能则由天府热线短信平台提供。根据天府短信平台提供的统一接口规范,交互数据采用数据库方式交换,天府短信平台提供2种数据库类型(MSSQL Server 2000、MySQL),TMCIS将待发送的数据送入相应数据库的Submit表,交由天府短信平台发送;收到的上行数据,天府短信平台存入对应数据库类型的DELIVER表,由TMCIS遍历该表,处理数据。TMCIS分为两部分,一部分是Web部分,主要提供前台网页显示功能,各类用户通过网页来进行各种权限内的活动和操作,并将网页收集到的用户信息和请求写入服务器端的数据库;另一部分是常驻服务器端的后台数据处理程序,定时执行,根据一定的规则来筛选服务器端数据库的内容,并将符合要求的信息取出来,放进远端的天府热线短信平台的数据库中,并从该数据库中取出信息发送情况。其结构如下图所示:图5.1 房产短信消息定制和发布系统(TMCIS)结构5.2.2 系统UML用例分析TMCIS的用户分为Web管理员,个人用户和企业用户,各有不同的权限和工作。按照角色和功能分成四个模块:Web管理员模块,个人用户模块,企业用户模块,后台数据处理程序。系统和各个模块的用例图如下:1)TMCIS系统用例图5.2 TMCIS系统Use Case Diagram2)Web管理员:进行整个系统的管理,包括帐号管理,即对个人用户和企业用户账号的新增、修改、删除和查询;信息管理,即对企业发布信息的新增、修改、删除、查询和审批。暂时不提供对Web管理员账号的管理,由系统本身规定,可通过XML技术进行扩展。图5.3 Web管理员的Use Case Diagram3)个人用户:注册个人用户帐号,编辑帐号个人信息、修改密码,订阅新的短信,察看订阅短信的历史情况。个人用户只能察看属于本账号的短信定制情况,而不能查询其他账号的定制情况。图5.4 个人用户的Use Case Diagram4)企业用户:注册企业用户帐号,编辑账号企业信息、修改密码,新增、修改、删除房地产信息,查询所发布信息的订阅情况。图5.5 企业用户Use Case Diagram5)后台数据处理程序:包括对本地和远程数据库的读写部分、数据格式的转换部分以及对数据的处理部分。在服务器端提供GUI,以供系统管理员使用。图5.6 后台数据处理程序Use Case Diagram5.3详细设计5.3.1 系统架构的设计根据前面的需求分析,我们将以一个中型系统的架构来设计本项目。在架构的选择设计上,为了能够使系统具有良好的扩展性和通用性,我们按照所要完成的不同的功能把系统分成三层:表示层,业务层和持久层。如图5.6所示。图5.7 房产短信消息定制和发布系统(TMCIS)架构(1)表示层一个典型的Web应用的末端应该是表示层,在这一层我们使用Struts框架,主要负责:管理用户的请求并做出相应的响应,提供Controller委派调用业务逻辑和其他上层处理,把异常抛给Struts Action,为显示提供一个模型以及UI验证。(2)业务层引进业务层是为了把业务处理的从表示层和持久层之中分离出来,降低耦合。由于TMCIS的业务逻辑并不复杂,所以没有采用流行的业务层框架,例如Spring,而是自行开发负责业务的JavaBeans,并在Action中控制和调用。(3)持久层持久层是程序最容易失控的地方。系统内部的持久层不但需要大量的调试时间,还经常缺少功能使之变得难以控制。为了降低持久层设计的难度,我们在这一层选择ORM开源框架Hibernate。5.3.2 数据库的设计TMCIS所访问的数据库有两部分,一部分是本地数据库,包括两个表:房产信息表(MessageTable)和用户表(UserTable);另一部分是天府短信平台提供的远程数据库,有统一的接口。系统数据库的设计主要是对本地数据库的设计,根据需求分析,MessageTable和UserTable关系如下:图5.8 数据库结构1)房产信息表(MessageTable)字段名称数据类型是否为空说明MessageIDintnot null主键,自增1MessageTitlevarchar(50)null短信标题MessageContentvarchar(140)null短信内容MessageLengthintnull短信长度(短信内容的长度,一个汉字按2位计算)MessageCodingtinyintnot null短信编码格式(填写15)MessagePubTimedatetimenull默认为getdate( )UserIDintnot null外键,UserTable里面的UserIDDelvCountintnot null默认为0,已发送次数SumCountintnot null默认为0,总可发送次数Audittinyintnot null默认为0,审批情况(0表示未审批,1表示通过,2表示不通过)MessageTypechar(8)not null默认为00000000前六位表示开盘情况,对应6个不同的开盘时期,0代表未选中,1代表选中;第7位表示价格级别,0表示未选中,1-5表示5个级别;第8位表示方位,0表示未选中,C、E、S、W、N分别代表5个方位。2)用户表(UserTable)字段名称数据类型是否为空说明UserIDintnot null主键,自增1UserNamevarchar(50)not null用户名UserPSWvarchar(50)not null用户密码UserRealNamevarchar(50)not null用户真实姓名(或者是企业名字)UserTypetinyintnull用户类型(0表示管理员,1表示个人用户,2表示企业用户)UserStatuschar(8)null对应MessageTypeChargeNumbervarchar(21)null计费手机UserNumbervarchar(21)null接收手机UserEmailvarchar(60)null用户注册的Email地址而天府短信平台的数据库接口说明如下,本地服务器端程序根据这些统一的接口来存取和处理数据。1)SUBMIT表2)DELIVER表5.3.3 表示层的设计TMCIS表示层主要包括ActionForm和Action Mapping的设计。因为JSP表单页面不多,所以ActionForm的设计采用一个ActionForm对应一个JSP表单的方式。主要的ActionForm有以下几个:1)用户登录页面userLogin.jspActionForm名称userLoginForm属性名属性类型属性说明userNameString用户名passwordString密码userTypeString用户类型2)个人用户注册页面userReg.jspActionForm名称userRegForm属性名属性类型属性说明userNameString用户名passwordString密码userTypeString用户类型(0:管理员;1:个人用户;2:企业用户。)userRealNameString用户真实姓名chargeNumberString付费手机userNumberString接收信息手机userEmailString用户注册的Email3)个人用户短信定制页面MSGCustomize.jspActionForm名称MSGCustomizeForm属性名属性类型属性说明NotOnSaleboolean本周尚未开盘的新盘ToBeSaleboolean本周即将开盘的新盘OnSaleTwoMonthboolean开盘2个月的新盘OnSaleOneYearboolean12个月内的在售新盘OnSaleRemainsboolean尾盘RealtyNEWSboolean房产新闻Priceint价格DirectionString方位4)企业房产信息发布页面MSGPublish.jspActionForm名称MSGPublishForm属性名属性类型属性说明MessageTitleString短信标题MessageContentString短信内容SumCountint发送条数OnSaleTypeshort销售类型(开盘时间)Priceint价格类型Directionshort方位类型以上4个ActionForm的Action Mapping设计分别如下:1)userLoginFormuserLogin.jspuserLoginFormuserLoginActionuserLoginAction通过validate()方法来验证数据格式的合法性,如用户名或密码为空,以及负责用户身份认证。2)userRegFormuserReg.jspuserRegFormuserRegActionuserRegAction通过validate()方法,进行数据格式合法性的验证,而业务逻辑的验证和写入数据库的操作则由业务层的JavaBeans来负责。3)MSGCustomiz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论