




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
吕梁高等专科学校计算机系毕业论文 目 录摘 要11 开发背景及可行性研究311 开发背景312 可行性研究3121 技术可行性4122 经济可行性4113 社会可行性42 系统设计环境及工具软件介绍521 MyEclipse简介522 Photoshop简介623 Macromedia Dreamweaver 8简介724 Tomcat简介725 MVC模式简介826 JSP技术简介1027 Access 简介113 系统分析1331 数据需求分析1332 数据表结构设计1333 功能需求分析154 系统总体设计1641 总体框架1642 系统主界面1743 网站特点185 系统设计与实现1951 数据库连接1952 用户注册205 . 3 毕业生信息实现265 . 4 论坛实现275 . 5 相册的实现285 . 6 后台管理的实现296 结束语3261 存在的问题3262 对未来的展望32致 谢33参考文献341 开发背景及可行性研究11 开发背景随着网络技术和软件技术的飞速发展,特别是Internet/Intranet的出现及其相关技术的迅速发展,信息革命带来了全球范围市场竞争的日益加剧,对传统的办公教学和生活方式产生了巨大的冲击。办公自动化就是采用Internet/Intranet技术,基于工作流的概念,使内部人员方便快捷的共享信息,高效的协同工作;改变过去复杂,低效的手工办公方式,实现迅速,全方位的信息采集,信息处理。校园网的建设,为开放式的学籍管理系统提供了技术保障。毕业生信息网站是学校日常工作中不可或缺的重要部分,它对于学校的辅导员和管理者来说都至关重要。 毕业生信息网站的对象是一个学院或整个学校中每一位学生的基本信息,这些信息是在不断的变化之中。因此,学籍管理系统应该能为使用者提供充足的信息和快捷的查询手段。同时,系领导还要为本学校,上级部门提供准确的毕业生就业统计数据。由于人员众多,数据源复杂,统计管理工作困难。以往每做一项工作,都需要花费很多的精力和时间。统计出来的数据往往又不够准确。传统的人工管理方式存有诸如效率低,保密性差,查找,更新,维护困难等各种各样的缺点。而毕业生信息网站作为计算机的一种应用,使用计算机对毕业生信息进行管理,会给应用者带来很多方便,例如检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些优点能够极大地提高毕业生信息管理的效率,同时,这也是学校的信息化,正规化管理以及与先进管理技术接轨的重要条件。因此,将毕业生信息的手工操作转换成为用计算机处理显得非常有必要。12 可行性研究可行性研究的目的是用最小的代价在尽可能短的时间里确定问题是否能解决,主要从下面三个方面考虑:121 技术可行性开发该网站的基本要求与功能是实现网页的浏览和留言板的实现及管理。网站的基本数据流动为用户的留言信息,Admin的回复信息,更新信息等。由于功能不多,所以代码量不大,可以在较短时间内完成。所以从技术方面来说是可行的。122 经济可行性由于本网站是一个较小型的网站,又可从网上搜索大量信息。所以从人力、财力、物力方面来说都是可行的。113 社会可行性运用计算机网络来宣传自己,是现在较多用到的方式,网上信息量大,传播速度快,是很理想的宣传工具。2 系统设计环境及工具软件介绍现在市场上很多管理系统的开发工具,如Asp、Dreamweaver等,但因为本系统功能较为简单,且是自学和实验之用,并且考虑到使用单位的实际情况,数据容量不会很大,因此采用ACCESS关系型数据库,而没有使用诸如SQL、Oracle之类的中大型数据库。编写一个软件不仅仅要求其能完成既定的功能,一个漂亮的UI无疑会给用户一个好的使用环境和方便的操作,在UI设计中使用了一些人性化的设计。这些设计是经过多年的体验总结的。21 Fireworks简介在众多图像处理软件中,Adobe公司推出的专门用于图形、图像处理的软件fireworks以其强大的功能、集成度高、适用面广和操作简便而著称于世。它不仅提供强大的绘图工具,可以直接绘制艺术图形,还能直接从扫描仪、数码相机等设备采集图像,并对它们自发进行修改、修复,并调整图像的色彩、亮度,改变图像的大小,而且还可以对多幅图像进行合并增加特殊效果,使现实生活中很难遇见的景像十分逼真地展现;同时可以改变图像的颜色模式,并能在图像中制作艺术文字等。fireworksp的专长在于图像处理,而不是图形创作。目前,ADOBE Photoshop6.0已成为出版界中图象处理的专业标准。 Photoshop就开始悄悄地向Web靠拢,更适合于网络。Photoshop是平面图像处理业界霸主Adobe公司推出的跨越PC和MAC两界首屈一指的大型图像处理软件。它功能强大,操作界面友好,得到了广大第三方开发厂家的支持,从而也赢得了众多的用户的青睐。 Adobe Photoshop最初的程序是由Mchigan大学的研究生Thomas创建,后经Knoll兄弟以及Adobe公司程序员的努力Adobe Photoshop产生巨大的转变,一举成为优秀的平面设计编辑软件。它的诞生可以说掀起了图象出版业的革命。 Adobe产品的升级更新速度并不快,但每一次推出新版总会有令人惊喜的重大革新。Photoshop从当年名噪一时的图形处理新秀经过不断升级,功能越来越强大,处理领域也越来越宽广,逐渐建立了图像处理的霸主地位。 Photoshop支持众多的图像格式,对图像的常见操作和变换做到了非常精细的程度,使得任何一款同类软件都无法望其颈背;它拥有异常丰富的插件(在Photoshop中叫滤镜),熟练后您自然能体会到“只有想不到,没有做不到”的境界。 而这一切,Photoshop都为我们提供了相当简捷和自由的操作环境,从而使我们的工作游刃有余。从某种程度上来讲,Photoshop本身就是一件经过精心雕琢的艺术品,更像为您度身定做的衣服,刚开始使用不久就会觉得的倍感亲切。当然,简捷并不意味着傻瓜化,自由也并非随心所欲,Photoshop仍然是一款大型处理软件,想要用好它更不会在朝夕之间,只有长时间的学习和实际操作我们才能充分贴近它。23 Macromedia Dreamweaver 8简介Macromedia Dreamweaver 8 是一个专业的可视化编辑器,主要用于构架WEB应用。它还是一种可以满足多层次要求,功能强大的可视化专业级网页设计工具。为了使专业设计者使用起来得心应手,Dreamweaver采用了Roundtrip HTML技术。这项技术可以使得网页在Dreamweaver和源代码编辑器之间进行转换时保持HTML句法及结构不变以利于作者进行修改。基于事件的交互性控制以及类似Director的时问轴控制于身的Dreamweaver,自然就成为了新一代网页设计工具的首选,通过Dreamweaver可以轻易制作出复杂的交互式目极富动感的网页,Dreamweaver最具挑战性和生命力的是它的开放式设计这项设计使得任何人都以轻易扩展Dreamweaver的功能。26 ASP技术简介ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发现和那个Email或访问文件系统等。(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取.27 Access 简介Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、 模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理 系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access是一种关系型数据库管理系统,其主要特点如下:(1) 存储方式单(2) 面向对象(3) 界面友好、易操作(4) 集成环境、处理多种数据信息(5) Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、 Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。3 系统分析系统分析(逻辑分析)是管理信息系统开发的关键环节,要求在系统调查的基础上,对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型。个人网站信息量相对较少,单一,所以很易于维护。31 数据需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。进行数据库设计,首先要做数据需求分析,数据需求分析是数据库结构设计的第一个阶段,是非常重要的一个环节。这个阶段主要是确定基本数据,数据结构及数据处理的流程,组成一份详细的数据字典,为以后的设计打下基础。32 数据表结构设计一般来说,数据库可按下列步骤进行设计:(1)确定需要的表;(2)确定所需字段;(3)确定表之间的关系。选用 Microsoft ACCESS 2003数据库的原因是:便于本机调试,易于向更高级的数据库服务器拓展,数据库原理相同,不影响技术的难易程度。本文有四个表:3-1 用户表3-2毕业生信息表3-3 论坛主题表3-4 论坛回复表33 功能需求分析根据用户要求及工作流程,结合网站的可操作性,毕业生信息网站应提供以下功能:1、用户留言;2、留言管理;3、查看留言,回复留言;4、数据下载;5、有一定的容错能力;4 系统总体设计本网站主要做了两大个板块:(1)UI设计;(2)留言板;41 总体框架用 户登录版主元员查看所有留言回复留言维护网站发表留言游客查看留言游客留言在网站主要的留言板中,发表留言不需要注册就能能进行,但审核留言是需要管理员登陆的。只有管理员登录后,才能对留言进行管理。网站功能模块结构如图4-1所示:4-1 网站功能模块后台管理管理登录网站维护留言版管理修改删除修改删除4-2后台管理4-3 首页43 网站特点本系统短小精干,易于操作,主要有以下几个特点:1、界面友好。任何一个优秀的网站不仅要有完善的功能,而且还要有美观友好的用户界面。在主页选用了自己喜欢的图案,并加以艺术加工,使用用户感觉到一种亲和力,第一感觉就能接受它。2、具有保密性。为增强应用程序的保密性,本系统采用了使用密码的方式登录,并用在进入系统后随时可以修改登录密码。因密码是保存在内存变量文件之中的,为了防止个别较高水平的人使用查看内存变量的方式窃取密码,作者采用了验证码,这个验证码是随机的,而且在这验证图片有加了许多干扰线防止木马检测到它的值,从而达到保密的效果。3、性能好。本网站每个网页加入了许多合适的JavaScript对提交的表单的数据进行了验证,例如数据的长度,是否为空验证,对留言板增加了验证码,可以有效的避免大量恶意留言。的这样经过这个页面的都是合法数据,再连接数据库进行验证,这样就有效的减少的数据库的连接,提高的服务器的性能。5 系统设计与实现51 数据库连接本课程采用了目前流行的MVC进行开发,一个动态网站是离不开数据库的,下面就是连接数据库的JavaBean,也就是MVC中M,在本文命名为DataBaseConnection.javapackage com.hua.db;import java.sql.* ;public class DataBaseConnection private String DBDRIVER=sun. jdbc. Odbc.JdbcOdbcDriver ;private String DBURL=jdbc:odbc:hua ;private String DBUSER= ;private String DBPASSWORD= ;private Connection conn=null ;public DataBaseConnection()try/加载驱动Class. forName(DBDRIVER) ;this.conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;catch (Exception e)System.out.println(连接失败!) ;public Connection getConnection()return this.conn ;public void close()trythis。conn。close() ;catch (Exception e)System.out.println(关闭数据库失败!) ;52 管理员登陆有了数据库连接,就要对用户注册实现,登陆页面如下:5-1用户注册MVC的实现是建立在DAO(Data Access Object)基础上的,DAO是以VO为柄实现对表操作,增加、修改、删除.VO是一个对象,本文建了用户的VO,即User.javapackage com.hua.vo;public class User private String username ;private String password ;private String address ;private String phone ;private String email ;public void setUsername(String username)this.username=username ;public void setPassword(String password)this.password=password ;public void setAddress(String address)this.address=address ;public void setPhone(String phone)this.phone=phone ;public void setEmail(String email)this.email=email ;public String getUsername()return this.username ;public String getPassword()return this.password ;public String getAddress()return this.address ;public String getPhone()return this.phone ;public String getEmail()return this.email ;有了VO,就应有相应的DAO类即UserDAO.javapackage com.hua.dao;import com.hua.vo.* ;public interface UserDAO /注册后,增加用户public void insert(User uv) throws Exception ;/验证是否登录public boolean isLogin(User uv) throws Exception ;有了DAO接口,就要实现这接口:UserDAOImpl.javapackage com.hua.daoimpl;import java.sql.* ;import com.hua.vo.* ;import com.hua.db.* ;import com.hua.dao.* ;public class UserDAOImpl implements UserDAO/注册,用户添加public void insert(User uv) throws ExceptionString sql=INSERT INTO user(username,password,address,phone,email) VALUES(?,?,?,?,?) ;PreparedStatement pstmt=null ;DataBaseConnection dbc=new DataBaseConnection() ;trypstmt=dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,uv.getUsername() ;pstmt.setString(2,uv.getPassword() ;pstmt.setString(3,uv.getAddress() ;pstmt.setString(4,uv.getPhone() ;pstmt.setString(5,uv.getEmail() ;pstmt.executeUpdate() ;pstmt.close() ;catch (Exception e)throw new Exception(增加失败!) ;finallydbc.close() ;/验证是否登录public boolean isLogin(User uv) throws Exception boolean flag=false ;String sql=SELECT * FROM user WHERE username=? and password=? ;PreparedStatement pstmt=null ;ResultSet rs=null ;DataBaseConnection dbc=new DataBaseConnection() ;trypstmt=dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,uv.getUsername() ;pstmt.setString(2,uv.getPassword() ;rs=pstmt.executeQuery() ;if(rs.next()flag=true ;rs.close() ;pstmt.close() ;catch (Exception e)throw new Exception(增加失败!) ;finallydbc.close() ;return flag ;在开发中往往会引入工厂类(factory),这样就不用知道DAO实现的具体子类,只须知道父类就可以了,即DAOFactory.javapackage com.hua.factory;import com.hua.dao.* ;import com.hua.daoimpl.* ;public class DAOFactory public static UserDAO getUserDAOIntance()return new UserDAOImpl() ;万事俱备,就差引入MVC的核心Servlet类了,RegisterServlet.java:package com.hua.servlet;import java.io.* ;import java.sql.*;import javax.servlet.* ;import javax.servlet.http.* ;import com.hua.vo.* ;import com.hua.db.* ;import com.hua.factory.* ;public class RegisterServlet extends HttpServletpublic void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletExceptionthis.doPost(request,response) ;public void doPet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletExceptionString path=register.jsp;/处理乱码问题response.setCharacterEncoding(GB2312) ;PrintWriter out = response.getWriter();response.setContentType(text/html;charset=GB2312); String password=new String(request.getParameter(password).trim().getBytes(ISO-8859-1); String username=new String(request.getParameter(username).trim().getBytes(ISO-8859-1); String address=new String(request.getParameter(address).trim().getBytes(ISO-8859-1); String phone=new String(request.getParameter(phone).trim().getBytes(ISO-8859-1);String email=new String(request.getParameter(email).trim().getBytes(ISO-8859-1); /再次连接数据库主要验证用户名是否重复String sql=SELECT * FROM user WHERE username=? ;PreparedStatement pstmt=null ;ResultSet rs=null ;DataBaseConnection dbc=new DataBaseConnection() ;trypstmt=dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,username) ;rs=pstmt.executeQuery() ;if(rs.next()/存在相同的用户名out.println(alert(该用户已经存在!);history.back();) ;out.close() ;else/不存在相同的用户名User uv=new User() ;uv.setUsername(username) ;uv.setPassword(password) ;uv.setAddress(address) ;uv.setPhone(phone) ;uv.setEmail(email) ;tryDAOFactory.getUserDAOIntance().insert(uv) ;path=register_do.jsp ;catch (Exception e)out.println(注册失败!) ;out.close() ;rs.close() ;pstmt.close() ;catch (Exception e)out.println(注册时,数据库出错!) ;finallydbc.close() ;request.getRequestDispatcher(path).forward(request,response) ;本文还引进了Javascript对必填字段合法性进验证,经如为空,长度过长就会弹出对话框:5-2对话框实现对话框的JavaScript 的代码是:function checkform()if(form1.username.value.length15) alert(用户名超出了范围(1-15)!); form1.username.focus(); return false;if(form1.password.value.length15) alert(密码应在(1-15)范围!); form1.password.focus(); return false;if(form1.password.value!=form1.passwordconfirm.value) alert(确认密码不相符!); form1.passwordconfirm.focus(); return false;return true;5 . 3 毕业生信息实现毕业生的信息模块的实现的也采用了MVC模式,和用户注册的实现大同小异,在这个不再赘述。5-3添加毕业生信息在添加时有一项密码,这是了出于信息的安全考虑的,在毕业生对自己的信息进行修改是必须输入识别码,该识别码就是添加是的密码,只有输入的识别码和添加时的密码相符才能修改成功,所以这密码一定要记住,这样才能对基本信息,密码进行修改,5 . 4 论坛实现论坛的实现也采用的MVC模式,和注册的实现相似,所以具体的代码就不赘述了:5-4论坛主页本论坛的特点:对访问人次和留言回复条数进行了统计。5 . 5 相册的实现本网站是专为毕业生编写的,老同学可以上传自己的一些好看的图片,和大家一起分享。本相册还设了名人排行榜,就是系里的一些有能力的毕业的相片,这样就起到了“名人效应”,如果是和这“名人”从事同一行的话,可以和“名人”联系相互交流,有时这 “名人”可能可以为你引荐工作, 点击就可以该毕业生的详加信息:5-5相册主页5 . 6 后台管理的实现5-6后台管理登录登录时要输入验证码,它是随机的。有效的避免病毒或木马检测到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司深秋拓展活动方案
- 公司放松娱乐活动方案
- 公司游玩活动策划方案
- 公司节日纪念活动方案
- 公司早会流程策划方案
- 公司直播间灯光策划方案
- 公司组织踢毽子策划方案
- 公司组织慰问活动方案
- 公司花园团建活动方案
- 2025年小学教师资格考试试卷及答案
- 湖北省部分学校2023-2024学年高二下学期期末考试地理试题
- 基于大数据的公路运输碳排放评估与控制
- 叙事护理学智慧树知到期末考试答案章节答案2024年中国人民解放军海军军医大学
- 工业机器人系统操作员国家职业技能考核标准(2023年版)
- 上海学前教育学院附属青浦第二实验幼儿园新生入园登记
- 卡前列素氨丁三醇在产后出血的的应用课件
- 固废危废培训课件
- 水库安保服务方案
- 一例ANCA相关性血管炎患者的护理查房
- 《外科微创技术》课件
- 如何建立与客户良好的关系
评论
0/150
提交评论