1、JavaEE建设网站论文信息工程部 08 级学年论文文献下载网站系统 -文献下载模块专业名称: 软件工程 班 级: 软件2班 学 号: 姓 名: 指导教师: 2011年 9 月 15 日第1章 文献下载网站的开发 41.1编程模式 41.2开发流程 4第2章 网站实现 62.1可行性研究 62.2需求分析 62.2.1流程需求分析 62.2.2 网站功能需求分析 72.2.3总体结构和模块外部设计 72.2.4数据库代码实现 82.2.5网站界面 92.3详细设计代码(下载模块) 102.3.1模块流程图 102.3.2开发流程图 102.2.3编码实现 11第3章 总结 133.1 JAVA
2、EE方向应该掌握的知识结构总结 133.2结束语 13参考文献 13建设文献下载网站内容摘要 通过对Java EE的深入学习,借助文献下载服务网站的开发来充分展示Java EE 编程技术。对每一环节的任务流程进行详细的分析和设计,网站的开发采用了MVC设计模式,采用了JSP/Servlet技术,使用NetBeans IDE进行开发。通过部署文件web.xml的配置,来实现业务逻辑的处理。下面就介绍下网站部分模块的建设关键词 开发流程,网站实现,心得体会,知识结构第1章 文献下载网站的开发 1.1 编程模式 文献下载系统的编程模式指应用程序的开发和构建方式,目前基本上可以分成两类。1传统的Web
3、开发模式。这种方式以Web服务器位核心进行开发,编程工作几种在Web上的各种静态、动态网页的制作方面。2 基于组件的开发模式。这一方式主要主要利用了软件可重用性思想 ,其特征是基于面向对象的程序设计方法,以应用服务器为核心进行开发,开发工作的中心集中在各类组件程序组装及少量编码方面。文献下载网站是利用J2EE位基础进行开发的。1.2 开发流程在一个项目开发的过程中,要经历问题定义、可行性研究、需求分析、系统设计、编码实现、软件测试、部署运行和维护。其中系统设计包括:概要设计和详细设计。1.2.1 问题定义阶段 在问题定义阶段,主要阐明定义一个怎样的问题,重点和要解决的问题是什么。要解决的问题是
4、什么。1.2.2 可行性研究 在可行性研究阶段,主要研究软件或项目能否在当前条件下能否实现。主要是软件硬件、技术人员的要求。1.2.3 需求分析 在需求分析阶段,主要是对针对某个项目应该做什么,和不做什么。此阶段是一个重要的阶段。因此,要认真完成此环节。做到:无歧义性、完整性、可验收性、一致性、可修改性、可追溯性、运行和维护阶段的可重用性。不需要用到什么技术手段。1.2.4 概要设计 概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。达到:一致性、合理性、可追溯性和可行性。
5、1.2.5 详细设计 在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。1.2.6 编码实现 在软件编码阶段,开发者根据软件系统详细设计报告中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。1.2.7 软件测试 为了尽早发现软件产
6、品中的错误,从而达到提高软件质量、降低软件维护的费用,开发者应在编码过程中对各个模块的程序代码进行单元测试,系统集成时进行集成测试,系统集成完成后对整个软件进行系统测试。1.2.8 部署运行和维护此阶段就是对软件运行环境的搭配,使得软件能运行起来。第2章 网站实现2.1 可行性研究2.1.1 环境搭配 操作系统(Windows XP)、浏览器(IE 8)、IDE (NetBeans 8.9)、服务器 (Glassfish)、 数据库(MySQL)2.1.2 技术JSP/Servlet 、Javascript2.1.3 设计模式 MVC设计模式2.2 需求分析根据分析可划分会员,文献,管理员三个
7、实体。2.2.1 流程需求分析会员使用流程分析(如图2.1所示) (图2.1)管理员工作业务流程(如图 2.2所示)(图2.2)2.2.2 网站功能需求分析 根据具体业务的分析,可以将网站划分为前台和后台功能需求。1)前台会员功能分析会员注册会员登录会员注销修改密码文献查询文献下载2)前台管理员功能分析管理员登录管理员注销3)后台管理员功能分析删除会员文献上传更新文献删除文献管理员注销2.2.3总体结构和模块外部设计基于需求分析,对各功能进行集中、分块、结构化,得到如下图所示的系统总体结构示意图。(如图2.2.3) (图2.2.3)2.2.4数据库代码实现1) 创建用户信息表create ta
8、ble user( Id int auto_increment not null primary key, UserName varchar(20) not null, Password varchar(20) not null, Password1 varchar(20) not null, Email varchar(20)not null, Sex varchar(4)not null, Edu varchar(20) not null, Province varchar(20)not null, Job varchar(20)not null);2)创建管理员信息表create tab
9、le adminuser (A_ID int not null primary key, A_username varchar(30) not null, Password int not null);3)创建论文信息表create table file( D_ID int auto_increment not null primary key, DocumentName varchar(100) not null, author varchar(100) not null, DocumentType varchar(100) not null, classification varchar(
10、100)not null, DocumentSize INT not null );2.2.5 网站界面1网站首页(如图2.3所示)(图2.3)2文献下载界面(如图2.6所示)(图2.6)2.3 详细设计的部分代码(下载模块)2.3.1模块流程图(如图2.8所示)(图2.8)2.3.2下载模块层次图(如图2.9所示)本网站对注册的会员提供文档的下载服务,为了方便会员,可使用户将查找过后的信息依据需求下载,并转发至会员所提供的邮箱。文档的下载对应权限,用户可以通过查询功能查找自己所需求的文档,权限满足则提供文档的下载,权限不满足则提示无法正常下载。 (图2.9)2.3.3编码实现 上传下载有一个
11、通用的方法,initialize,它的作用是执行上传下载的初始化工作,必须第一个执行,具体操作为:mySmartUpload.initialize(config, request, response); 在进行上传时,先创建一个SmartUpload();方法的对象mySmartUpload,然后执行初始化。mySmartUpload.setContentDisposition(null); 设定contentDisposition为null以禁止浏览器自动打开文件,保证单击链接后是下载文件,若不设定,则无法下载,抛出异常。部分代码如下:SmartUpload mySmartUpload=ne
12、w SmartUpload(); try mySmartUpload.initialize(config, request, response); String fileName= new String(request.getParameter(fileName).toString().getBytes(ISO8859_1);mySmartUpload.setContentDisposition(null); mySmartUpload.downloadFile(fileName); 下载部分的数据库代码public class DB public static Connection crea
13、teConn() Connection conn = null; try Class.forName(org.gjt.mm.mysql.Driver); conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/test, root, 123); catch (SQLException ex) Logger.getLogger(DB.class.getName().log(Level.SEVERE, null, ex); catch (ClassNotFoundException ex) Logger.getLogger(DB.
14、class.getName().log(Level.SEVERE, null, ex); return conn; public static PreparedStatement prepare(Connection conn, String sql) PreparedStatement ps = null; try ps = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); catch (SQLException ex) Logger.getLogger(DB.
15、class.getName().log(Level.SEVERE, null, ex); return ps; public static void close(Connection conn) try conn.close(); catch (SQLException ex) Logger.getLogger(DB.class.getName().log(Level.SEVERE, null, ex); public static void close(Statement stmt) try stmt.close(); catch (SQLException ex) Logger.getLo
16、gger(DB.class.getName().log(Level.SEVERE, null, ex); public static void close(ResultSet rs) try rs.close(); catch (SQLException ex) Logger.getLogger(DB.class.getName().log(Level.SEVERE, null, ex); Servlet代码protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws
17、 ServletException, IOException if (request.getSession().getAttribute(memberName) != null & !request.getSession().getAttribute(memberName).equals(灏氭湭鐧诲綍) int id = Integer.parseInt(ContentUtil.changeOper(request.getParameter(id); this.getService().DownLoadDocument(id, request, response); else request.
18、getRequestDispatcher(/login_input.jsp).forward(request, response); 第3章 结束语 JavaEE是一种体系结构,是在简化和规范分布式多层企业应用系统的开发和部署。其思想是组件-容器 。JavaEE体系技术框架可以分成3部分:组件技术、服务技术和通信技术。3.2 结束语 JAVA EE是最近很活跃的编程技术,熟练掌握及灵活应用会使我们受益匪浅,若想更好的使用JAVA EE编程技术,就应把JAVA EE方向的知识结构理顺,三大框架技术精通,在此感谢老师对我们学习中的指导与支持。 参考文献 1 郝玉龙、姜,Java EE编程技术,清华大学出版社、北京交通大学出版社,2008-061 樊月华,Web技术应用基础,清华大学出版社,2008-11
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1