个人微博客毕业设计.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流个人微博客毕业设计.精品文档.2014届 分类号:TP311单位代码:10452 学士学位毕业设计(论文) 基于JSP的个人微博客系统注意注意 临沂大学的学生不要使用,这是我已经通过的。2014年 3月PERSONAL MICRO BLOG SYSTEM BASED ON JSPByApril 2014诚 信 声 明本人呈交给临沂大学的这篇毕业论文,除了所注参考文献和所公认的文献外,全部是本人在指导老师指导下的设计成果。 学生签名:日 期:经检查该毕业设计(论文)为独立完成,不存在抄袭现象。 指导老师签名:日 期:摘 要博客作为一种新的表达方式,既传播情绪,同样还传播着大量的智慧、思想和意见。从一定意义上来说,它是一种新的文化现象,它的出现和繁荣标志着互联网发展开始步入更高的阶段,从而真正凸现网络的知识价值。本系统主要实现博主发表博文和相片,游客浏览、发表评论,以及发表留言等功能。本系统使用Enterprise Architect 和MyEclipse等工具设计并实现。MVC是一个强制性的使应用程序的输入、处理和输出分开的框架模式。JSP+servlet+javabean是最典型的MVC模式。使用MVC模式后,应用程序就会被分成三个主要部件:模型、视图、控制器。它们各自处理自己的任务。本系统使用数据库是SQL Server2008。SQL Server 可以承受世界上最强的负载,可以对整个数据库、数据文件和日志文件进行加密,而不需要改动应用程序,并且它通过支持第三方密钥管理和安全模块(HSM)产品为外键管理提供了支持。关键词:模型/视图/控制器(MVC);博客系统;SQL ServerAbstractBlog is a new way of expression, it spread not only emotions, but also a lot of wisdom, opinions and ideas. In a sense, it is a kind of new culture phenomenon,marked the development of the Internet has started to enter the higher stage.The system mainly realizes the blogger publish blog and photo, visitors can browse comments, and published messages and other functions.The design of the system using Enterprise Architect and MyEclipse tools to implement. MVC is a framework model, it separates mandatory the application of input, processing and output . Use the MVC application is divided into three core components: model, view, controller. They handle their own tasks. The most typical MVC mode is the JSP+servlet+javabean .This system is using the database SQL Server2008. SQL Server can bear the load of the strongest in the world, to the entire database, data files, and log file is encrypted, without the need for changes to the application, and it through a third party support key management (HSM) products and security module provides support for foreign key management.Key Words:View/Model/Controller(MVC);Blog System;SQL Server目 录前 言1第1章 绪 论21.1 开发工具介绍21.2 论文组织结构介绍3第2章 项目需求分析42.1 需求功能点介绍42.2 用例图表示需求42.3 用例图描述6第3章 详细分析与设计113.1 面向对象分析113.2 类图设计113.2.1 类图123.3 数据库基本分析与建模123.3.1 数据库的需求分析133.3.2 数据库的逻辑设计13第4章 项目编码实现184.1 系统的实现184.1.1 用户表现层184.1.2 业务逻辑层204.1.3 数据持久层264.2 关键技术介绍274.2.1 MVC模式274.2.2 数据库连接池的配置和使用284.2.3 中文的乱码问题29第5章 项目测试设计315.1 测试计划315.2 具体设计测试的方案介绍315.3 列举测试数据及分析32结 论33参考文献34附 录35谢 辞36前 言博客,译为网络日志,部落格或部落阁等,是一种通常由个人管理,不定期会发表新的文章的网站。许多博客专注于就新闻上特定的主题提供评论或发表自己的看法,其他的则被作为记录心情、生活的个人日记。一个典型的博客结合了文字,图片,其他博客或网站的链接,以及与主题相关的其他媒体,通过互动的方式让读者留下意见,是许多博客所追求的。博主在与读者的互动中能够结交友人,虽然未曾见面,但同样能感受到友人的支持与鼓励。博客作为一种新的表达方式,既传播情绪,同样还传播着大量的智慧、思想和意见。从一定意义上来说,它是一种新的文化现象,它的出现和繁荣标志着互联网发展开始步入更高的阶段,从而真正凸现网络的知识价值。博客已经成为互联网文化中不可分割的一部分。现如今的网民每个人都有属于自己的博客,会浏览阅读博客,几乎每一个人都会有一两个特别钟爱的博客,无论是传统新闻媒介的“官方”新闻博客还是与自己爱好兴趣相关的话题性博客或是纯娱乐博客。由于博客沟通方式比电子邮件、讨论群组更容易和简单,博客已成为家庭、朋友、部门、团队之间越来越盛行的沟通方式。博客能够实现多用户间的交互,满足用户可以彼此访问对方的博客、评论、留言等需求。目前各大网站做得各具特色,功能上十分完善,但有些博客页面广告太多让人眼花缭乱,用户使用博客过程中经常无意点击导致进入广告网站,更有不怀好意者做的广告携带病毒致使电脑中毒。本着满足用户最基本的需求并创建一个安全健康的博客系统设计了个人微博客系统。本系统使用JSP技术MVC模式实现。对博客系统中相片上传下载使用jspSmartUpLoad组件来实现,将上传的图片的路径存到数据库中,通过查询数据库中存储的路径使对应相片在页面中显示。在博文列表下由于博文数量可能较多因此默认显示每类博文最新发表的十篇,点击对应的博文类别标题就能够浏览该类别下的以分页形式显示的所有博文,这样便于用户查找、浏览博文。用户可以对博主进行留言,在首页留言模块会显示出最近的三条评论。每篇博文都有浏览数量及评论数量,用户点击每一个博文标题就进入博文展示页面,此时博文的浏览数会得到更新,用户对博文进行评论后会更新博文评论数。第1章 绪 论1.1 开发工具介绍个人微博客系统是基于MVC+JDBC架构进行开发,开发工具:MyEclipse 8.5,运行环境:Windows 7 + Tomcat 7.0服务器,数据库:SQL Server2008 ,UML建模工具:Enterprise Architect。1. 开发工具:MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用本平台能够使得在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面的工作效率得到极大地提高。MyEclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, CSS, JSF, Struts, Javascript, Hibernate ,SQL。MyEclipse 8.5是基于Eclipse平台的一个插件工具,该版本集成了 Eclipse 3.5.2,提升了团队协作开发、开发周期管理以及 Spring 和 Hibernate 的更好支持。2. 服务器:Tomcat 7.0Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的如:Tomcat管理和控制平台、安全局管理和Tomcat阀等一些特有功能。Tomcat可以被视作一个单独的Web服务器因为其本身也内含了一个HTTP服务器。Apache Tomcat包含了一个配置管理工具,可以通过编辑XML格式的配置文件来进行配置。本系统使用的是Tomcat 7.0。能够支持Servlet 3.0。2. 数据库:SQL Server 2008SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。1.2 开发技术介绍1. 个人微博客系统使用JSP 技术完成。JSP全名为Java Server Pages,是一个简化的Servlet设计,它以 <%, %>形式在Html中嵌入Java程序片。 JSP同Servlet都是在服务器端执行的,返回给客户端的一个HTML文本,客户端使用浏览器就能浏览页面。Web服务器接收到访问JSP网页的请求时,首先执行其中的java程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP页面很少进行数据处理,一般只是用来实现静态化页面,只是用来通过表单提交数据,不会进行业务处理,对于业务处理放到servlet中。Java Servlet是JSP的技术基础,通常的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠的特点。2. 图片的上传下载利用组件jspSmartUpLoad.jarjspSmartUpload是由网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: (1)、使用简单。在JSP文件中书写三五行java代码就可以实现文件的上传或下载,方便。 (2)、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 (3)、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。 (4)、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。 1.3 论文组织结构介绍根据项目开发流程,论文的组织结构如下。第1章介绍了个人微博客系统的开发工具和开发语言以及文章组织。在第2章中对系统进行了项目的需求分析和面向对象分析和设计。第3章通过UML语言里的用例图(Use case diagram)、类图(class diagram)来分析系统项目,并对数据库进行了基本的分析和建模。第4章是对项目的编码实现,4.1节介绍系统的实现,并介绍了如何处理乱码的方法。在第5章介绍了项目的测试计划和方案,并列举了测试数据和分析结果。最后对项目开发阶段所做的总结和进一步的展望。第2章 项目需求分析2.1 需求功能点介绍随着时代在进步,网络技术也在不断地发展,博客已经成为互联网文化中不可分割的一部分。现如今的网民每个人都有属于自己的博客,会浏览阅读博客,几乎每一个人都会有一两个特别钟爱的博客,无论是传统新闻媒介的“官方”新闻博客还是与自己爱好兴趣相关的话题性博客或是纯娱乐博客。相对于电子邮件、讨论群组,博客的沟通方式更为容易和简单,博客成为家庭、朋友、部门、团队之间越来越盛行的沟通方式。此系统包括博主模块、游客模块、学生模块。1. 博主模块:博主登录,发表博文,添加博文类别,修改及删除博文,删除博文类别,添加相册类别,添加相册,删除相册等功能。2. 游客模块:浏览博文,发表评论,对博主留言,查看相册等功能。2.2 用例图表示需求在UML中,用例(Use Case)是对一组动作序列(其中包括它的变体)的描述,系统执行该动作序列来为参与者产生一个可观察的结果值。一个用例用于描述一组序列,一个序列表示系统外部的事物(系统的参与者)和系统本身(和它的关键抽象)的交互。本系统中有2种类型的参与者。他们是:博主、游客。在下面的用例图中,将分别对这两种参与者可使用的用例进行描述。1. 博主用例图图 21博主用例图2. 游客用例图图 22游客用例图2.3 用例图描述以下对系统用例图进行了描述。1. 博主用例图描述(主要用例)(1) 博主登录用例如下表所示。表 21登录系统用例描述用例名称登录博客系统用例目标当博主登录系统时用例开始,它验证博主身份,当完成一次处理后用例结束级别子功能活动者博主状态只定义了初始路径前件条件无成功后件博主进入博客首页(index.jsp)主路径博主进入登录界面以后,输入正确的用户名和密码,博主登录到系统中可选路径博主进入登录界面以后,单击“直接进入”例外路径博主进入登录界面以后,输入无效的账号和/或密码,系统显示“用户输入的用户名和密码错误”,博主可以选择返回主路径的起始点,重新输入正确的账号和密码;或单击“直接进入” (2) 博文管理用例如下表所示。表 22博文管理用例描述用例名称博文管理用例目标 当博主发表博文、修改博文、删除博文时用例开始,当博主发表、修改、删除博文成功后用例结束 级别子功能活动者博主状态只定义了初始路径前件条件博主登陆个人微博客系统成功后件博主发表、修改、删除博文成功后主路径博主进入发表、管理博文界面,添加或更新博文,并保存到数据库中可选路径例外路径无(3) 相片管理用例如下表所示。表 23相册管理用例描述用例名称相册管理用例目标当博主添加、删除相片时用例开始,当博主操作成功后用例结束级别子功能活动者博主状态只定义了初始路径前件条件博主登陆系统成功后件博主添加、删除相片成功主路径博主进入添加相片界面后,相片添加、删除成功,并存入数据库中可选路径无例外路径无(4) 博文类别管理用例如下表所示。表 24博文类别管理用例描述用例名称博文类别管理用例目标当博主添加、删除博文类别时用例开始,当博主操作成功后用例结束级别子功能活动者博主状态只定义了初始路径前件条件博主登录系统成功后件博主添加、删除博文类别,并成功保存到数据库中主路径博主进入添加、删除博文类别界面后,选择添加博文类别或删除,并存入数据库中可选路径无例外路径无(5) 相册类别管理用例如下表所示。表 25相册类别管理用例描述用例名称相册类别管理用例目标当博主添加、删除相册类别时用例开始,当博主操作成功后用例结束级别子功能活动者博主状态只定义了初始路径前件条件博主登录系统成功后件博主添加、删除相册类别,并成功保存到数据库中主路径博主进入添加、删除相册类别界面后,选择添加相册类别或删除,并存入数据库中可选路径无例外路径无2. 游客用例图描述(主要用例) (1) 发表评论用例如下表所示。表 26发表评论用例描述用例名称发表评论用例目标用户对博主所发表的博文进行评论时用例开始,它处理发表评论的问题,当用户结束评论时用例结束级别子功能活动者用户(游客或博主)状态只定义了初始路径前件条件无成功后件评论发表成功主路径用户发表评论,系统保存评论可选路径无例外路径无(2) 发表留言用例如下表所示。表 27发表留言用例描述用例名称发表留言用例目标用户发表留言时该用例开始,它处理留言问题,当留言提交成功时用例结束级别子功能活动者用户(游客或博主)状态只定义了初始路径前件条件无成功后件用户发表留言成功主路径用户发表留言,系统保存留言可选路径无例外路径无第3章 详细分析与设计3.1 面向对象分析面向对象分析是从系统能完成的功能,以及对象间的相互关联关系为核心,分析主要围绕着对象的分类,相关属性和操作的标识,类和实例之间的关系,以及各种对象的行为特征等方面进行。在一个面向对象系统中客观世界的实体均用对象表示,此外对象还可以表示是支持软件开发者所需要的功能。从实现形式上看,一个对象是一系列状态和一系列可被外部调用的操作或方法的封装体。状态记录了操作后的结果,方法定义了一系列的计算步骤,当请求一个对象执行有关方法,则说对这个对象施加了一个操作。对象上可执行的操作描述了对象执行的功能,它通过一个外部接口表述。通过接口对象可以交互,交互通过消息的传递来完成,这里消息是一个对象与另一个对象之间的通信单元,是要求某个对象执行某个操作的规格说明。类是一组具有相同数据结构的和相同操作的对象的集合。类的定义包括一组状态的描述和方法的定义,类的定义可视为一个具有类似状态与共同行为的对象的模板。类模板以外部接口和内部算法以及数据结构的形式提供了一个类的完整描述。这种方法的主要优点是实现一个类的工作只需进行一次。在一个类中,每个对象都是类的实例(instance),对象可以通过一个实例化机制动态地产生。继承(inheritance)是使用已存在的定义作为基础建立定义的技术。新类可以通过修改或扩充已存在的类来定义,因而新类共享已有类的行为,但具有修改和添加的行为,这种行为共享是继承的本质特性。这样定义的新类成为已有类的子类,已存在的那个类成为新类的父类。由上可知,面向对象不是一种编程语言,它是一种方式。它把程序看成是相互协作而又彼此独立的对象集合,每一个对象就像一个微型程序,有自己的状态和功能。这种新方式带来了许多突出的优点,如模块性、重用性和维护性。对象的引入,将“现实世界”和“软件程序”在语义上的分歧最小化了,并屏蔽了实现细节,这使得理解和调试大型程序变得非常容易;而类则支持行为共享,并提供了软件开发过程中的代码重用,这些使得面向对象技术在软件开发的全过程中表现出高效并易于维护8。3.2 类图设计从用例图到类图,是使用UML进行系统分析的核心步骤,也是系统的分析和设计中重大的步骤。这一步帮助我们从仅仅知道系统完成以后做什么,深入到了系统将如何完成那些功能。3.2.1 类图类图(Class Diagram)用来显示系统中各个类的静态结构。类代表系统内处理的事物,这些类可以以多种方式相互连接在一起,包括关联(类相互连接)、依赖(一个类依赖/使用另一个类)、特殊化(一个类是另一个类的特化)或者大包(多个类组合为一个单元)。所有的这些关系连同每个类的内部结构都在类图中显示,其中,一个类的内部结构是用类的属性和操作表示的。因为类图所描述的结构在系统生命周期的任何一处都是有效的,所以通常认为类图是静态的。一个系统一般都有多个类图,并不是所有的类图都放在一个类图中,并且一个类可以参与到多个类图中。下图为本系统的类图。图 31类图3.3 数据库基本分析与建模实现一个专业的管理系统,必然会涉及到后台数据库对系统数据信息的保存和维护,考虑到系统对用户并行处理数据库中数据的需求,一般都会选择Oracle, DB2等大型数据库管理系统,考虑到系统的可移植性和开源性,采用对用户并发连接数量的优异表现,本系统中相关的数据信息均采用SQL Server数据库管理系统进行处理。3.3.1 数据库的需求分析根据个人微博客系统的一般要求,通过对整个系统功能、数据流程和运行过程的分析,可以得出数据库中应包含以下各表:1文章表:文章编号,文章标题,文章内容,文章发表时间,文章类别,文章浏览次数,文章评论次数。2文章类别表:文章类别编号,文章类别名称。3评论表:评论编号,文章编号,用户名称,评论时间,评论内容。 4博主信息表:博主编号,博主昵称,博主真实姓名,博主注册时间,博主性别,博主生日,博主身高,博主体重,博主登陆次数,博主发表博文数量,博客浏览次数。5. 留言表表:留言编号,留言者,留言内容,留言时间。6相片表:相片编号,相册类别编号,相片名称,相片路径。7相册类别表:相册类别编号,相册名称,相册封面图片路径。3.3.2 数据库的逻辑设计根据个人微博客系统的需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,这些关系的建立可以避免由于误操作导致数据库的崩溃,保证各表之间数据的统一性。数据库的对应关系图如下(图3-3)。图 33数据库对应关系图1. 博文信息表:博文表(article)是用来保存博主所发表的所有博文信息的数据表,在下表(表3-1)中列出了该表中所包含的字段描述信息。表 38博文信息表列名类型宽度列含义主键递增外键articleIdint4文章编号是是否articleTitlevarchar50文章标题否否否articleContenttext文章内容否否否articleSendTimevarchar50发表文章时间否否否readCountint4阅读次数否否否commentCountint4评论次数否否否articletype_idint4文章类型编号否否是2.博文类别信息表:博文类别表(articletype)是用来保存博文类别信息的数据表,在下表(表3-2)中列出了该表中所包含的字段描述信息。表 32博文类别表列名类型宽度列含义主键递增外键t_idint4文章类别编号是是否namevarchar50类别名称否否否3.评论表:评论表(comment)是用来保存评论信息的数据表,在下表(表3-3)中列出了该表中所包含的字段描述信息。表 33评论表列名类型宽度列含义主键递增外键commentIdint4评论编号是是否articleIdint4文章编号否否是commentAuthorvarchar20评论者否否否commentContenttext评论内容否否否commentSendTimevarchar50评论时间否否否4.博主信息表:博主信息表(member)是用来保存博主个人信息的数据表,在下表(表3-4)中列出了该表中所包含的字段描述信息。表 34博主信息表列名类型宽度列含义主键递增外键uidint4博主编号是是否unickNamevarchar20博主昵称否否否utrueNamevarchar20真实名称否否否upasswordvarchar20密码否否否uregisterTimevarchar20注册时间否否否uLastLoginTimevarchar50上次登录时间否否否usexvarchar2性别否否否ubirthdayvarchar50生日否否否umarriedvarchar2婚姻否否否uheightint4身高否否否uweightint4体重否否否articleCountint4博文数量否否否logintimeint4登陆次数否否否countint4浏览次数否否否5.留言信息表:留言信息表(messages)是用来保存留言信息的数据表,在下表(表3-5)中列出了该表中所包含的字段描述信息。表 35留言信息表列名类型宽度列含义主键递增外键w_idint4留言编号是是否w_namevarchar50留言者否否否w_wordvarcharmax留言内容否否否w_timevarchar50留言时间否否否6.相片表:相片表(photo)是用来保存博主所发表的所有相片信息的数据表,在下表(表3-6)中列出了该表中所包含的字段描述信息。表 36相片表列名类型宽度列含义主键递增外键idint4相片编号是是否tp_idint4类别编号否否是photonamevarcher50相片名称否否否photopathvarchar50相片路径否否否7.相册类别信息表:相册类别表(phototype)是用来保存相册类别信息的数据表,在下表(表3-7)中列出了该表中所包含的字段描述信息。表 37相册类别表列名类型宽度列含义主键递增外键Idint4类别编号是是否typenamevarchar50类别名称否否否facepathvarcher50封面路径否否否第4章 项目编码实现4.1 系统的实现本系统设计了两种用户,分别为博主和游客。针对不同用户,分别设计了相关功能所涉及到的流程。个人博客系统中,博主通过页面上的提示链接进行发表博文、添加相片及查看评论,留言等。博主发表博文时要求必须填写博文题目,内容。游客可以通过页面相关链接查看不同类别博文以及不同相册的相片。游客可以对博文进行评论,发表自己的见解。点击留言板,给博主留言。4.1.1 用户表现层下面分别介绍一下本系统各层实现的具体过程。1. 前台用户表示层(1) 用户登录首页(login.jsp)本系统有两张用户,点击直接进入其身份默认为游客,输入用户名、密码登陆成功进入的其身份为博主。他们都进入到index.jsp。图 44登录页面(2) 博文显示页面(MyArticleList.sp)用户点击页面的链接“博文列表”,会显示出每种分类下的10篇博文,点击类别,可以分类显示该类别下的所有博文,点击博文题目,可以展示博文详细内容。图 45博文显示页面 (3) 相册显示页面用户点击页面的链接“相册列表”,会显示出相册分类及封面图片,点击类别名称,可以分类显示该类别下的所有相片。图 43相册显示页面(4) 留言板页面用户点击页面的“留言板”,显示用户所发表的留言页面,用户可以发表留言。图 44留言板页面4.1.2 业务逻辑层在本系统中业务逻辑层中分别完成了对各种分类信息、用户信息等类型的对象的保存和处理。业务逻辑层所对应的class所在的包在应用目录WEBINF下的classes目录下,下面大致分别介绍一下业务逻辑层中的主要的类。1. 封装了数据库相关操作的BaseDao.java主要实现代码package com.personalblog.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class BaseDao private static String drivatername = "com.microsoft.sqlserver.jdbc.SQLServerDriver"private static String dbURL = "jdbc:sqlserver:/127.0.0.1:1433;sDatabaseName=blog_db"private static String userName = "sa"private static String psd = "123456" * 获取连接 * returnpublic static Connection getConnection() Connection conn = null;try Class.forName(drivatername);conn = DriverManager.getConnection(dbURL, userName, psd); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return conn; * 对数据库查询 * param sql * returnpublic static ResultSet sel(String sql) Connection con = null;Statement stmt = null;ResultSet rs = null;try con = BaseDao.getConnection();stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = stmt.executeQuery(sql); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return rs; * 对数据库插入删除修改public static int exec(String sql) int i = 0;Connection con = null;PreparedStatement pstmt = null;try con = BaseDao.getConnection();pstmt = con.prepareStatement(sql);i = pstmt.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally try pstmt.close();con.close(); catch (Exception e) e.printStackTrace();return i; * 关闭所有资源 * param conn * param stmt * param rspublic void closeAll(Connection conn, Statement stmt, ResultSet rs) if (rs != null) try rs.close(); catch (SQLException e) e.printStackTrace();if (stmt != nu