jsp570党员信息管理系统sqlserver论文_第1页
jsp570党员信息管理系统sqlserver论文_第2页
jsp570党员信息管理系统sqlserver论文_第3页
jsp570党员信息管理系统sqlserver论文_第4页
jsp570党员信息管理系统sqlserver论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

PAGE3Xxxx学院党员管理系统毕业设计(论文)题目:学生党员管理系统的设计与实现作者:学号:系(院):专业班级:计算机科学与技术指导老师:实验师(姓名)(专业技术职务)评阅老师:(姓名)(专业技术职务)2011年1月xxx

中文摘要摘要:本文对高校党员管理信息系统的开发按照软件工程理论思想进行了全程描述。高校党员管理系统是运用于网络并对党员信息实现了采集、整理、统计、汇总为一体的信息系统。系统分为四个子系统:系统系统:实现系统管理员的信息管理功能;党员管理分系统:主要实现预备党员、积极分子动态变动过程;党员管理分析系统综合业务系统实现统计计算、报表的编辑、修改及输出等功能管理;党员管理分系统:主要是实现党组织的综合数据管理,以及党的对内对外的党员全程控制和辅助决策管理。系统使用JSP技术,实现基于B/S模式实现于网络的分布式大型信息管理系统,具有快捷易用的交互操作、智能化的分析决策等特点。关键词:JSP资源共享电子政务数据库SQL目录中文摘要 2目录 3一引言 41.1可行性分析 41.1.1经济可行性 51.1.2技术可行性 51.1.3操作可行性 61.2论文各章简介 6二需求分析 82.1业务流分析 82.2数据流分析 92.3数据字典 92.3.1学生党员管理系统的数据字典 92.3.2学生党员管理系统的数据项 102.3.3学生党员管理系统的数据结构 112.4数据库概念结构设计 12三学生党员管理系统的具体实现 143.1系统实现软件简介 143.2 各模块介绍 183.2.1用户登陆模块 183.2.2管理员用户管理模块 203.2.3党员基本信息添加模块 233.2.4党员基本信息查询模块 233.2.5入党申请书添加模块 263.2.6奖惩信息添加模块 273.2.7档案资料添加模块 283.2.8修改密码模块 303.3软硬件平台 31结论 32致谢 33参考文献 34一引言以信息科学技术为先导的社会变革,全面地推动了社会发展,改变了经济结构,信息化的现代社会进入以网络为中心的信息时代。“信息高速公路”的建设为社会各行各业的发展提供了契机,各种新型网络和通讯技术的迅速发展和应用为“信心高速公路”的建设奠定了基础。全球信息化、网络化进程正在改变人们的生活和工作方式。研究机构、政府和个人将越来越多地资金、技术投入到Internet中,并获得了巨大的成功,电子信息化的概念和时间得到了越来越广泛的认可。在信息技术高速发展的今天,党员工作信息的内容已不仅仅限于一般文字积累和简单的数字统计,党员工作要逐步引进现代化科学技术和现代管理方法,以实现党员工作的科学化、现代化,如果党员工作的科学化、现代化、信息化水平落后于社会经济发展,比将制约整个社会政治、经济进程。所以建设适合党员工作实际需要的党员信息系统是党的建设的需要,也是国家经济建设的需要,这需要相应的计算机系统的支持。实施党员管理系统后,党员工作得到系统规范的管理,改善了智能部门的服务质量,系统地规范了党员管理内容,完善了工作方法,实现党员工作的科学化、现代化,提高党政机关在群众中的威信。党员管理工作作为保证党的领导和党的建设顺利进行的一系列技术性、事务性和实施性的工作,在经济建设中更加突出和重要。党员工作水平服务功能的强化和发展将对党的领导和党的建设产生极大的推动作用。1.1可行性分析随着学习课业和社会压力的不断增加,学生党员对时间支配自由度的需求也越来越强烈,越来越迫切,而学校的学生党员管理和日常管理是必须下达招待的,这其中就出现了一个很大的矛盾,而随着社会的不断发展,这种矛盾越来越显得突出。解决之道,是将传统教学管理的政务处理服务延伸到网络,并做好信息共享和支配,以更合理地使用现有资源进行政务执行。可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性、技术上的可行性和操作上的可行性。本系统的可行性分析如下:1.1.1经济可行性由于学生党员管理系统所要求的硬件(计算机及相关硬件)和软件环境(JSP+SQL),市场上都容易购买到或从相关网站下载,而据不完全调查统计本学校学生党员电脑拥有率是85%-90%左右,系统成本主要集中在本管理系统的开发与维护上,对学校和学生党员不会造成过重的经济负担。而一旦此系统投入使用,不仅可以减少学校实验室等公共学习资源的工作强度,提高资源共享率,在不增加现有资源的前提下提高资源使用率,极大限度的方便了学生党员学习。而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本借阅系统的开发成本,所以从经济方面讲开发此系统是可行的。1.1.2技术可行性 学生党员管理系统的开发基于B/S模式,主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前者要求应具备功能完备、易于使用等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。本系统拟采用JSP(ActiveServerPages)和MSSQL分别作为前端和后端的开发工具。JSP是目前比较流行的一种制作动态网页的技术,使用VBScript、JavaScript等简单易学的脚本语言,结合HTML代码,即可快速地完成系统的应用程序;无须编译、容易编写,可在服务器端直接执行;使用普通的文本编辑器,如Windows的记事本,既可以进行编辑设计;与浏览器无关,客户端所使用的浏览器只要可执行HTML码,即可浏览JSP所设计的网页内容就行,JSP所使用的脚本语言(VBScript、JavaScript)均在Web服务器端执行,客户端的浏览器不需要能够执行这些脚本语言;JSP能与任何ActiveScripting语言兼容,除了可使用VBScript或JavaScript语言来设计外,还可以通过plug-in的方式,使用由第三方提供的其他脚本语言,譬如REXX、Perl、Tcl等,脚本引擎是处理脚本程序的COM(ComponentObjectModel);可使用服务器端的脚本来产生客户端的脚本;ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。可以使用VisualBasic、Java、VisualC++、COBOL等程序设计语言来编写你所需要的ActiveXServerComponents。SQL作为微软在Windows系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的业务建立在Windows平台上的用户都会对它有相当的亲切感。区别于FoxPro、ACCESS小型数据库,SQL是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。因此从技术方面讲开发此系统是可行的。1.1.3操作可行性 当前执行的学生党员管理系统有如下几个缺点,一是造成很多的学生党员因为没有及时查看而误了很多事务,二是造成学校在管理体系方面的投入。而造成这种管理渠道和学生党员需求极不协调的尴尬局面的真正原因,是因为这其中的管理系统的不完备和不系统。所以,只需解决学校内现有管理系统的建设增加网络渠道,即可解决上述问题。本学校管理办公室设置齐全,在传统学生党员管理方面做得很系统,具备着做学生党员管理系统的基础硬件条件。综上所述,某某学校很有必要,也很有条件做到学生党员管理系统,以更方便学生党员学习学校政务信息,更合理地使现有学生党员管理资源发挥最大的作用。1.2论文各章简介第1章引言部分,引言主要叙述课题的可行性分析。第2章主要内容是:系统需求分析包括,业务流程分析;数据流分析;数据字典。第3章主要内容是:学生党员管理系统的具体实现包括,学生党员用户操作界面;管理员用户操作界面等。最后还有结论、致谢、参考文献等等内容的介绍。

二需求分析2.1业务流分析 学生党员管理系统工作流程为:系统启动并进入系统首页界面,在页面用户登录栏进行登录。所有用户都可以浏览系统主页面。通过权限判断,学生党员只能浏览系部概况、系部动态、系统公告、科技新闻、科研服务、优秀教程等信息,以及进行留言。管理员可以进行系统后台的所有操作,包括管理上述信息及系统管理员帐号管理、数据备份及数据恢复。管理员本系统的业务流程图如图2-1所示:管理员用户管理用户管理登录系统后台登录系统后台党员管理党员管理系统后台数据备份系统后台数据备份数据恢复数据恢复修改密码修改密码图2-1系统业务流程图图2-1系统业务流程图本系统是利用现代化的计算机网络技术将传统学生党员管理方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个在线管理政务事务信息的平台以利于学生党员进行相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下系统开发目标:具体目标如下:(1)操作简单、界面友好:完全控件式的页面布局,使得信息的录入工作更简便。(2)即时可见:对信息的处理(包括添加、修改、删除)将立即在对应的版块显示出来,达到"即时发布、即时见效"的功能。(3)功能完善:不仅包括常见系统的信息管理的各个方面:信息录入、浏览、删除、修改、查询等各个方面,完整地实现了系统对即时信息的管理要求。(4)方便移植:系统应具有实用性、可靠性和适用性,同时注意到先进性。针对不同的用户,只需要稍作修改就可以开发出适合自己特点的学生党员管理网站。系统界面中所需的数据都存放于数据文件中,只要对该文件做部分修改,就能在系统界面上实现及时更新的效果,减少了更改系统源代码的复杂性。(5)动态管理:对系统数据库实行动态操作,能实现对数据库信息的动态查询、动态更新修改和动态录入数据。2.2数据流分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(dataflowdiagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。学生党员管理系统的数据流程:对本系统操作的数据源有学生党员和管理员两种用户,管理员有权限对数据库中的数据进行添加。不同权限的用户可以对这些库信息进行添加、修改和删除处理。所有用户均可以进行信息查询。所有用户均可进行在线留言系统。通过对本系统的需求分析,系统的基本功能已经确定。2.3数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。2.3.1学生党员管理系统的数据字典1.数据字典列表——数据流数据存储名称:学生党员信息数据来源:学生党员信息表数据去向:学生党员信息模块数据组成:学生党员信息=系统唯一标识+编号+姓名+性别+电话+身份证+学历+地址+邮箱+入党时间+出生年月+备注+图片+注册时间等描述:存储了学生党员的基本信息数据存储名称:管理员信息数据来源:管理员信息表数据去向:管理员信息模块数据组成:管理员信息=系统唯一标识+用户名+密码+权限+添加时间描述:存储了管理员信息名字:录入信息描述:党员信息,入党积极分子信息等的录入输入:输入要添加录入的信息名字:录入信息描述:党员信息,入党积极分子信息等的录入输入:输入要添加录入的信息过程:将需要添加录入的信息加入数据库中输出:系统新的信息表页面输出:查询得到的信息页面名字:修改、删除信息描述:对党员信息等修改或删除后存入数据库中输入:输入要修改或删除的信息过程:对需要修改的信息做修改、删除过时的信息输出:系统新的信息表页面输出:查询得到的信息页面名字:数据库信息别名:无描述:存储了数据库的基本信息名字:数据库信息别名:无描述:存储了数据库的基本信息数据组成:数据库信息=公务员信息+管理员信息位置:数据库输出:查询得到的信息页面描述:管理员描述:管理员用户登录系统进行管理输入:用户名、密码过程:判断是否为合法的用户及根据权限选取相应的操作功能输出:系统主界面2.3.2学生党员管理系统的数据项名称:管理员帐号名称:管理员帐号简述:唯一表示一个管理员数据类型:文本字段大小:50名称:管理员密码数据类型:文本字段大小:50名称:添加时间名称:添加时间简述:管理员的申请时间数据类型:时间字段大小:8名称:权限简述:管理员的权限信息数据类型:文本字段大小:50名称:编号名称:编号简述:党员的编号信息数据类型:文本字段大小:50名称:系统编号简述:惟一的系统编号数据类型:文本字段大小:50名称:性别简述:学生的性别信息名称:性别简述:学生的性别信息数据类型:文本字段大小:50名称:姓名简述:党员的姓名信息数据类型:文本字段大小:50名称:QQ简述:党员的QQ信息名称:QQ简述:党员的QQ信息数据类型:文本字段大小:50名称:EMAIL简述:党员的EMAIL信息数据类型:文本字段大小:50名称:出生年月简述:党员用户的出生年月名称:出生年月简述:党员用户的出生年月数据类型:日期/时间字段大小:8名称:身份证号简述:党员的身份证号信息数据类型:文本字段大小:502.3.3学生党员管理系统的数据结构allusers表:管理员信息序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号10

2usernameVarChar50是255

3pwdVarChar50是255

4cxVarChar50是255

5addtimeDateTime8是23

danganziliao表:档案资料序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号10

2bianhaoVarChar50是255

3mingchengVarChar50是255

4neirongVarChar50是255

5fujianVarChar50是255

6faburenVarChar50是255

7addtimeDateTime8是23

jiangchengxinxi表:奖惩信息序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号10

2xuehaoVarChar50是255

3xingmingVarChar50是255

4jiangchengVarChar50是255

5riqiVarChar50是255

6shiyouVarChar50是255

7beizhuVarChar50是255

8addtimeDateTime8是23

jibenxinxi表:党员基本信息序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号10

2xuehaoVarChar50是255

3xingmingVarChar50是255

4banjiVarChar50是255

5jiguanVarChar50是255

6xingbieVarChar50是255

7chushengnianyueVarChar50是255

8rutuanshijianVarChar50是255

9dianhuaVarChar50是255

10youxiangVarChar50是255

11jiatingzhuzhiVarChar50是255

12rudangshenqingshuText16是255

13youxiutuanyuanVarChar50是255

14addtimeDateTime8是23

15mimaVarChar50是255

有了如上的数据结构、数据项和数据流程,我们就能进行数据库设计。2.4数据库概念结构设计根据前面的设计规划出的实体有:管理员实体、学生党员实体、申请表实体、培养实体、定期表现信息实体。各个实体的具体描述E-R图如下:管理员管理员编号帐号密码名权限添加时间编号帐号密码名权限添加时间图2-4管理员实体E-R图党员党员姓名编号性别联系其他编号姓名编号性别联系其他编号…………图2-5学生党员实体E-R图

三学生党员管理系统的具体实现3.1系统实现软件简介学生党员管理系统应该完成开发者赋与的做好学生党员工作信息和学生党员之间的协调问题。要实现这些功能,必须有良好的Web技术的支持,目前常用的Web技术有:1. 脚本语言脚本语言是一种简单的描述性语言,它的语法结构与计算机上的高级语言非常相似,所以相对于其它的Web技术来说是简单易用的。脚本语言通过一个<SCRIPT>标识嵌入到HTML中,通过编程对Web页元素进行控制,从而实现Web页的动态化和交互性。目前常用的开发语言有VBScript和JavaScript。2.CGI通用网关接口(CommonGatewayInterface,CGI)作为一种通信标准,它的任务是接受客户端的请求,经过确认和处理,生成HTML文档并重新传回到客户端。CGI可以运行在许多平台上,具有强大的功能。3.JSPJSP是动态服务器页面(ActiveServersPages,JSP)的简称,它是微软公司推出的一种用以取代CGI的技术。JSP为开发Web站点提供了强大的、基于服务器功能的应用框架。由于JSP的逻辑在Web服务器上运行,用JSP创建的易用可以被跨不同平台运行的多种Web浏览器访问。4. Servlet及JSPServlet及JSP都是基于Java的技术。Servlet是用来扩展Web服务器功能的网络组件,它基于请求/响应机制。JSP和Servlet非常相似,但JSP并不是纯Java代码。基于以上因素,选择以下工具作为本系统的开发工具:目前,电子商务高速发展的今天,极其需要制作具有交互功能的网站,以满足电子商务的发展要求。但是目前不仅存在后台编写技术人员不足,而且普遍存在后台编写相关开发工具功能不完善。这一些使得设计和开发进程效率低下,从而削弱了网络应有的互动体验。MacromediaMyEclipse6.0是专门为软件开发所设计的,电子商务必定是未来互联网重点发展方式之一。对此MyEclipse6.0有它独到的解决方案。首先,MyEclipse6.0功能全面,能够制作复杂的JSP、JSP、ColdFusion数据库动态网站,还能够扩展建立安全的可定制的电子商务软件。其次,MyEclipse6.0能迅速建立动态网站、与现存软件的网络接口、以及ActiveServerPages(JSP)、JavaSeverPages(JSP)TColdFusion(CFML)支持的数据库。MyEclipse6.0建立在强大的Dreamweaver网络开发平台上,可以非常直观地开发网络软件,而同时保持对代码的完全控制。拖放服务器行为,可以很容易地制显示、导航和更新数据库内容的网页。再次,对于MyEclipse6.0的功能扩展,Macromedia公司提供了大量的第三插件,其中包括了多种购物车功能插件。除此之外,MyEclipse6.0的扩展功能提供了开发学习系统所需的所有东西,让这些商店能够支持多种功能,而且容易维护。MyEclipse6.0可以满足习惯于编码操作的网络应用建设者快速有效地对内码进行处理的需要。可以说,MyEclipse6.0是可以对MicrosoftActiveServerPages(JSP)、SunMicrosystemsJavaServerPages(JSP)以及AllaireColdFusionMarkupLanguage(CFML)等不同标准的编码进行编辑处理的完美解决方案。使用它,不需要掌握复杂的源代码语言。而它做为Dreamweaver完整操作平台的一个组成部分,还起着融合一个大型网络开发团队中设计人员和程序人员的工作内容的重要桥梁任用。网络应用创建者可以利用新版ServerBehaviorBuilder,方便地生成符合各自开发标准的代码。基于其创建客户服务应用的能力,MyEclipse6.0同时预装了一套常用JSP、JSP及CFML服务器脚本素材库,方便用于在数据库中插入新的记录以及对已有数据库进行升级。新版本为开发者提供了三种不同应用层次版本的所见即所得编程环境:CodeView、DesignView或newSplitView。中心编码功能包括:LiveSyntax色彩编码、设定自动缩进及线数、客户端的JavaScript调试器和对JavaBeans的支持。新的团队工作流程方式包括:对用于内容管理的WebDAV的支持,与MicrosoftVisualSourceSafe的完美整合等等。这是一个完全整合的网络应用开发解决方案。这个软件包为网络开发者提供了一整套的创建HTML、JSP、JSP和CFML页以及GIF和JPEG图像的专业工具。便于开发者使用FireworksMX创建、编辑以及动态生成网络图形和同时,利用MyEclipse6.0添加增强的互动效果、优化图像以及无失真的整合图形和编码元素。基于以上因素,且是个人作业,确定使用MyEclipse6.0作为开发动态网页的工具,减少了编写代码工作量,加快开发速度。MyEclipse6.0的工作流程大致分为以下6步:系统分析要创建一个具有电子政务功能的网站,道德就是需要分析。只有在详细的需要分析之后,才能决定网站的构架及数据库的结构。制作静态页面制作动态页面的第一步就是创建静态页面。可以运用Dreamweaver所有的设计工具来完成。定义记录集如果在就用程序中使用了数据库,下一步就要定义记录集(Recordset),以便人数据库中临时提取数据。应用程序不能直接调用数据库,它必须以记录集为中介。定义的任何记录集都将添加到数据库绑定面板中。可以将数据绑定面板中对应记录集的字段添加到Web页上,也就添加了动态内容。添加动态内容在向数据绑定面板中添加了记录集或其他数据源之后,就可以向你的Web页中添加动态内容,而不必考虑如何插入服务器端脚本到Web页中。这也正是它的优越之处。添加服务器端行为,激活动态页面向Web页面添加“智能化”命令来实现特定的功能。向页添加服务器行为(ServerBehaviors)就是用VBScript、JavaScript、Java或ColdFusion编写的运行在服务器上的脚本。编辑和调试Web页MyEclipse6.0提供了三种编辑环境:Dreamweaver传统的可视化编辑环境、MyEclipse6.0活动数据(LiveData)编辑环境和源代码编辑环境。Microsoft的动态服务器网页(ActiveServerPages,JSP)技术目前已发展到了3.0版。对很多人来说,用JSP来创建Windows服务器平台上的动态Web网页、整个站点和基于Web的应用程序已经成为极其自然而然的方法。在浏览器地址栏中,文件扩展名.JSP同表示动态创建的网页的文件扩展名.pl或.cgi一样,已被浏览者所接受。事实上,对于在微软的操作系统上工作的Web程序员来说,JSP正在变成一种不再令人激动的技术,而仅是一种工作方式。这种看法的改变体现了一种技术的逐步成熟。由于JSP的应用程序的数量日益增多,JSP的工具也在日益增加,同时有越来越多的第三方开发商开发出一系列基于JSP或使用JSP的附加功能模块、ActiveX服务器组件,甚至成套的“自己做(do-it-yourself)”Web站点.在JSP3.0中,有一些新的特性或经历较大的变化或改进的特性。1.无脚本的JSP如早先提到的,JSP处理不包括任何脚本的.JSP页的速度是很快的,假如你正在创建的站点或Web应用程序文件最终可能使用JSP,最好让这些文件使用.JSP文件扩展名,而不用考虑它们是包含服务器端脚本还是仅仅包含静态(HTML和文本)内容。2.新的流向控制能力到目前为止,假如想把执行转向另外的一个JSP页,不得不使用ResponseRedirect语句,这个工作通过向客户端发送一个响应来指示其载入新的页面来实现。然而这对客户端来讲是费事的。而且当代理服务器用于客户端时,会引起错误的消息。JSP3.0为Server对象提供了两个新的方法,允许在服务器上转换页面而不需要新的客户端的请求。ServerTransfer是转换执行到另一个页面;而ServerExecute是执行另一个页面,然后将控制返回原来的页面。在新的页面里可访问原来页面的环境,包括Response和Request等所有JSP对象,但是不能访问页面范围的变量。假如原始的页面使用了一个事务标志(在开放的<%@...%>元素中),事务的环境被传递到新的页面。假如第二个JSP文件的事务标志表明事务是受到支持的或需要的,则现有的事务将被使用,而不会开始一个新的事务。3.错误处理和新的JSPError对象通过提供一个用ServerTransfer方法自动调用的定制的JSP页面,提供了可配置的错误处理。在这个JSP页面中,ServerGetLastError可被用来返回一个JSPError对象的实例,其中包含了错误的细节,例如错误的描述和相关的行号。4.编码后的JSP脚本JSP脚本和客户端脚本现在可以使用BASE6.4加密法进行编码。更高水平的加密计划将出现在JSP的未来新版本里(注意,这个特征是由VBScript5.0和JScript5.0脚本引擎实现的,因此在脚本被执行时要求这些引擎存在)。编码后的脚本将在运行时由脚本引擎解码。因此不必使用别的工具,尽管这不是很安全的加密方法,但能够保护脚本不被一般的用户浏览和拷贝。5.包含脚本文件的一种新方式除了使用<!--#include-->元素使服务器端的IIS包含脚本代码文件,JSP3.0也能够“包含”其自己。<SCRIPT>元素与RUNAT=“SERVER”和SRC=“path_and_filename”属性共同使用,来包含基于服务器的脚本代码文件。相对的物理路径或虚拟路径也可以用在SRC属性中:6.ServerScriptletsJSP3.0支持一种强有力的新的脚本技术,称之为ServerScriptlets。这些是驻留在服务器上的XML格式的文本文件,可以像一般的COM对象(即Active服务器组件)为ASP所用。这样可以把Web应用程序的业务逻辑脚本过程更容易地实现为一个可重用的组件。7.增强性能的Active服务器组件JSP中的许多Active服务器组件得到了改进,能够提供更好的性能和附加的功能,一个例子就是新的BrowserCapabilities组件。除此之外,还有一些新的组件。例如,XML分析器使与XML更加紧密的集成通过Windows2000所提供的新的ADO2.5版),这为以XML格式存贮和获取数据,提供了新的机会。8.性能为改善JSP和IIS的性能和可扩展性,新版本做了大量的工作。这包含JSP中的自我调整特征,它可以检测阻塞情况并自动增加可用线程的数量。当请求在执行中受到外部资源的阻塞时,JSP能够检测出来,并为同时执行附加请求和继续正常处理提供更多的线程。但是,假如CPU变得超负荷,JSP会减小可用线程的数量,以便当过多的非阻塞请求同时执行时,将线程切换次数最小化。学生党员管理系统的基本界面结构清晰,操作明了,很容易上手。下面说明操作方式及实现原理。各模块介绍3.2.1用户登陆模块图2-16管理员用户登陆界面在此界面中,在输入管理员用户名密码及程序验证码时到数据库中相应的表查找对比,并做好权限匹配工作,如果正确刚进入系统,如果不匹配则拒绝进行系统。该模块是安全性最高的一个模块,其他模块均要在本模块之后进行。实现本模块的主要代码如下所示:<%Stringuid=request.getParameter("username");Stringpwd=request.getParameter("pwd");Stringcx=newString(request.getParameter("cx").getBytes("8859_1"));Stringsql="";if(cx.equals("管理员")){ sql="select*from[allusers]whereusername='"+uid+"'andpwd='"+pwd+"'"; } else { sql="select*from[jibenxinxi]wherexuehao='"+uid+"'andmima='"+pwd+"'"; }ResultSetRS_result=connDbBean.executeQuery(sql);if(!RS_result.next()){ out.print("<script>alert('你输入的用户不存在或密码错误,请重新登录!');window.history.go(-1);</script>"); }else{ session.setAttribute("username",uid);if(cx.equals("管理员")){ session.setAttribute("cx",RS_result.getString("cx")); } else { session.setAttribute("cx","学生"); } response.sendRedirect("main.jsp"); }RS_result.close();%>3.2.2管理员用户管理模块图2-16管理员用户登陆界面该模块主要是让超级管理员可以管理系统中的其他普通管理员。由于软件人员泛滥原则,该模块权限超级管理员一人使用。实现本模块的主要代码如下所示:<%if(request.getSession().getAttribute("cx").equals("超级管理员")){ }else{ out.print("<script>alert('对不起,您没有这个权限!!');history.back();</script>");}%><scriptlanguage="javascript">functioncheck(){ if(document.form1.username.value=="") { alert("请输入用户名"); document.form1.username.focus(); returnfalse; } if(document.form1.pwd1.value=="") { alert("请输入密码"); document.form1.pwd1.focus(); returnfalse; } if(document.form1.pwd2.value=="") { alert("请输入确认密码"); document.form1.pwd2.focus(); returnfalse; } if(document.form1.pwd2.value!=document.form1.pwd1.value) { alert("两次密码不一致,请确认"); document.form1.pwd1.value=""; document.form1.pwd2.value=""; document.form1.pwd1.focus(); returnfalse; }}</script><tablewidth="100%"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#00FFFF"style="border-collapse:collapse"><tr><tdbgcolor="A4B6D7">序号</td><tdbgcolor="A4B6D7">用户名</td><tdbgcolor="A4B6D7">密码</td><tdbgcolor="A4B6D7">权限</td><tdbgcolor="A4B6D7">添加时间</td><tdbgcolor="A4B6D7">操作</td></tr><%ResultSetRS_result=connDbBean.executeQuery("select*fromallusersorderbyiddesc");Stringid="";Stringusername="";Stringpwd="";Stringcx="";Stringaddtime="";inti=0;while(RS_result.next()){i=i+1;id=RS_result.getString("id");username=RS_result.getString("username");pwd=RS_result.getString("pwd");cx=RS_result.getString("cx");addtime=RS_result.getString("addtime");%><tr><td><%=i%></td><td><%=username%></td><td><%=pwd%></td><td><%=cx%></td><td><%=addtime%></td><td><ahref="del.jsp?id=<%=id%>&tablename=allusers"onclick="returnconfirm('真的要删除?')">删除</a></td></tr> <%}%></table>3.2.3党员基本信息添加模块该模块是让管理员可以添加本系统中的所有预备党员基本信息,包括学号,密码,姓名,班级,籍贯,性别,出生年月,入团时间,电话,邮箱及家庭住址等信息。其中出生年月和入团时间这两个文本框采用自动弹出日期选择框的技术。实现本模块的主要代码如下所示:Stringxuehao=request.getParameter("xuehao");Stringxingming=request.getParameter("xingming");Stringbanji=request.getParameter("banji");Stringjiguan=request.getParameter("jiguan");Stringxingbie=request.getParameter("xingbie");Stringchushengnianyue=request.getParameter("chushengnianyue");Stringrutuanshijian=request.getParameter("rutuanshijian");Stringdianhua=request.getParameter("dianhua");Stringyouxiang=request.getParameter("youxiang");Stringjiatingzhuzhi=request.getParameter("jiatingzhuzhi");Stringmima=request.getParameter("mima"); Stringsql="insertintojibenxinxi(mima,xuehao,xingming,banji,jiguan,xingbie,chushengnianyue,rutuanshijian,dianhua,youxiang,jiatingzhuzhi,rudangshenqingshu,youxiutuanyuan)values('"+mima+"','"+xuehao+"','"+xingming+"','"+banji+"','"+jiguan+"','"+xingbie+"','"+chushengnianyue+"','"+rutuanshijian+"','"+dianhua+"','"+youxiang+"','"+jiatingzhuzhi+"','暂无','否')"; connDbBean.executeUpdate(sql); out.print("<script>alert('添加成功!!');location.href='jibenxinxi_add.jsp';</script>");3.2.4党员基本信息查询模块该模块简单明了地列出了上一模块中所有添加的党员基本信息,且还包括查询修改删除统计和打印的功能。其中查询可以按学号和姓名两个字段进行查询,且都是模糊查询,即只需要输入字段中包含的几个字符即可查询到,不需要输入完整字段,两个条件之间为and关系。如果两个条件都为空,则表示查询所有信息。实现本模块的主要代码如下所示:<p>已有基本信息列表:</p><formname="form1"id="form1"method="post"action="jibenxinxi_list.jsp">搜索:学号:<inputname="bianhao"type="text"id="bianhao"/>姓名<inputname="mingcheng"type="text"id="mingcheng"/><inputtype="submit"name="Submit"value="查找"/></form><tablewidth="100%"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#00FFFF"style="border-collapse:collapse"><tr><tdwidth="8%"bgcolor='#A4B6D7'>学号</td><tdwidth="8%"bgcolor='#A4B6D7'>姓名</td><tdwidth="8%"bgcolor='#A4B6D7'>班级</td><tdwidth="8%"bgcolor='#A4B6D7'>籍贯</td><tdwidth="3%"bgcolor='#A4B6D7'>性别</td><tdwidth="10%"bgcolor='#A4B6D7'>出生年月</td><tdwidth="10%"bgcolor='#A4B6D7'>入团时间</td><tdwidth="10%"bgcolor='#A4B6D7'>电话</td><tdwidth="8%"bgcolor='#A4B6D7'>邮箱</td><tdwidth="20%"bgcolor='#A4B6D7'>家庭住址</td><tdwidth="7%"bgcolor="A4B6D7">操作</td></tr><%Stringsql="";sql="select*fromjibenxinxiwhere1=1";if(request.getParameter("bianhao")==""||request.getParameter("bianhao")==null){}else{ sql=sql+"andxuehaolike'%"+newString(request.getParameter("bianhao").getBytes("8859_1"))+"%'";}if(request.getParameter("mingcheng")==""||request.getParameter("mingcheng")==null){}else{ sql=sql+"andxingminglike'%"+newString(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";}sql=sql+"orderbyiddesc";//out.print(sql);ResultSetRS_result=connDbBean.executeQuery(sql);Stringid="";Stringxuehao="";Stringxingming="";Stringbanji="";Stringjiguan="";Stringxingbie="";Stringchushengnianyue="";Stringrutuanshijian="";Stringdianhua="";Stringyouxiang="";Stringjiatingzhuzhi="";//Stringrudangshenqingshu="";Stringyouxiutuanyuan="";Stringaddtime="";inti=0;while(RS_result.next()){i=i+1;id=RS_result.getString("id");xuehao=RS_result.getString("xuehao");xingming=RS_result.getString("xingming");banji=RS_result.getString("banji");jiguan=RS_result.getString("jiguan");xingbie=RS_result.getString("xingbie");chushengnianyue=RS_result.getString("chushengnianyue");rutuanshijian=RS_result.getString("rutuanshijian");dianhua=RS_result.getString("dianhua");youxiang=RS_result.getString("youxiang");jiatingzhuzhi=RS_result.getString("jiatingzhuzhi");//rudangshenqingshu=RS_result.getString("rudangshenqingshu");youxiutuanyuan=RS_result.getString("youxiutuanyuan");addtime=RS_result.getString("addtime");%><tr><td><%=xuehao%></td><td><%=xingming%></td><td><%=banji%></td><td><%=jiguan%></td><td><%=xingbie%></td><td><%=chushengnianyue%></td><td><%=rutuanshijian%></td><td><%=dianhua%></td><td><%=youxiang%></td><td><%=jiatingzhuzhi%></td><td><ahref="jibenxinxi_updt.jsp?id=<%=id%>">修改</a><ahref="del.jsp?id=<%=id%>&tablename=jibenxinxi"onClick="returnconfirm('真的要删除?')">删除</a></td></tr> <%}%></table><br>以上数据共<%=i%>条,<astyle="cursor:hand"onClick="javascript:window.print();">打印本页</a>3.2.5入党申请书添加模块该模块只要就是让管理员可以添加或修改系统中各党员的入党申请书信息,该模块采用了编辑器的技术,在该编辑器中用户可以输入表格,图片,影片,附件等特殊信息。实现本模块的主要代码如下所示:Stringrudangshenqingshu=request.getParameter("rudangshenqingshu");//Stringyouxiutuanyuan=request.getParameter("youxiutuanyuan");Stringid=request.getParameter("id");Stringsql="updatejibenxinxisetrudangshenqingshu='"+rudangshenqingshu+"'whereid="+id;connDbBean.executeUpdate(sql);out.print("<script>alert('操作成功!!');location.href='jibenxinxi_list2.jsp';</script>");3.2.6奖惩信息添加模块该模块主要是让管理员可以添加党员的奖惩信息,包括奖励和惩罚。其中学号是由系统数据库自动读取的,当用户选择了学号之后,其姓名是自动显示的,因为要做到学号与姓名匹配。日期是自动弹出日期控件的。实现本模块的主要代码如下所示:Stringxuehao=request.getParameter("xuehao");Stringxingming=request.getParameter("xingming");Stringjiangcheng=request.getParameter("jiangcheng");Stringriqi=request.getParameter("riqi");Stringshiyou=request.getParameter("shiyou");Stringbeizhu=request.getParameter("beizhu");//ResultSetRS_result=connDbBean.executeQuery("select*from[fdsfds]wherefdsfssd='"+fdsfd+"'");//if(RS_result.next())//{//out.print("<script>alert('该班级已经存在,请换其他名称的班级!');window.history.go(-1);</script>");// }//else{ Stringsql="insertintojiangchengxinxi(xuehao,xingming,jiangcheng,riqi,shiyou,beizhu)values('"+xuehao+"','"+xingming+"','"+jiangcheng+"','"+riqi+"','"+shiyou+"','"+beizhu+"')"; connDbBean.executeUpdate(sql); out.print("<script>alert('添加成功!!');location.href='jiangchengxinxi_add.jsp';</script>");3.2.7档案资料添加模块该模块主要是让管理员可以添加系统中的档案资料信息。唯一难度就是有个上传附件的功能,在此简单介绍一下其实现的方法。实现本模块的主要代码如下所示:Stringbianhao=request.getParameter("bianhao");Stringmingcheng=request.getParameter("mingcheng");Stringneirong=request.getParameter("neirong");//Stringfujian=request.getParameter("fujian");Stringfaburen=request.getParameter("faburen");//ResultSetRS_result=connDbBean.executeQuery("select*from[fdsfds]wherefdsfssd='"+fdsfd+"'");//if(RS_result.next())//{//out.print("<script>alert('该班级已经存在,请换其他名称的班级!');window.history.go(-1);</script>");// }//else{ Stringsql="insertintodanganziliao(bianhao,mingcheng,neirong,fujian,faburen)values('"+bianhao+"','"+mingcheng+"','"+neirong+"','"+request.getSession().getAttribute("nfilename")+"','"+faburen+"')"; connDbBean.executeUpdate(sql); out.print("<script>alert('添加成功!!');location.href='danganziliao_add.jsp';</script>");其中上传文件部分的代码如下所示: //初始化工作 myUpload.initialize(pageContext); //设定允许的文件后缀名 myUpload.setAllowedExtList("gif,jpg,JPG,GIF,rar"); //设定允许上传的文件类型 //gif:gif //jpg:pjpeg //text:plain //html:html //doc:msword myUpload.setAllowedFileTypeList("gif,pjpeg,msword,rar"); //设定是否允许覆盖服务器上的同名文件 myUpload.setIsCover(false); //设定允许上传文件的总大小 //myUpload.setTotalMaxFileSize(1000000); //设定单个文件大小的限制 //myUpload.setMaxFileSize(100000); String[]sourceName={"",""}; //文件的原始文件名数组 StringmyName=newString(""); //设定上传的物理路径 myUpload.setRealPath(application.getRealPath(File.separator+File.separator+"file")); try { //将所有数据导入组件的数据结构中 myUpload.upload(); } catch(Exceptione){throwe;} //得到所有上传的文件 filesmyFiles=myUpload.getFiles(); //Stringfoname=myFiles.getRequest().getParameter("foname").trim();Dated=newDate();longd1=d.getTime(); //将文件保存到服务器 try { for(inti=0;i<myFiles.getCount();i++) { myName="sist"; myName=myName+d1+i+"."+myFiles.getFile(i).getExtName(); sourceName[i]=myFiles.getFile(i).getName(); myFiles.getFile(i).setName(myName); //有两种保存方法,一种是保存在myUpload.setRealPath()的设定路径中,使用saveAs(),一种是另外保存到其他文件夹,使用.saveAs(StringrealPath) myFiles.getFile(i).saveAs(); } } catch(Exceptione){throwe;}3.2.8修改密码模块该模块是最常用的一个模块,一般普通的系统都具有本模块的功能。实现本模块的主要代码如下所示:Stringymm=request.getParameter("ymm");Stringxmm1=request.getParameter("xmm1");R

温馨提示

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

评论

0/150

提交评论