1、j2ee课程设计北京联合大学J2EE实训报告课程(项目)名称: 软件下载中心 学 院: 信息学院 专 业:计算机科学与技术班 级: 0708030505 学 号: 26 姓 名: 张凯强 成 绩: 2010年12月3号目录1. 课程设计题目:软件下载中心 32. 课程设计目的: 33.课程设计相关技术和设计要求: 34.软件系统概要: 35.系统需求分析: 4用户模块: 4管理员模块: 46软件结构设计; 5结构图 57数据库结构设计 5管理员admin登入信息表 5各软件信息表 68详细设计 6管理员登入: 6首页: 7软件查看: 9软件搜索: 12添加软件: 159程序源代码及其说明 18
2、普通用户: 18管理员用户: 2110测试结果及有关说明 22主页截图 23管理员界面截图 2311总结 23心得体会 2312.参考文献: 241. 课程设计题目:软件下载中心2. 课程设计目的: 学会J2EE程序开发的环境搭建与配置,并在实际运用中学习和掌握J2EE程序开发的全过程; 进一步熟悉掌握JSP程序设计语言的基础内容,如用户图形界面设计、数据库编程等; 熟悉开发工具的使用和熟悉软件工程开发; 通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。3.课程设计相关技术和设计要求:相关技术:基础知识:Struts编程、Hibernate编程、JSP编程、Java编程基础、数据库原
3、理、SQL编程、软件工程、MS SQL Server/Oracle数据库基本操作, B/S三层架构程序设计方法; 开发工具: Jsp/Java开发工具Eclipse、Jbuilder2006; Web Server:Tomcat 5.5 / JDK1.5 ; 前端开发工具Dreamweaver等网页设计工具; 测试工具:功能测试手工完成。 数据库:Oracle9i或SQL Server 2000;设计任务要求: 根据客户需求背景,提取软件需求,编写需求分析报告; 软件概要设计和详细设计,编写软件设计报告; 设计数据库,并描述之(使用E-R图或其他工具),编写数据字典; 能充分利用可视化手段,系
4、统应具有友好界面和良好交互性; 具有良好的软件结构框架和数据库组织结构框架; 能充分利用面向对象的设计方法(如使用UML描述)和高效率的算法实现;能提供完整的设计文档。4.软件系统概要:此设计是以实现软件下载为目的设计的:用户-可以通过网络查询、搜索相关软件的信息,下载所需软件。管理员-可利用管理员账号对系统进行修改,删除等维护操作。5.系统需求分析: 完整的软件系统下载系统至少需要面对两类用户,即管理员和普通用户,提供的服务也是多样的。在软件下载系统中,对用户提供的服务有查询软件(按下载次数、推荐指数、加入时间、软件名称),搜索软件(可按软件种类、关键字进行搜索)以及软件下载。而对管理员提供
5、的服务主要有添加软件,修改和删除等功能。管理员需要有账号及密码进行登入,用户则不需要。用户模块:用户模块功能分为如下几个小模块。查看首页:主要是查看热点推荐软件,各软件按下载次数排列。软件查看:主要是按下载次数、推荐指数、加入时间、软件名称进行查看,软件的信息有软件的类型、名称、推荐指数、下载次数、加入时间,用户点击软件即可查看软件的具体信息,并进行下载。软件搜索:用户可以按软件的种类(即全部、编程软件、病毒软件、播放软件、压缩软件、网络通讯处理软件、文字处理软件、关键字、点击率)进行搜索。管理员模块:管理员除了具有用户模块所具有的功能外(即查看、搜索软件),还应该对系统进行维护,即进行软件的
6、修改,添加等操作。添加软件:管理员可以对软件进行添加,具体应指明软件名称、推荐指数、软件大小、软件类型、运行平台、软件简介、文件位置等信息。软件修改:修改时也应按照相关信息进行修改。软件删除:软件删除后应保证搜索不到相关信息。6软件结构设计;结构图7数据库结构设计管理员admin登入信息表各软件信息表8详细设计管理员登入:当需要对系统进行维护时需要以管理员身份进行登入,当输入账号和密码后会进行验证,只有密码正确才能登入,代码如下:管理员登录管理员登录 /调用verify,进行账号验证用户名: 密码: % String warning=reque
7、st.getParameter(warning); /若账号或密码有错,则出现错误警告 if(warning!=null) out.println(+warning+,请重新登录或返回首页);%验证密码是否正确的verify代码 /验证成功则登入管理页面 首页: 首页 软件查看 软件搜索 软件维护 下载中心 排名 软件类型 软件名称 下载次数% ResultSet rs=null; String sql=select * from sinfo order by times desc
8、; /默认推荐按下载次数排序 rs=conn.executeQuery(sql); int num=1; while(rs.next()&num=10) if(num%2=1) out.println(); else out.println(); out.println(+num+); out.println(+rs.getString(type)+); out.println(+rs.getString(name)+); out.println(+rs.getString(times)+); num+; % 更多 /点击“更多”则跳转到查看页面软件查看: 实
9、现按下载次数、推荐指数、加入时间、软件名称等不同顺序进行查看, 首页 软件查看 软件搜索 软件维护 分类查看按 option value=times 下载次数 option value=star 推荐指数 option value=addtime 加入时间 option value=name 软件名称 顺序查看 类型名称推荐指数下载次数加入时间% sql1=select * from sinfo order by
10、 +type+ desc; sql2=select count(*) from sinfo; temp=conn.executeQuery(sql2); /连接数据库,找出符合类型的软件,输出 int totalrecord=0; if(temp.next() totalrecord = temp.getInt(1); / 如果是当前页码的整数倍 if(totalrecord % size =0) totalPage = totalrecord / size; / 如果最后还空余一页 else totalPage = totalrecord / size + 1; if(totalPage =
11、 0) totalPage = 1; temp.close(); try if(request.getParameter(p)=null| request.getParameter(p).equals() if(session.getAttribute(showp)=null) p = 1; else p = (Integer)session.getAttribute(showp).intValue(); else p = Integer.parseInt(request.getParameter(p); session.setAttribute(showp,new Integer(p); /
12、 捕获用户从浏览器地址拦直接输入非数字信息而引起的异常 catch(NumberFormatException e) p = 1; if(p totalPage) p = totalPage; rs=conn.executeQuery(sql1); if(rs.next() out.println(sp.printPage(rs,p,size,false);% for(int i=1;i=totalPage;i+) out.println( + i + ); % 输入页数: 页数:/ 软件搜索: 可按软件的种类即全部、编程软件、病毒软件、播放软件、压缩软件、网络通讯处理软件、文字处理软件、其他等进行搜索,也可以按关键字进行搜索,搜索代码: 首页 软件查看 软件搜索 软件维护 软件搜索请选择软件种类: /按软件种类进行搜索,选择相应的值
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1