版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE28绪论选题背景这几年,许多新名词涌入我们的视野:博客、圈子、播客、WAP等。这些都预示着我们进入了一个新的互联网阶段web2.0,它是相对web1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web1.0网站创造内容的时代变为由用户创造内容的web2.0时代。
在web2.0应用中,博客(Blog)是web2.0核心应用中最典型、最流行的代表之一,也是web2.0技术应用的最直观的表现,是web2.0精神和理念的具体体现。问题的提出Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识和他人分享、交流,同时又通过“六度空间”结识了更多志趣相投的朋友;而越来越多专业知识的Blog的出现,让我们看到了Blog更多所蕴涵的巨大的信息价值:不同的Blog选择不同的内容,收集和整理成为很多人关注的专业Blog——目前越来越多的人获取信息的来源是一些固定的Blog。随着博客人数的增加,Blog作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变成人人都可以实现的梦想——Blog正在影响和改变着我们的生活。系统的开发目标管理员通过前台页面进入后台管理模块后,可对注册的博客用户进行维护,包括对注册用户的添加、查找、修改和删除。管理员进入登录后,可对帐户进行管理,包括添加管理员帐户、修改管理员帐户、删除管理员帐户和对帐户进行权限设置。博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片、和相关人员进行交流和沟通以及删除访问者发表的评论等。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2)网络用户通过关键字搜索博文功能(3)最热门博客页面推荐浏览(4)文章详细内容及相关评论显示(5)博客页面访问量统计(6)博客个人文章管理维护功能(7)博客个人文章分类管理维护功能(8)博客个人友情链接维护功能(9)博客个人基本信息管理维护功能(10)博客图片上传及个人相册管理(11)网络用户写留言,博主查看留言。系统设计系统分析在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog的开发工具。为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:1. 服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoftWindows2000及以上;2. 数据库:MySQL5.0.27版本;3. Web服务器:Tomcat5.5及以上版本,配合MVC设计模式及Hibernate开发架构;4. 客户端运行环境:能运行IE5以上或Netscape5以上浏览器的操作系统,配合使用Ajax技术;5. 客户端运行工具:目前的系统采用浏览器作为客户端,为了支持Ajax开发框架,应该选择使用IE5以上版本浏览器。本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。1、系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。2、系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。系统的可行性分析技术可行性技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是服务器,网速)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计划两个月左右就可以完成投入使用了。我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。从一定程度上具备了开发一个小型系统的能力。再有就!经济可行性主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个小型的系统,从投入的人力,财力与物力来讲是非常小的,发布出去之需要注册域名就可以了,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作。管理可行性有IP地址、用户名与密码等,可以下载一个FTP上传工具(cure)上传更新后的内容.可以在/soft/683.html下载到.下载以后,通过"站点管理"-->"新建站点".输入IP,用户名,密码.然后连接即可.当然也可用FTP工具.直接在IE浏览器地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件!开发环境的说明与安装开发语言的选择JAVA简介Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。Web应用程序开发环境—JSP技术JSP的全称是JavaServerPages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点:1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用;4、一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Writeonce,Runeverywhere.数据库的选择Web应用程序开发环境—SQLserver数据库SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。SQLServer2000是Microsoft公司于2000年推出的最新版本。SQLServer特点:1.真正的客户机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。SQLServer2000与以前版本相比较,又具有以下新特性:1.支持XML(ExtensiveMarkupLanguage,扩展标记语言)2.强大的基于Web的分析3.支持OLEDB和多种查询4.支持分布式的分区视图安装、运行SQLServer2000的硬件需求(1)计算机Inter及其兼容计算机,Pentium166Mz或者更高处理器或DECAlpha和其兼容系统。(2)内存(RAM)企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。(3)硬盘空间完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。开发工具的选择MyEclipse,Deamweare,选择SQLserver作为后台的数据库,选择JAVA、JSP、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S(Browser/Server)模式进行设计。1、Tomcat应用服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。2、B/S开发模式伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。B/S模式带来了巨大的好处:开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。系统设计4.1开发框架技术介绍对于框架技术,我们采用Struts+ajax的整合!Struts是应用比较广泛的一种表现层框架1、Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和customtaglibrary构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts是应用比较广泛的一种表现层框架。2、Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新!4.2需求分析Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以两种不同的用户来分析博客网站的需求。4.2.1注册博友首先必须在博客首页中登录填写用户名和密码,这样才能执行一些相关操作,不然就是普通用户只能查看一些信息,而不能发表博文。可以在管理页面上添加博文的分类,可以上传图片和游览自己的相册,在上传过程中可以将一张图片定义为自己的签名,在个人管理页面中注册用户还可以修改自己的个人信息。博文管理,友情链接管理及博文分类管理,用例图2。图2博客管理页面的用例图在博客主界面中发表博文时可以选择博文类型,这样可以更好管理自己的博文。并查看和删除网友对自己的博文的一些评论、查看和删除网友留下的一些留言,提供与其他网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。。这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快速定位自己的关心的网站。这样还可以让网友看到自己的一些信息。友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示。博客主页面的用例图如图3所示:图3博客主页面的用例图4.2.2普通用户在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间,进入某一博客页面查看相关文章信息时,可以随时对自己所感兴趣的文章发表评论,同时也可以查看到其他人针对该博文的评论。普通用户在阅读博文时可以在最后留下自己的一些评论。他也可以留下更多的信息。这样他可以写留言。这样他留下的信息就更快地被博友所看到。普通用户进入博友的用例图如图4所示:图4上网博友在博客主页面的用例图普通网友可以搜索自己关心的一些数据。并且在搜索结果中提供在结果范围内再次搜索。这样就可以将范围缩小。首页向注册用户提供登陆模块,注册用户在博客网站首页跟上网网友一样可以查看博客和博文推荐。上网网友可以注册成为博客用户,拥有自己独立的空间。这一模块的用例图如图5所示:图5博客首页的用例图4.3功能模块介绍4.3.1博客注册登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。(1)新博客在线注册。(2)博客登录管理。(3)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。4.3.2博客及文章检索查询模块博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。(1)热门博客页面推荐。(2)最新博客日志推荐。(3)日志信息关键字搜索。该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。4.3.3博客页面显示模块当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。该功能模块实现了如下几个子功能。(1)用户可以分页查看对应的日志内容及评论信息。(2)用户可以针对日志内容发表评论。(3)用户可以针对博客进行留言。(4)用户可以分类查看日志内容。在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。4.3.4博客个人维护管理模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:(1)日志及日志分类管理。(2)评论及留言管理。(3)个人基本信息维护管理。借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。4.4系统分析本系统采用严格的J2EE应用结构,主要有如下几个分层。1. 表现层:由JSP页面组成。2. MVC层:使用Struts框架。3. 业务逻辑层:主要由SpringloC容器管理的业务逻辑组件组成。4. DAO层:由7个DAO组件组成,实现类必须继承Spring提供的HibernateDaoSupport。5. Hibernate持久层:由7个PO组成,并在HibernateSession管理下,完成数据库访问。6. 数据库服务层:使用MySQL数据库存储持久化数据。系统的具体分层如图5所示。图6系统结构图在图6黑色大方框内的MVC控制层、Service层及DAO组件层的组件,都由SpringIOC容器负责生成,并管理组件的实例(实例必须是单身模式的,本系统中的bean基本上是单身的)。4.3.1系统架构说明本系统不仅严格按MVC模式设计,还按J2EE分层设计,将中间层严格分成业务逻辑层、DAO层及数据持久层等。MVC层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP技术。本系统采用的是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的C,负责逻辑层和表现层的交互。调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC采用Struts框架。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。通过使用Hibernate持久层,可以避免使用传统的JDBC操作数据库,对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程,透过Hibernte对PO对象持久化操作,不管插入还是查询都是通过PO。4.3.2实现DAO层DAO还有助于提升系统的可移植性。独立的DAO层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO层,不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。对于不同的持久层技术,Spring的DAO提供一个DAO模板,将通用的操作放在模板里完成,而对于特定的操作,则通过回调接口完成。Spring为Hibernate提供的DAO支持类是:HibernateDaoSupport。4.3.3DAO组件的定义DAO组件提供了各持久化对象的基本的CRUD操作。而在DAO接口里则对DAO组件包含的各种CRUD方法提供了声明,但有一些IDE工具也可以生成基本的CRUD方法。使用DAO接口的原因是:避免业务逻辑组件与特定的DAO组件藕合。由于DAO组件中的方法不是开始就设计出来的,其中的很多方法可能会随着业务逻辑的需求而增加,但以下几个方法是通用的。•get:根据主键加载持久化实例。•saveorupdate:保存或更新持久化实例。•remove:删除持久化实例。上面涉及了7个PO,这样我们必须设计7个对应的PODao7个Dao必须继承BaseDao这个BaseDao有对接口的一些基本的CURD操作。7个Dao如下。LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。这7个Dao分别封装对自己的持久化对象的一些操作。4.3.4部署DAO层HibernateDaoSupport类只需要一个SessionFactory属性,即可完成数据库访问。SessionFactroy创建Session,而数据库的CRUD操作都是有Session完成,并将查询结果保存在一级缓存中,每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成,该模板类提供了大量便捷的方法,简化了数据库的访问。数据库设计5.1定义(数据词典)1、数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。2、NN表示notnull不填表可为空。3、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的4、输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。5、长度定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。6、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。5.2主要表结构如下表[blogs]日志数据表字段名类型说明blogidInt(10)日志的IDtitletext日志标题pubtimeInt(11)日志发表时间authoridInt(8)日志作者的UIDrepliesInt(8)日志的评论数tbsInt(8)日志的trackback数viewsInt(8)日志的查看次数categoryInt(3)日志所属的分类的IDcontentmediumtext日志正文内容propertyInt(1)日志的属性0公开日志1锁定日志2隐藏日志3一般草稿2.表[user]博友登陆信息表字段名类型说明useridInt(10)博友IDnichengText博友在博客里的称呼usernametext登陆时的用户名passwordtext登陆密码3.表[register]用户数据表字段名类型说明useridInt(8)登陆时需要用到的用户名usernametext用户昵称userpwdInt(8)登陆密码regtimeInt(11)注册时间usergroupInt(2)所属的用户组IDemailtext用户emailqqtextQq号msntext用户msngendertext用户性别主要功能的实现6.1登录控制:if(this.session().getAttribute("rand")!=null){//检验随机数是否为空if(this.checkCode.equals(this.session().getAttribute("rand").toString())){//比较随机数 uservo=userbo.queryUserByINfo(uservo);//检验用户信息并将信息返回 if(uservo!=null){//看用户是否存在 this.setUserpurview(uservo.getPurviewId());//设置用户权限 this.session().setAttribute("user",uservo);//将用户信息放在session中 returnSUCCESS;//返回用户主界面页面 }else{returnERROR;返回到失败页面}}else{returnERROR;}}else{ returnERROR;}6.2Ajax读取txt格式数据functionajax_function(var1,var2){
varxmlHttp=null;//创建xmlhttprequest
try
{
//Firefox,Opera8.0+,Safari对不同浏览器常见不同对象
xmlHttp=newXMLHttpRequest();
}
catch(e)
{
try
{
//InternetExplorer
xmlHttp=newActiveXObject('Msxml2.XMLHTTP');
}
catch(e)
{
try
{
xmlHttp=newActiveXObject('Microsoft.XMLHTTP');
}
catch(e)
{
alert('YourbrowserdoesnotsupportAJAX!');
returnfalse;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
varsomeDiv=document.getElementById('someDiv');
someDiv.innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open('GET','www/index.jsp?param1='+var1+'¶m2='+var2,true);
xmlHttp.send(null);
}6.3系统架构与数据库的连接由于我们开发时是利用MVC的设计模式,所以在此我们的数据库连接是封存在M中的,即只要我们和M层连接上,就已经连接上数据库了。Hibernate使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。我们只需在hibernate.cfg.xml中配置以下语句即可:<!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN""/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><propertyname="connection.username">sa</property><propertyname="connection.url">jdbc:microsoft:sqlserver://localhost:1035;DatabaseName=webexamine</property><propertyname="dialect">org.hibernate.dialect.SQLServerDialect</property><propertyname="file">sqlserver2000</property><propertyname="connection.password">aaaaaaaa</property><propertyname="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property> <propertyname="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property> <propertyname="show_sql">true</property> <mappingresource="/com/perdure/hibernate/info/InfoTable.hbm.xml"/> <mappingresource="/com/perdure/hibernate/user/UserTable.hbm.xml"/> </session-factory></hibernate-configuration>其实我们在这里配置了一个数据连接,以保证系统的正常运行,我们需要使用proxool连接池,我们经测试,分别用proxool、tomcatJNDI、Hibernate自带的连接池进行配置之后分别执行以上的10000条数据插入和读取,结果显示proxool的性能要优于tomcatJNDI,而Hibernate自带的就更不用提了,差很远。依次为:39265毫秒/10000条、26013毫秒/10000条、50029毫秒/10000条。6.4数据的备份与还原我们根据Mysql数据库提供的backup(备份)命令及restore(恢复)命令,进行数据库的备份与还原,在连接数据库后,我们在需要备份和还原的地方加入以下语句:backupdatabase<yourdatabasename>todisk='备份文件名'restoredatabase<yourdatabasename>fromdisk='备份文件名'然后发送给数据库的管理对象进行数据还原与备份。在知道了数据库备份与还原的接口后,用JAVA进行具体的连接,这里采用JAVA直连的方法,部分代码如下:try{Stringuser="sa";//连接sqlserver2000数据库登陆名Stringpassword="aaaaaaaa";//连接sqlserver2000数据库密码StringsDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//连接数据库的驱动字符串StringconnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webexamine";//注册连接字符串Connectioncon=null;Class.forName(sDBDriver);//注册数据库驱动con=DriverManager.getConnection(connStr,user,password);//获取数据库连接Stringsql="backupdatabasexncsimstodisk='d:\\xncback.dat'";//备份数据库,还原数据库和着类似,只是将这句变为还原的语句st=con.createStatement();//创建发送对象rs=st.executeQuery(sql);//这里就是把你的SQL语句发到数据库执行}catch(SQLExceptione){System.out.println(e.toString());}catch(Exceptione){System.out.println(e.toString());}6.4部分效果预览图主页留言界面参考文献[1]孙卫琴.精通Struts:基于MVC的JavaWeb的设计与开发[M].北京:电子工业出版社,2004.[2]陈天河.Hibernate项目开发宝典[M].北京:电子工业出版社,2006.[3]阎宏.Java与模式[M].北京:电子工业出版社,2002.[4]GavinKing.HibernateReference3[EB/OL].http://www.hibernate.org/:2008hib-docs/v3/reference/en/html/architecture.html#architecture-overview,2005-01-01[5]javaweb网站应用开发人民邮电出版社2008-02第二版ajax前台应用开发Extjs界面[6]罗时飞.精通Spring2.0[M].北京:电子工业出版社,2007.致谢由于时间仓促,一些技术和设备所限,该系统存在一些不足之处,有待进一步改进和完善。在论文结束之际,首先要感谢我的指导老师刘嵩,在我的论文设计以及实现过程中均给了我大量的帮助和指导,他严谨的敬业精神和治学态度给我留下了深刻的印象。从他身上,我学到了许多能使我受益终身的东西,再次对刘老师表示衷心的感谢。感谢理学院领导以及老师给我们创造的良好的学习环境和诸多帮助。毕业设计(论文)题目:基于JavaEE的仓库管理系统论文摘要2随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。随着企业规模的扩大,仓库管理系统将发挥越来越重要的作用。高效方便的仓库管理系统,可以为生产经营提供坚强的后盾和有力的支持。仓库管理系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。通过入库管理、出库管理、报表生成管理、仓库人员管理、仓库位置信息管理等功能模块来实现仓库的综合管理。本论文以标准的仓库管理模式为蓝本,基于JavaEE开发出一个可以用于一般单位的仓库管理系统,实现了仓库管理的高效性与安全性。本系统可以方便快捷地实现库管理中的货物登记、出库入库、库房管理等操作,使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。关键词:仓库管理系统,JavaEE,模块化设计,软件工程AbstractWiththecontinuouseconomicprosperityandaccessiontotheWTOafterthemarketenvironmentchanges,theproductionandoperationofenterpriseshavesethigherrequirements,enterprisesmustcomprehensiveutilizationofadvancedmanufacturingtechnology,theInternetandinformationtechnology,improvingtheexistingproductionBusinessmodelandorganizationalstructure,inordertowinmoremarketcompetitionintheshare.Withtheexpansionofbusinessscale,warehousemanagementsystemwillplayanincreasinglyimportantrole.Facilitatetheefficientwarehousemanagementsystem,canprovideastrongproductionandmanagementbackingandstrongsupport.Warehousemanagementsystemtoprovideamajorwarehouseoperationsanditsoperationsmanagementinformationstorageandretrievalsystem.Throughstoragemanagement,tothemanagement,reportgenerationmanagement,storagemanagement,storagelocationinformationmanagementmoduletoachieveintegratedmanagementofthewarehouse.Thispapertothewarehousemanagementstandardsbasedonthemodel,basedontheJavaEEcanbeusedtodevelopaunitofGeneralwarehousemanagementsystem,warehousemanagementtoachievetheefficiencyandsecurity.Thissystemcanquicklyandeasilyachievethemanagementofgoodsregisteredtothestockandthetreasurymanagementoperation,theenterprisestoragemanagementorderly,forthehealthydevelopmentofenterprisestocreategoodconditions.KeyWords:Warehousemanagementsystem,JavaEE,modulardesign,softwareengineering目录论文摘要目录一、引言………………………1.1仓库管理系统的背景与意义…………1.2JavaEE简介…………1.3本文的主要工作………二、相关技术介绍…………2.1JavaEE相头原理及技术简介………2.1.1Servlet…………2.1.2JSP简介…………2.1.3EJB………………2.2Struts…………………2.2.1STRUTS的由来和发展…………2.2.2MVC简介…………2.2.3Struts优缺点…………………2.2.4Struts的工程流程……………2.3Hibernate……………三、系统分析与设计…………3.1引言……………………3.2系统分析………………3.2.1系统可行性研究…………………3.2.2系统使用环境……………………3.2.3系统需求分析……………………1.系统功能概述……………………2.货物入库和出库的管理…………3.出库入库记录的查询及报表……4.货物信息的管理…………………5.其它信息的管理…………………3.3系统功能设计…………四、数据库设计………………4.1引言……………………4.2E-R图…………………4.3数据表…………………五、系统界面与功能实现……………………5.1页面流程图……………5.2创建系统登陆模块……………………5.2.1系统登陆模块的功能……………5.2.2设计登陆窗口……………………5.3创建主窗口模块………5.3.1主窗口模块的功能………………5.3.2主窗口的设计………5.4仓库人员管理模块……………………5.4.1仓库人员管理模块的功能………5.5入库模块的实现………5.5.1入库模块的功能…………………5.6出库模块的实现……………………5.6.1出库模块的功能…………………5.7移库模块的实现……………………5.7.1移库模块的功能…………………5.8盘点模块的实现……………………5.8.1盘点模块的功能…………………5.9仓库设置模块的实现………………5.9.1仓库设置模块的功能……………5.10计量单位设置模块的实现…………5.10.1计量单位设置模块的功能……5.11部门信息设置模块的实现…………5.11.1部门信息设置模块的功能……5.12操作类型设置模块的实现…………5.12.1操作类型设置模块的功能……5.13期初设置模块的实现………………5.13.1期初设置模块的功能…………5.14货物存储信息查询模块的实现……5.14.1货物存储信息查询模块的功能与布局………5.15帮助模块的实现5.15.1帮助模块的功能与布局………六、Hibernate设计…………6.1Hibernate简介……………………6.2Hibernate生成…………………… 6.6.3Hibernate的映射文件和类的生成………………… 6. 6.七、总结………………………参考文献………………………一、引言1.1仓库管理系统的背景与意义随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。“物流服务最初起源于军事上的运用”,“物流”这一概念起源于二战期间的美国,英文称之为Logistics或者PhysicalDistribution,前者的使用率更高一些。物流一词最早被描述为泛指军队运输、补给和屯驻,后来被广泛用来描述商品实体的物理性流通活动,成为流通经济学中的术语。物流(Logistic)到目前还没有一个统一的定义,综合各种物流的定义可以得出,物流是有形物品从出发点到最终消费点的流动存储活动,具体包括运输、保管、包装、装卸、搬运、流通加工及信息处理,从职能上可以分为:供应物流、生成物流、销售物流、回收物流和废弃物流五个职能。从70年代开始,计算机技术开始应用到物流领域。随着物流市场和物流信息化的发展,物流软件市场也应运而生并迅速发展起来,国内外出现了一大批物流软件供应商和物流软件。“物流软件作为管理软件,较其它应用软件呈现先进性、高效性、可靠性和安全性等特点;较其它管理软件,如ERP(EnterpriseResourcePlanning),具有以下特点:实施风险小,实施迅速;效益显著、见效快。根据物流软件结构分类,就目前物流软件所使用的应用范围来说,物流软件包括如下几个子系统:WMS(WarehouseManagementSystem,仓库管理系统)、TMS(TransportationManagementSystem,运输管理系统。OMS(OrderManagementSystem,定单管理系统)、SMS(ServiceManagementSystem,服务管理系统)。其中,WMS主要提供了一整套仓库业务以及作业管理系统。通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步。根据中国物流与采购联合会统计,2001年,中国与物流相关的年总支出为19000亿元人民币,物流成本占GDP的比重为20%左右。我国企业的物流支出成本约占总成本的30%,而国外企业的物流支出成本仅为7%。物流成本的巨大差距,抵消了我国企业在原材料和人工上的成本优势,降低了我国企业的竞争力。国内的很多企业,由于信息的记录、收集、汇总、处理分析还处于比较低的水平,记录中信息分散、格式随意、应用单一,收集中不及时、不全面、不完善、保留不科学,汇总时口径不一、主题多元、结果不一,处理分析方法落后、效率低下、只有短期,难以支持趋势等。仓库管理系统是通过入库业务、出库业务、库存调拨、库存调整,结合批次管理、物料对应、库存盘点、质检管理、实时库存管理等功能综合运用的管理系统,对库存业务的物流和成本管理全过程进行有效控制和跟踪,实现完善的企业仓库信息管理。仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。1.2JavaEE简介企业级多层应用系统的开发一直面临着重大挑战。开发商和广大程序员一直在努力推动和殷切期待一个成熟的、标准的企业级应用平台来简化和规范企业级应用系统的开发和部署。Java技术的出现,尤其是J2EE(Java2PlatformEnterpriseEdition)平台的推出正是这种努力的结果,也使得企业级应用系统的开发由此变得更加快速和方便。需要指出的是,J2EE本身是一个标准,它为不同厂商创建平台产品提供了标准,使不同J2EE平台产品之间的交互成为可能。SUN及其合作方将J2EE1.5改名为JavaEE5,但是其架构跟改名前的J2EE没有区别。只是通过增强一些技术使得我们更快、更容易、更简单地开发企业应用程序1.3本文的主要工作本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于JavaEE的适用于中小单的位仓库管理系统。论文首先研究了系统开发的可行性,然后进行了需求分析,并将需求分析以文档的形式反馈给用户,并和用户进行交流进一步确认需求,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库。后台数据库采用MYSQL完成。基于开放的开发架构JavaEE,实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块、入库报表生成模块、出库报表生成模块等。最后对全文进行了总结,对今后的工作提出了展望。二、相关技术介绍2.1JavaEE相关原理及技术简介JavaEE规范定义了一个完善的应用组件技术框架,作为企业级应用系统基本构造模块的组件就是建立在这个框架之上。从简单的Web应用到复杂的分布式企业级应用,几乎所有的业务应用,都可以在此技术框架基础上构造。本文中使用的组件技术主要有三种类型:JSP网页、servlet和EnterpriseJavaBean。ServletServlet是一些用来扩展Web服务器功能的Web组件,它基于请求/响应机制。Servlet从客户端(例如Web浏览器)获得请求,然后,将响应结果返回客户端。Servlet的这种特点使它非常适合于Web应用。Servlet和EJB组件的区别在于EJB组件所提供的服务器端组件特性并不能全部适用于Servlet,Servlet更适合于处理简单的请求/响应任务,而且它不需要应用服务器所提供的复杂服务的支持。2.1.2JSP简介JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起发展。JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Javaclass、Servlet、Applets和WebServer,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起.2.1.3EJBEJB(EnterpriseJavaBeans)是J2EE平台的核心,也是J2EE得到业界广泛关注和支持的主要原因。我们知道,J2EE的一个主要目标就是简化企业级多层应用系统的开发,使得程序员将主要精力放在业务逻辑的开发上。EJB正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的业务逻辑。EJB的核心思想是将业务逻辑与底层的系统逻辑分开,使开发者只需关心业务逻辑,而由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。根据功能不同,规范中定义了三种EnterpriseJvavaBean:会话Bean(SessionBean)、实体Bean(EntityBean)和消息驱动Bean(Message-DrivenBean)。会话Bean分为无状态和有状态两种。一般无状态的会话Bean模拟商业逻辑,比如计算价格等。有状态的会话Bean通常模拟一个客户会话,它会临时保存客户信息,根据客户要求调用其它Bean来存取数据。两种会话Bean都不保存状态信息或者数据,当客户断开连接或者服务器关闭时,会话Bean也就随之消失。一个会话Bean的典型例子是网站上的购物车。实体Bean模拟业务数据,它表示一个数据存储,可以是状态信息或者数据库中的一条记录。实体Bean在客户断开连接或者服务器关闭后,仍有服务保证其数据得以保存。消息驱动Bean在行为上很象会话Bean。不同的就是仅在需要向这些Bean发送消息时才调用消息驱动Bean,比如在需要的时候发送用户确认信息等。2.2Struts2.2.1STRUTS的由来和发展Struts框架工具是Apache基金会Jakarta项目中推出的一个子项目。Struts在英文中是支架、支撑的意思,这也体现出Struts在开发Web应用程序过程所起到的重要作用,Struts为Web应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时Struts框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用Struts可以简化遵循MVC设计模式的Web应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥JSP/Servlet优点、并具有强可扩展性的Web应用。总之,Struts的出现使得Web应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。Struts架构一经推出,即受到Java开发群体的广泛重视,从2004年开始逐渐升温,并日渐成为Java创建Web应用开发的最流行的框架工具,在目前JavaWeb程序员的招聘要求中,几乎都提出了对Struts的要求,精通Struts架构已经成为JavaWeb程序员必备的技能。2.2.2MVC简介模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。1、模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.2、视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。3、控制器(controller)控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSPModel2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能JSPModel1与JSPModel2图1-3-1MVC组件模型的关系和功能图图1-3-2JSPModel1图1-3-3JSPModel2SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意model2容易使系统出现多个Controller,并且对页面导航的处理比较复杂,有些人觉得model2仍不够好,于是CraigR.McClanahan2000年5月提交了一个WEBframework给JavaCommunity.这就是后来的Struts。2001年7月,Struts1.0,正式发布。该项目也成为了ApacheJakarta的子项目之一Struts实质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑2.2.3Struts优缺点优点:Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。缺点:Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的J2EEMVC实现方式。2.2.4Struts的工作流程下图是Struts的工作流程,所有的请求都提交给ActionServlet来处理。图1-3-4Struts工作流程图ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来处理,ActionMapping是ActionConfig的子类,实质上是对struts-config.xml的一个映射,从中可以取得所有的配置信息RequestProcessor根据提交过来的url,如*.do,从ActionMapping中得到相应的ActionForn和Action。然后将request的参数对应到ActionForm中,进行form验证。如果验证通过则调用Action的execute()方法来执行Action,最终返回ActionFoward。ActionFoward是对mapping中一个foward的包装,对应于一个urlActionForm使用了ViewHelper模式,是对HTML中form的一个封装。其中包含有validate方法,用于验证form数据的有效性。ActionForm是一个符合JavaBean规范的类,所有的属性都应满足get和set对应。对于一些复杂的系统,还可以采用DynaActionForm来构造动态的Form,即通过预制参数来生成Form。这样可以更灵活的扩展程序。ActionErrors是对错误信息的包装,一旦在执行action或者form.validate中出现异常,即可产生一个ActionError并最终加入到ActionErrors。在Form验证的过程中,如果有Error发生,则会将页面重新导向至输入页,并提示错误。Action是用于执行业务逻辑的RequsestHandler。每个Action都只建立一个instance。Action不是线程安全的,所以不应该在Action中访问特定资源。一般来说,应改使用BusinessDelegate模式来对Businesstier进行访问以解除耦合。Struts提供了多种Action供选择使用。普通的Action只能通过调用execute执行一项任务,而DispatchAction可以根据配置参数执行,而不是仅进入execute()函数,这样可以执行多种任务。如insert,update等。LookupDispatchAction可以根据提交表单按钮的名称来执行函数。2.3HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。三、系统分析与设计3.1引言在设计软件系统之前,首先必须确定用户究竟要求软件系统完成什么任务,所以分析阶段的基本任务是了解用户的需求,并将用户的需求用书面形式表达出来。这个阶段还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。在全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球骑行臂套和腿套行业调研及趋势分析报告
- 2025-2030全球氢气纯度仪行业调研及趋势分析报告
- 多多收项目可行性研究报告
- 中国化妆品玻璃容器行业市场深度研究及投资战略规划报告
- 2025年中国耐温型过滤器行业市场发展前景及发展趋势与投资战略研究报告
- 2025年非合金钢项目可行性研究报告
- 复合聚录乙烯热稳定剂可行性研究报告申请建议书
- 灯具零部件行业市场发展及发展趋势与投资战略研究报告
- 2025年度个人租赁合同模板创新设计
- 2025年度国际知识产权保护合同授权委托书范本
- 人教版2024-2025学年八年级上学期数学期末压轴题练习
- 【人教版化学】必修1 知识点默写小纸条(答案背诵版)
- 江苏省无锡市2023-2024学年八年级上学期期末数学试题(原卷版)
- 全国第三届职业技能大赛(无人机驾驶(植保)项目)选拔赛理论考试题库(含答案)
- 对口升学语文模拟试卷(10)-江西省(解析版)
- 《奥特莱斯业态浅析》课件
- 2022年湖南省公务员录用考试《申论》真题(县乡卷)及答案解析
- 国家安全教育课程教学大纲分享
- 养殖场兽医服务合同
- 电气工程及其自动化基础知识单选题100道及答案解析
- HR六大板块+三支柱体系
评论
0/150
提交评论