版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业项目管理系统的设计与实现摘要该系统解决了以往毕业生毕业设计中遇到的工作效率低、管理难、数据统计不便等问题。该系统采用软件工程设计思想,结合J2EE平台和SQL Server数据库,开发了基于Web技术的B/S结构的毕业设计管理系统。通过该系统,实现了毕业设计选题、学生选题、教师选题管理等问题。【关键词】 SQL Server; J2EE;毕业项目管理; B/S结构TOC o 1-3 h u HYPERLINK l _Toc3250 一、概述 PAGEREF _Toc3250 1 HYPERLINK l _Toc8468 1.1 背景分析 PAGEREF _Toc8468 1 HYPERLI
2、NK l _Toc15388 1.2 毕业设计系统现状 PAGEREF _Toc15388 1 HYPERLINK l _Toc2393 2 需求分析 PAGEREF _Toc2393 2 HYPERLINK l _Toc14436 2.1 功能要求 PAGEREF _Toc14436 2 HYPERLINK l _Toc22382 2.2 开发和运行环境 PAGEREF _Toc22382 2 HYPERLINK l _Toc25725 2.3 系统实现过程 PAGEREF _Toc25725 2 HYPERLINK l _Toc29371 3 整体设计 PAGEREF _Toc29371
3、3 HYPERLINK l _Toc3054 3.1 系统模块设计 PAGEREF _Toc3054 3 HYPERLINK l _Toc2044 3.2 资料分析 PAGEREF _Toc2044 3 HYPERLINK l _Toc17040 3.3 数据库模型图 PAGEREF _Toc17040 4 HYPERLINK l _Toc13703 4. 详细设计 PAGEREF _Toc13703 5 HYPERLINK l _Toc10170 4.1 数据库设计 PAGEREF _Toc10170 5 HYPERLINK l _Toc5709 4.1.1 关系模式 PAGEREF _To
4、c5709 5 HYPERLINK l _Toc18368 4.1.2 数据库结构定义表 PAGEREF _Toc18368 5 HYPERLINK l _Toc5582 4.2 数据库中的关系设计 PAGEREF _Toc5582 8 HYPERLINK l _Toc13984 4.3 操作 PAGEREF _Toc13984 流程9 HYPERLINK l _Toc23720 5 系统实现 PAGEREF _Toc23720 10 HYPERLINK l _Toc5321 5.1 建立数据库 PAGEREF _Toc5321 10 HYPERLINK l _Toc25261 5.2 编程
5、PAGEREF _Toc25261 10 HYPERLINK l _Toc30557 5.2.1 主界面 PAGEREF _Toc30557 10 HYPERLINK l _Toc23206 5.2.2 基本实现类 PAGEREF _Toc23206 10 HYPERLINK l _Toc14188 5.2.3 基本信息管理模块 PAGEREF _Toc14188 11 HYPERLINK l _Toc3371 5.2.4 登录模块 PAGEREF _Toc3371 12 HYPERLINK l _Toc2023 5.2.5 问题设置模块 PAGEREF _Toc2023 14 HYPERLI
6、NK l _Toc9016 6 系统测试和性能分析 PAGEREF _Toc9016 16 HYPERLINK l _Toc28775 6.1 系统测试计划 PAGEREF _Toc28775 16 HYPERLINK l _Toc9828 6.2 系统功能测试 PAGEREF _Toc9828 16 HYPERLINK l _Toc31486 总结 PAGEREF _Toc31486 19 HYPERLINK l _Toc27627 到 PAGEREF _Toc27627 20 HYPERLINK l _Toc5540 参考文献 PAGEREF _Toc5540 21 HYPERLINK l
7、 _Toc2280 外语资料 PAGEREF _Toc2280 22 HYPERLINK l _Toc27652 外文资料翻译 PAGEREF _Toc27652 28 HYPERLINK l _Toc8555 附录 A:源代码 PAGEREF _Toc8555 32 HYPERLINK l _Toc25777 附录 B:软件使用手册 PAGEREF _Toc25777 381 概述1.1背景分析毕业设计的管理是高校教师必须面对的任务,但理工学院各部门一直在使用Excel进行毕业设计的管理和分析。使用Excel软件对毕业设计的制作进行分析统计,该软件存在诸多不足,如:选题不灵活,选题必须集中,
8、不方便全系选题;毕业设计成绩也要集中录入等;统计毕业设计 生产情况也不能自动完成。实现高校人才培养目标的重要教学环节,是培养大学生创新能力、实践能力和创业精神的重要实践环节。是对学生 提高 职业 素质 和 实践 能力的 综合 训练.全面检查。这套毕业设计管理软件可以解决毕业设计过程管理中工作效率低、交互性差的问题,对高校学生毕业设计的管理具有重要意义。因此,为了克服上述缺点,非常有必要编写一个系统,让教师设置题目,学生选择题目,教师管理选题信息,然后根据每个分数进行综合评价,所以实现自动化、精准化、智能化管理。因此,毕业设计管理系统可以作为毕业设计的主体,利用所学知识开发毕业设计管理系统,实现
9、对毕业设计的管理。1.2 毕业设计系统现状本项目的目的是解决以往毕业设计管理过程中存在的问题,解决效率低、容易出错的问题,从而更好地管理毕业设计信息,对毕业设计进行统计分析。毕业设计数据。提高各项管理的效率,减少教师的工作量。其次,通过本课题,可以让自己进一步了解软件开发流程,同时对J2EE平台和MS SQL SERVER有进一步的了解,更加熟练地使用。2 需求分析2.1 功能要求高校毕业设计涉及教师选题、学生选题、选题管理等功能。这些功能需要教研室、办学水平、课题类型、课题来源、教师、学位、专业、专业方向、教师、学生和课题。和其他信息支持各种信息。从管理的角度来看,毕业设计管理系统可分为学科
10、信息管理、职称管理、专业信息管理、用户信息管理、学科信息管理、学科选择信息管理、其他信息管理和统计信息管理八个部分。 .项目信息管理、职称管理、专业信息管理、用户信息管理、选题信息管理、选题信息管理等信息管理,包括对这些信息的增删改查操作;统计信息包括学生人数、学生人数操作信息,如选题数、选题来源、选题类型,统计毕业论文(设计)数。核心功能主要是教师设置题目、学生选择题目、项目管理。2.2 开发和运行环境毕业项目管理系统的开发和运行环境如下:开发环境:Window 7+JDK 6.0开发工具:MyEclipse 6.5数据库管理系统:MS SQL Server 2005服务器:tomcat 6
11、.0运行环境:Window 98/ME/2000/XP/7和Linux2.3 系统实现流程首先根据系统功能分析设计数据库,包括各个数据表的详细结构和数据表关系图。在实现功能模块时,由于需要实现教师选题、学生选题和选题管理模块,因此需要实现职称、学位、专业信息、教研室、学校层次、学科类型等独立模块, 和学科源分开实现,然后分别实现独立模块,实现学生和教师模块,最后实现课题设置和项目管理模块。也就是说,对系统的各个功能模块分别进行设计和调试,最后通过菜单栏对各个模块进行集成,最后对系统的整体设计进行调试。访问数据库时,系统采用hibernate实现对数据库的操作,在基本实现类中实现对数据库的各种访
12、问操作,其他类直接或间接继承基本类。这种实现可以减少代码冗余,避免重复的数据库连接,从而提高系统的开发效率。3 整体设计3.1 系统模块设计根据系统功能分析,得到如图3.1所示的系统功能模块结构图。图 3.1 系统功能框图3.2 数据事项分析根据系统的功能、模块结构和管理流程,以及毕业设计管理系统的要求,总结出以下数据项:学位信息数据:学位代码、学位名称。教研室信息资料:教研室代码、教研室名称。专业信息数据:专业代号、专业名称。专业定向信息数据:定向代码、定向名称。办学层次信息数据:办学层次代码、办学层次名称。职位信息数据:职位代码、职位名称。主题源信息数据:主题源代码、主题源名称。学科类型信
13、息数据:学科类型代码、学科类型名称。教师信息数据:工号、教师、性别、职称、教研室、联系方式、电子地址、是否为管理员、学位信息、登录密码。学生信息数据:学号、性别、年级、专业信息、专业方向信息、级别类别、联系方式、电子版、登录系统密码、是否选科标记、毕业年份、导师分数、复习分数、答辩分数1、答辩得分2,防守得分3,防守得分4,防守得分5,防守平均分,百分制总分,五个等级的总分。学科选择信息数据:学科编号、学科教师、学科名称、学科信息、学科方向信息、学科来源信息、学科类型信息、学科完成地点、完成学科所需课时、学科内容说明、学科已完成。资格、完稿人资格、最终成功形式、初审意见、终审意见、出题时间、初
14、审标志、初审时间、终审标志、终审时间、选题的学生、选题是否有被选中,旧问题或新问题,旧问题编号。3.3数据库模型图根据系统需求,分析数据库模型图,如图3.2所示。图 3.2 数据库模型图4. 详细设计4.1 数据库设计4.1.1 关系模式根据数据事件分析和数据库模型图,关系schema如下:1)学位信息数据:身份栏、学位代码、学位名称。2)教研室信息数据:标识栏、教研室代码、教研室名称。3)专业信息数据:标识栏、专业代码、专业名称。4)专业方向信息数据:标识栏、方向代码、方向名称。5)办学层次信息数据:标识栏、办学层次代码、办学层次名称。6)职称信息数据:标识栏、职称代码、职称名称。7) 学科
15、源信息数据:标识栏、学科源代码、学科源名称。8)学科类型信息数据:标识栏、学科类型代码、学科类型名称。9)教师信息数据:标识栏、职称(外键)、所属教研室(外键)、学位信息(外键) 、工号、教师、性别、联系方式、电子地址、是否为管理员, 登录密码。10) 学生信息数据:标识栏、专业信息(外键)、专业方向信息(外键)、分级类别(外键)、学号、性别、年级、联系方式、电子、登录系统密码、是否选题分数、毕业年份、导师分数、复习分数、答辩分1、答辩分2、答辩分3、答辩分4、答辩分5、答辩平均分、百分制总分、五个等级的总分。11)学科选择信息数据:标识栏,学科教师(外键),学科信息(外键),学科方向信息(外
16、键),学科来源信息(外键),学科类型信息(外键),选择选科学生(外键) 、学科编号、学科名称、学科完成地点、完成学科所需课时、学科内容描述、学科已有条件、完成者具备条件、最终成功表、以及初审意见、终审意见、立题时间、初审标志、初审时间、终审标志、终审时间、选题是否选题、新旧题、旧题号。4.1.2 数据库表结构定义数据表名称及结构如下:度数信息数据表:表名(tb_degree),结构如表4.1所示。字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键学位无nvarchar20不为空学位代码学位名称nvarchar30不为空学位名称表 4.1 tb_degree 表结构教研室信息数据表:表名
17、(tb_department),结构如表4.2所示。字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键离开否nvarchar20不为空教研室代码离境名nvarchar30不为空教研室名称表 4.2 tb_department 表结构专业信息数据表:表名(tb_major),结构见表4.3表 4.3tb_major 表结构字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键专业没有nvarchar20不为空专业代码专业名称nvarchar30不为空职称专业方向数据表:表名(tb_interested),结构见表4.4表 4.4 tb_interested 表结构字段名称类型长度可以
18、为空吗评论ID整数4不为空标识列,主键有兴趣没有nvarchar20不为空专业方向守则感兴趣的名字nvarchar30不为空专业方向名称学校级别数据表:表名(tb_level),结构见表4.5字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键级别否nvarchar20不为空学校级别代码级别名称nvarchar30不为空学校级别名称表 4.5 tb_level 表结构标题数据表:表名(tb_title),结构见表4.6字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键标题号nvarchar20不为空标题代码标题名称nvarchar30不为空标题表 4.6 tb_title 表结构
19、主题源数据表:表名(tb_subSource),结构如表4.7所示表 4.7 tb_subSource 表结构字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键来源无nvarchar20不为空主题源代码源名称nvarchar30不为空主题来源名称主题类型数据表:表名(tb_subType),结构见表4.8字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键类型Nonvarchar20不为空主题类型代码类型名称nvarchar30不为空主题类型名称表 4.8 tb_subType 表结构教师数据表:表名(tb_teacher),结构见表4.9字段名称类型长度可以为空吗评论ID整数4
20、不为空标识列,主键老师没有nvarchar20不为空教师编号老师的名字nvarchar30不为空老师性别nvarchar20不为空性别Title_id整数4无效的职位代码(外键)部门编号整数4无效的教研室代码(外键)degree_id整数4不为空学位信息(外键)电话nvarchar30不为空连接电子邮件nvarchar20不为空电子地址行政布尔值1不为空是管理员吗密码nvarchar20不为空登录密码表 4.9 tb_teacher 表结构学生数据表:表名(tb_student),结构见表4.10字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键学生没有nvarchar20不为空学生卡
21、学生姓名nvarchar20不为空性别nvarchar20不为空性别学习班整数4无效的年级Major_id整数4不为空专业信息(外键)level_id整数4不为空层次分类(外键)如本科、研究生升迁感兴趣的_id整数4不为空专业方向信息(外键)电话nvarchar20不为空连接电子邮件nvarchar20不为空电子地址密码nvarchar20不为空登录系统密码选举标志布尔值1不为空是否选择商标二级整数4无效的毕业年份导师结果整数4无效的教师等级估计结果整数4无效的查看成绩鉴定人1整数4无效的防守得分 1估价师2整数4无效的防守得分 2估价师3整数4无效的防守得分 3估价师4整数4无效的防守得分
22、4估价师5整数4无效的答案得分 5平均整数4无效的防守平均分终于持续整数4无效的百分总分最后五nvarchar20无效的五年级总分表 4.10 tb_student 表结构主题数据表:表名(tb_subject),结构见表4.11字段名称类型长度可以为空吗评论ID整数4不为空标识列,主键主题无nvarchar20不为空科目编号教师编号整数4不为空教师ID(外键)主题名nvarchar20不为空主题名称Major_id整数4不为空所属专业代码(外键)感兴趣的_id整数4不为空拥有方向码(外键)subSource_id整数4不为空话题来源(外键)subType_id整数20不为空主题类型(外键)地
23、址nvarchar20不为空课程完成地点次整数1不为空完成所需的小时数内容nvarchar50无效的标的物的描述(健康)状况nvarchar50无效的该主题的先决条件要求nvarchar50无效的终结者的条件结果nvarchar50无效的最终结果表格检查第一nvarchar50无效的初步意见c检查最后 _nvarchar50无效的最终意见填写日期约会时间8无效的提问时间检查标志1布尔值1无效的初步试验标志检查日期1约会时间4无效的初审时间检查标志2布尔值1无效的最后的标志检查日期2约会时间8无效的终审时间学生卡整数4无效的所选主题的学号(外键)电子标志布尔值1无效的话题是否被选中旧的或新的布尔
24、值1无效的旧的或新的oldSubjectNonvarchar20无效的旧标题表 4.11 tb_subject 表结构4.2 数据库中的关系设计数据库中表之间的关系如表4.12所示表 4.12 关系主键表主键表字段外键表字段外键表tb_level(学校级别)id(身份列)level_idtb_student(学生)tb_major(主要)id(身份列)Major_idMajor_idtb_student(学生) tb_subject(主题)tb_interested(专业方向)id(身份列)感兴趣的_id 感兴趣的_idtb_student(学生) tb_subject(主题)tb_title
25、(标题)id(身份列)title_idtb_teacher (老师)tb_degree(度)id(身份列)degree_idtb_teacher (老师)tb_department(教研科)id(身份列)部门编号tb_teacher (老师)tb_student(学生)id(身份列)学生卡tb_subject(主题)tb_teacher (老师)id(身份列)教师编号tb_subject(主题)tb_subSource(主题来源)id(身份列)subSource_idtb_subject(主题)tb_subType(主题类型)id(身份列)subType_idtb_subject(主题)4.3
26、 操作流程问题创建过程是老师添加一个题目,然后管理员审核。经过初审和终审后,进入选题库。设置问题的过程如图4.1所示图 4.1 建题流程图5 系统实现5.1 创建数据库数据使用SQL Server 2005,数据名称为:graduate。5.2 编程5.2.1 主界面主界面分为上、左、右三部分。上半部分是显示系统和用户信息,左边是菜单栏,右边是主显示页面,如图5.1所示。图 5.1 主页5.2.2 基本实现类hibernate提供的hibernateTemplat可以执行hql语句,实现基类中要调用的方法。主要方法如下:public void delete(Object entity) thi
27、s.getHibernateTemplate().delete(entity);public void delete(Class clazz,Serializable id) if(get(clazz,id)!=null)this.getHibernateTemplate().delete(get(clazz,id);public int count(final String hql,Object .params)List list=getHibernateTemplate().find(hql,params);if(list.size()0)return list.get(0).intVal
28、ue();返回 0;public List findEntityListByHql(String hql, Object. params) 返回 this.getHibernateTemplate().find(hql,params);public List find(String hql,Object . params)返回 getHibernateTemplate().find(hql,params);公共无效插入(对象实体)this.getHibernateTemplate().save(entity);自动接线私人休眠模板休眠模板;public HibernateTemplate ge
29、tHibernateTemplate() return hibernateTemplate;公共无效 setHibernateTemplate(HibernateTemplate hibernateTemplate)this.hibernateTemplate = hibernateTemplate;5.2.3 基础信息管理模块基本信息包括:专业信息、专业方向、职称、学位、学科类型、学科来源、教研室、办学水平等信息。由于实现方式类似,这里只说明教研室信息的管理。添加窗口如图 5.2 所示,列表如图 5.3 所示,修改窗口如图 5.4 所示。图 5.2 添加教室窗口图 5.3 教研室列表窗口图
30、5.4 修改教研室窗口主要实现代码如下:/* 添加教师信息* 返回教师列表页面*/公共字符串添加()getDepartmentService().saveOrUpdate(getDepartment();getPage().setData(getDepartmentService().findByPage(getPage();返回“部门列表”;/* 查看分页信息教研板块的信息* 返回页面数据*/公共字符串列表()getPage().setData(getDepartmentService().findByPage(getPage();返回“部门列表”;/* 修改教研室信息* 返回教师列表页面*
31、/公共字符串更新()getDepartmentService().saveOrUpdate(getDepartment();getPage().setData(getDepartmentService().findByPage(getPage();返回“部门列表”;5.2.4 登录模块登录适用于管理员、教师和学生三个角色。登录时,用户必须选择角色登录,登录界面如图5.5所示。图 5.5 登录界面主要实现代码如下:公共字符串登录()抛出 IOExceptionServletResponse 响应 = ServletActionContext.getResponse();this.beforAns
32、y();PrintWriter out = response.getWriter();会话会话=ServletActionContext.getRequest().getSession();String srand = (String) session.getAttribute(code); /获取验证码字符串 uname = getTeacher().getTeacherNo(); /获取用户名String pwd = getTeacher().getPassword(); /获取密码字符串 s = getTeacher().getCore(); /获取用户角色if(!getVerifyco
33、de().equalsIgnoreCase(srand) out.print();out.print(alert(验证码错误!); window.location=/GraduateDesign/index.jsp);别的if(s=学生|s.equals(学生)/判断角色是否为学生,然后进行学生登录验证if(getStudentService().checkLogin(uname, pwd)setStudent(getStudentService().getByNo(uname);session.setAttribute(用户, getStudent();返回“索引2”;别的out.print
34、();out.print(alert(用户名或密码不正确);window.location=/GraduateDesign/index.jsp);否则 if(s=teacher|s.equals(teacher)/如果角色是老师,登录老师教研if(getTeacherService().checkLogin(uname, pwd)setTeacher(getTeacherService().getByNo(uname);session.setAttribute(用户, getTeacher();返回“索引1”;别的out.print();out.print(alert(用户名或密码不正确);w
35、indow.location=/GraduateDesign/index.jsp);别的/如果角色是管理员,进行管理员登录验证if(getTeacherService().checkLogin(uname, pwd, true)setTeacher(getTeacherService().getByNo(uname);session.setAttribute(用户, getTeacher();返回“索引”;别的out.print();out.print(alert(用户名或密码错误,或者检查你是否是管理员);window.location=/GraduateDesign/index.jsp);
36、返回空值;5.2.5 问题设置模块添加主题,如图 5.6 所示。图 5.6 添加主题添加主题的主要代码如下:公共字符串添加()getSubjectService().saveOrUpdate(getSubject();getPage().setData(getSubjectService().findByPage(getPage();返回“主题列表” ;初审和终审初审和终审基本相同,这里只展示终审。点击左侧菜单进行最终审核,跳转到待审核列表页面,如图5.7所示。然后点击【Final Review】按钮,跳转到评审页面,如图5.8所示。图 5.7 最终审核清单图 5.8 最终评审主要代码如下所示
37、:公共字符串检查2()主题主题 = getSubjectService().getById(getSubject().getId();subject.setCheckDate2(getSubject().getCheckDate2(); /设置初始试用日期主题.setCheckUpLast(getSubject().getCheckUpLast(); /设置初审意见subject.setCheckFlage2(getSubject().isCheckFlage2();/设置最终审核标志getSubjectService().saveOrUpdate(主题);getPage().setData(
38、getSubjectService().findByPage2(getPage();返回“主题列表2”;6 系统测试与性能分析6.1 系统测试计划根据系统测试的目的结合面向对象的方法,给出如下测试方案:先测试对面模块,因为独立模块的正确性无法保证,关联模块的正确性也无法保证。如果在开发后期发现独立模块,需要做的改动比较多。因此,在开发非独立模块之前,请确保独立模块已经被正确开发和测试。设计测试用例时,给出一个预期的测试结果,测试结果必须与预期的结果一致。测试时应考虑非法输入的处理。6.2 系统功能测试根据系统功能,采用黑盒测试法对专业信息、专业方向、职称、学位、学科类型、学科来源、教研室、办学
39、水平、学生、教师、主题设置和主题选择。可以实现以上功能。由于功能太多,这里只展示部分测试。专业信息管理测试添加专业代码为003,专业名称为网络工程。运行前的专业列表如图6.1所示,添加成功后的界面如图6.2所示。图 6.1 添加前的专业列表界面图 6.2 添加后的专业列表界面问题管理测试为出题测试添加一个题目,然后分别进行初评和终评。审核完成后,查看是否进入选题库。添加主题时,如果只输入主题名,则无法提交,如图6.3所示;添加主题成功后,可在初审列表中查看,如图6.4所示;初审完成后,会出现在终审列表中,如图6.5所示。最终复习完成后,可以在学生的题目列表中找到选中的题目,如图6.6所示。图
40、6.3 添加话题非法输入图 6.4 初审清单图 6.5 初审清单图 6.6 选定主题列表(3)选题测试学生用户登录成功后,可以查看自己的选题,如果没有选题,可以选题。如果学生没有选题,会弹出对话框提示,如图6.7所示;图 6.7 提示未选择的主题图 6.8 重复选题提示总结经过这段时间的努力,毕业设计管理系统已经完成,初步达到了预期的设计要求。系统实现了毕业设计设置、学生选题、项目管理等功能。此信息存储在数据库中,并且可以相应地修改和删除。由于时间仓促和自身水平有限,本系统还有一些不完善的地方,即系统无法实现批量处理毕业设计分数的加法。恳请各位老师提出宝贵意见和建议。我会继续努力学习知识,提升
41、自己,进一步努力完善系统,使其更符合实际使用要求,达到真实客户所需的系统。这个为期三个月的毕业设计是对大学四年所学知识的综合应用,是理论与实践相结合的产物。在此期间,不仅巩固了所学的专业知识。此外,我还学到了很多课堂和书本上学不到的实用知识,提高了自学能力,提升了专业技术水平,为以后从事本专业工作奠定了一定的基础。至大学的学习生活也随着这个毕业设计的结束而告一段落。在此,我要向所有教过我的老师和关心我的同学们表示感谢。在我成长的过程中,他们给了我很多帮助。这篇文章能顺利完成,特别感谢我的老师XXX。认真负责的工作态度、严谨的学术精神以及背后的理论和专业水平让我受益匪浅。本次毕业设计从选题到完成
42、,每一步都是在老师的指导和帮助下完成的,老师倾注了大量心血。老师对我的大力帮助,让我进步了很多,这对我以后的工作和学习来说是一笔巨大的财富,感谢他的耐心指导。在此,靳老师对老师表示崇高的敬意和衷心的感受!另外,党鑫在系统开发过程中也给了我很多帮助,解决了很多技术问题,使系统能够及时开发,在此表示感谢。本论文的顺利完成离不开老师、同学和朋友们的关心和帮助。朋友和同学之间的相互帮助和关心让我很感动。每当我在讨论系统时回想起生活中的插曲和不起眼的时刻,都会让人感到无比亲切和温暖。祝与我一起度过大学四年的朋友和同学们生活愉快,前途光明。欢迎在这里向他们表达你的感激之情!参考1方.数据库原理与应用M科学
43、技术大学。 2006 年。2 徐晓青,陆奎存等译。 MySQL 完整手册M . : 电子工业,2004。3 林尚杰,林康思 JSP2.0技术手册M . :电子工业,2004.5。4 海帆主编。软件工程概论 M : 清华大学,2003.5 夏欣,肖刚,唐勇简单解释一下Hibernate M 。 : 电子工业,2005。6 雷成力,周跃红译。 Spring in Action 中文版 M . : 人民邮电,2005。7 明泽等。 JavaScript 权威指南M . : 机械工业,2001。8 蔡敏,徐慧慧,黄炳强主编。 UML基础与Rose建模教程M : 人民邮电,2008.9 龙翔等。面向对象
44、程序设计M :人民邮电, 20029克雷格墙壁,瑞恩Breidenbach。春天在行动 M 。美国:曼宁出版公司,2008 年。10詹姆斯W库珀。设计模式M 。美国:IBM Thomas J. Watson 研究中心,1998 年。外语资料JSP与WEB技术1 JSP简介JSP(JavaServer Pages)是一种基于 Java 的脚本技术。是由Sun Microsystems Inc. 与多家公司共同倡导建立的动态网页技术标准。 JSP技术有点类似于ASP技术,它是在传统的HTML页面文件(*.htm、*.html)中插入Java程序段(Scriptlet)和JSP标签(tag),形成J
45、SP文件(*jsp)。用JSP 开发Web 是一种跨平台的应用程序,可以在Linux 下运行,也可以在其他操作系统下运行。在JSP 中的许多优点,其中之一就是它将HTML 编码的Web 页面从业务逻辑中有效地分离出来。使用可重用组件(如 Servlet、JavaBean 和基于 Java 的 Web 应用程序)进行 JSP 访问。 JSP 还支持直接在网页中嵌入Java 代码。 JSP可以用两种方式访问文件:JSP文件由浏览器致请求,请求致到Servlet。 JSP 技术使用Java 编程语言、XML 类型的标签和scriptlet,对动态页面的逻辑进行封装处理。页面标签和scriptlet
46、也可以存在于服务器访问资源的应用程序逻辑中。 JSP 逻辑与网页设计与显示隔离,支持基于组件的可重用设计,使基于Web 的应用程序开发更加快捷方便。Web 服务器在遇到访问JSP 主页的请求时,首先执行分段,然后将执行结果代码连同JSP 文件中的HTML 一起返回给客户。插入Java段可以操作数据库,再定向主页等,实现创建动态主页所需的功能。 JSP和Java Servlet一样,都是在服务器端执行,通常返回给这个客户端的是一个HTML文本,所以客户端只要有浏览器就可以浏览。JSP 页面由 HTML 代码和插入的 Java 代码组成。页面中的服务器被客户端请求,稍后将对这些Java代码进行处理
47、,然后生成HTML页面返回给客户端浏览器。 Java Servlet 是JSP 技术的基础,而且大型Web 应用程序的开发需要Java Servlet 和JSP 配合才能完成。 JSP具有Java技术简单易用、完全面向对象、具有平台独立性、安全可靠,主要面向Internet的所有特性。2 JSP计算技术为了方便快速地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速搭建跨平台动态网站的首选方案。2.1 进行内容制作与显示分离使用JSP技术,网页开发人员可以使用HTML或XML标记设计和格式化的最终页面,并使用JSP标记或tootsy在页面的原始动态内容上产生。生产内容的逻辑封装在标
48、记和JavaBeans模块中,并绑定在脚本中,所有脚本都在服务器端运行。由于核心逻辑封装在标记和JavaBeans中,所以Web管理人员和页面设计者,可以编辑和使用JSP页面,而不影响内容的制作。在服务器端,JSP 引擎解释JSP 标记和脚本,产生所请求的内容,并(或XML)页面的格式以HTML 将结果传送给浏览器。这既有助于作者保护自己的代码,又可以保证任何基于 HTML 的 Web 浏览器的完全可用性。2.2 可重任模块绝大多数JSP页面依赖可重任,跨平台模块(JavaBeans或Enterprise JavaBeans模块)执行应用程序请求的复杂处理。开发人员可以共享和交换执行普通操作的
49、模块,或使这些模块用于更多的用户和客户协会。基于模块的方法加速了整体开发过程,并使各种组织在其现有技能和优化结果开发努力中取得平衡。2.3 使用标记网页开发人员不会是熟悉的脚本语言程序员。 JSP技术封装了很多功能,这些功能使用方便,标记需要在相关的XML中用JSP进行动态内容生成。标准的 JSP 标记可以访问和实例化 JavaBeans 模块,创建或检索模块属性,下载 Applet,以及用其他方法执行代码的困难和耗时的功能。2.4 适配平台几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下畅通无阻。从一个平台移植到另一个平台,JSP和JavaBeans甚至不需要翻译,
50、因为Java字节码是标准的,与平台无关。2.5 数据库连接Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库连接,执行查询、提取数据等操作。 Sun 公司还开发了 JDBC-ODBC 桥接器,使用该技术的 Java 程序可以访问具有 ODBC 驱动程序的数据库,目前大多数数据库系统都有 ODBC 驱动程序,因此 Java 程序可以访问如 Oracle、Sybase、MS SQL Server 和 MS Access 等数据库。另外,通过开发标记库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能建立自己的标记库。这使得网页开发人员能够使用熟悉的工具和
51、类似标记一样执行特定功能的组件来进行工作。 JSP技术很容易适应多种应用架构,使用现有的工具和技巧,并且可以扩展到支持企业分布式应用。3 Eclipse函数概要越来越多的Java开发人员已经开始欣赏Eclipse JDT提供的生产力和质量收益。为Java编辑器提供语法高亮显示格式化、折叠、内容辅助、代码模板等多项功能。它不断增长的可用重组和代码生成功能集允许您在更高级别的操作代码,并自动执行通常的代码强度任务和容易出错的任务。另外,在开发代码并使用JDT编译并执行JUnit测试内置支持代码后进行单元测试,运行时遇到任何问题都可以使用Eclipse一流的Java调试器调试。除了 JDT,Ecli
52、pse SDK(最受欢迎的 E 下载)还包含插件开发环境 (PDE)。 PDE使用特定功能扩展JDT构建了Eclipse插件基于Eclipse应用程序的基本构建程序集。事实上,使用 Eclipse 本身提供的工具能够超越 Java 开发,可以扩展现有的 Eclipse 应用程序,甚至创建全新的应用程序。Eclipse由脚本级构成,包含在许多功能模块或Eclipse术语中的所谓“插件”。插件是提供Eclipse 应用程序中所有功能的模块。他们通过其 API 合作,共同支付最终结果。在 Eclipse 中,即使是最基础的功能,比如搜索和启动安装的插件,都封装在插件中。为了扩展现有的Eclipse
53、功能或在上面进行构建,插件为将被其他插件暴露的扩展点做出具体的扩展贡献。通常,插件集中特定区域的职责,并通过或多种扩展方式给予其他职责指定其他插件。例如,一个插件可以让你并行比较两个文档的内容,但它不会关心如何阅读这些文档,甚至如何解释这些文档结构;这是其他插件的工作。当与两个文件比较时,这个插件首先检查是否有另一个插件可以解释这些文件结构。如果找到一个,它向插件查询找到的相关文件组织信息,并在比较过程中使用该信息。可以看出模块化结构为Eclipse提供了巨大的灵活性,并提供了一个可以支持原始设计未曾预料到的大量应用程序平台。4 结构体功能概要Struts 是一个MVC 框架(Framewor
54、k),用于快速开发Java Web 应用程序。 Struts实现的重点是C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也是V(View)提供了一系列定制标签(Custom Tag)。 Spring是一个轻量级容器(light-weight container),它的核心是Bean工厂(Bean Factory),里面有我们需要的M(Model)构造。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming,面向平面编程)实现,用它提供了非管理环境下的业务声明、安全等服务;更方便的是Be
55、an工厂扩展ApplicationContext我们实现J2EE应用; DAO/ORM实现方便我们进行数据库的开发; Web MVC 和 Spring Web 提供了 Java Web 应用框架或与其他流行的 Web 框架进行集成。即可以两者兼用,实现两者各自的特点进行补充。Structs是servlet和JSP标志组相互协作的那种,它们构成了可重任的MVC 2设计。这个定义表示Struts是一个框架,而不是一个库,而且Struts在这个框架应用程序类中还包含了丰富的标记库和独立性。客户端浏览器(customer browser),请求从客户浏览器的 each 中创建一个事件。 Web 容器将
56、使用响应来做出响应。控制器(controller),控制器接收来自浏览器的请求,并决定将这个请求致到哪里。说起Struts,控制器就是一种通过servlet实现的命令设计模式。 struts-config.xml 文档处置控制器。服务逻辑,服务逻辑更新模型的状态,并帮助控制应用程序的流程。说起Struts,这是通过把实际服务逻辑“精简”的包装Action类来完成的。模型(model)条件,模型表达应用程序条件。服务对象更新申请程序条件。 ActionForm bean 在会话级别或请求级别表达模型条件,但不在持久级别。 JSP 文档使用 JSP 来标记从 ActionForm 读取的 bean
57、 信息。视图(view),视图是一个JSP文件。并且没有流程逻辑,没有服务逻辑,也没有模型信息只有标记。标记是导致 Struts 与其他框架不同(例如 Velocity)的因素之一。就像 Struts 控制器(事件通常是 post)映射事件类型的 servlet。你所期望的气动控制器使用配置文件使你不需要对这些值进行硬编码。时代变了,方法还是一样。Action类,ActionForm维护Web应用程序的会话状态。 ActionForm 是一个抽象类,必须为每个输入表单模型创建这种子类。当我说输入表单模型时,是指ActionForm表达式是由HTML表单创建或更新一般意义上的数据。Action类
58、是服务逻辑封装。 Action 的一种使用是将 ServletRequest 转换为服务逻辑。必须使用Action,请找到它的子类并覆盖process() 方法。ActionServlet(Command) 将使用perform() 方法将参数化类传递给ActionForm。仍然没有太多讨厌的 request.getParameter() 来调用。当事件进行到此步骤时,输入表单数据(或 HTML 表单数据)已从请求类中撤出并转移到 ActionForm 类型。考虑到另一种方式的Action是Adapter设计模式。 Action 使用将是“一种连接将转换客户端所需的另一个连接。 Adapter
59、启用类的联动,如果没有Adapter,那么这些类将无法因为不兼容的连接而联动。”。在本例中的客户端是 ActionServlet,它对我们的具体服务类连接一无所知。因此,Struts 提供了一个它可以理解的服务连接,即Action。通过扩展Action,我们使我们的服务连接和Struts 服务连接保持兼容。5 CSS 概要CSS 编辑方法与 HTML 相同,也可以是任何文本编辑器或主页编辑软件,还有专门用于编辑 CSS 的软件。如果你写的 CSS 语句是作为外部层叠样式表,而在 HTML 文件中调用的,那么它的扩展名保存为 .css 即可。最初技术人员发现HTML,主要强调定义内容,比如表示一
60、段,表示标题,而没有过多地设计HTML的排版和界面效果。随着互联网的飞速发展,HTML被广泛应用,上网者们当然希望主页变得有吸引力,因此HTML排版和界面效果的局限性日益暴露。为了解决这个问题,人们也走了很多弯路,采用了一些不好的方法,比如给HTML增加很多属性结果变得代码很肥,把图片转成文字,过多的用Table来排版, 用空白图片等表示空白。出现直到 CSS。CSS可能是主页设计的一个突破口,它解决了主页界面排版难题。可以这么说,HTML Tag主要是定义主页内容(Content),而CSS决定了这些主页内容如何表现(Layout)。 CSS英文是Cascading Style Sheets
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论