Java Web项目实验报告.doc
《Java Web项目实验报告.doc》由会员分享,可在线阅读,更多相关《Java Web项目实验报告.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Servlet应用开发课程设计项目实验报告 项目名称:娱乐无限下载中心 指导老师: 黄 铭 班 级: WEB11307第二组 地 点: J1B401 小组成员:叶佳陇、王月、李飞、袁梅 廖小飞、江伟、李占银、李虹颖、侯燕 王晶晶、林姣、宋晓、严映婷、饶琴英 徐小川、王婷、杨梅、王晓莉、魏海林 时间:18周,2012年12月31日-2013年01月04日 目录1.1需求分析.11.2项目设计.2 1.2.1选择开发模型.2 1.2.2数据库设计.21.3项目实施.3 1.3.1创建web项目.3 1.3.2通用功能的实现.3 1.3.3普通用户功能的实现.3 1.3.4管理员功能的实现.31.
2、4项目运行.4 1.4.1 Web项目的目录结构.4 1.4.2 Web项目的发布.41.5 个人总结.51.1需求分析 a.功能需求 用户分为管理员和普通用户 对于普通用户:能够直接访问网站的内容,包括浏览排行榜、浏览所有信息、分类浏览、分页浏览也可进行下载信息,当浏览的较多时可以进行分页浏览。 对于管理员除了具有普通用的权利之外,还可以通过登陆进行信息的管理包括信息的添加、删除、修改b.结构功能分析 1. src目录的结构 1.1 service 包(模型层):建立普通用户所实现的功能以及管理员所实现的功能以及他们的共享的功能. UserService类中,包括获得下载次数排名前十位的数据
3、信息获得数据库中的所有信息获得指定分类的数据库信息获得指定名称的数据信息。 CommonService:获得下载文件信息及下载文件是更新文件的下载次数的方法。 AdminService:实现各种业务罗就包括验证登录信息获得数据库中的所有信息添加信息检索单条信息修改信息等。 1.2 servlets 包(控制层):将后台的数据库和前台的界面进行连接LoginServlet验证登录信息。 AdminServlet实现信息的管理。 UserServlet根据用户的请求路径不同调用相应的模型去处理 请求并选择合适的视图层去响应客户端。 DownLoadServlet:进行对上传文件的下载。 1.3 u
4、til 包(实现通用功能的java类):前台数据库的建立 DBHelper创建数据库的链接创建语句对象设置SQL语句的参数返回查询操作的单条记录返回查询操作的多天记录执行更新语句管部数据库的连接。 1.2项目设计1.2.2选择开发模型 本系统的开发基于MVC模式,其中模型层负责业务数据的表示和实现业务逻辑,用Java类实现;视图层用于与用户交互,由JSP页面实现,通过在JSP页面中使用EL和JSTL,避免了Java脚本的出现;控制器层完成流程控制,它接收来自视图层用户输入的数据并调用相应的模型进行处理,最后选择合适的视图去响应用户,控制器层用Servlet实现。1.2.2数据库设计本系统的数据
5、信息存储在SQL数据库服务器的数据库中,数据库中共有两张数据表,即admin和files,其中admin表用于存储管理员的登录信息,files表用于存储娱乐信息。 Admin表 Fils表 1.3项目实施 1.3.1 创建Web项目 利用myeclipse创建新的Web项目,名为ch4的目录结构如图3-1所示。其中,src目录的service包保存模型层的java类,servlets包保存控制器层的servlet,util包保存实现通用功能的java类;WebRoot目录下的admin文件夹保存与管理员操作相关的JSP页面,用户相关的JSP页面直接保存在WebRoot目录下,software文
6、件夹保存上传的文件。 图 31 项目ch14的目录结构 AdminService UserServiceCommonService ServiceAdminsevletDownLoadServiceServlets LoginServlet Usersevlet DBUtil Fileutil PageBean Util Login.jsp Add.jsp Header.jsp Index.jsp List.jsp delete.jsp Update.jsp Toplist.jsp Sortlist.jsp Showfile.jsp Searchlist.jsp result.jsp List
7、all.jspWebRoot1.3.2 通用功能的实现 系统的通用功能包括数据库访问、分页处理和文件的上传/下载,这些功能在模型层通过Java语言实现。 A.数据库访问 数据库访问操作封装在util.DBUtil类中,包括创建数据库连接、创建语句对象、设置SQL语句的参数、返回查询操作的单条记录、返回查询操作的多条记录、执行更新语句、关闭数据库连接等功能。 文件名:DBUtil.javapackage util;import java.sql.*;import java.util.*;public class DBUtil private Connection conn=null;privat
8、e PreparedStatement pstmt=null;private ResultSet rs=null;private String url=jdbc:odbc:music; private int pageSize=3;/获取连接对象private Connection getConnection()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(url,root,root);catch(ClassNotFoundException e)e.printStackTrace
9、();catch(SQLException e)e.printStackTrace();return conn;/获取语句对象private PreparedStatement getPreoareStatement(String sql)trypstmt=getConnection().prepareStatement(sql);catch(SQLException e)e.printStackTrace();return pstmt;/给pstmt的SQL语句设置参数(要求参数以数组形式给出)private void setParams(String sql,Object params)p
10、stmt=this.getPreoareStatement(sql);for(int i=0;iparams.length;i+)trypstmt.setString(i+1,(String) paramsi);catch(SQLException e)e.printStackTrace();/执行数据库查询操作,返回结果的记录数private int getTotalRows(String sql,Object params)int totalRows=0;String countSQL=select count(*)from(+sql+) as temp;trythis.setParams
11、(countSQL,params);ResultSet rs=pstmt.executeQuery();if(rs.next()totalRows=rs.getInt(1);catch(SQLException e)e.printStackTrace();finallyclose();return totalRows;/执行数据库查询操作时,将返回的结果封装到List对象中public List getList(String sql,Objectparams)List list=new ArrayList();trythis.setParams(sql,params);ResultSet rs
12、=pstmt.executeQuery();ResultSetMetaData rsmd=rs.getMetaData();while(rs.next()Map m=new HashMap();for(int i=1;igetTotalPages()curPage=getTotalPages();else if(curPage1)curPage=1;return curPage;public void setCurPage(int curPage)this.curPage=curPage;public int getTotalPages()if(totalRows%pageSize=0)tot
13、alPages=totalRows/pageSize;elsetotalPages=totalRows/pageSize+1;return totalPages=totalPages;public void setTotalPages(int totalPages)this.totalPages=totalPages;public int getTotalRows()return totalRows;public void setTotalRows(int totalRows)this.totalRows=totalRows;public int getPageSize()return pag
14、eSize;public void setPageSize(int pageSize)this.pageSize=pageSize;public List getData()return data;public void setData(List data)this.data=data;C.文件的上传和下载 文件的上传的下载功能封装在util.FileUtil类中,提供了实现文件上传和下载的通用方法。文件名:FileUtil.javapackage util;import java.io.*;import java.util.*; import javax.servlet.*;import j
15、avax.servlet.http.*;import mons.fileupload.FileItem;import mons.fileupload.FileUploadException;import mons.fileupload.FileUploadBase.SizeLimitExceededException;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;public class FileUtil private Map parameter
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web项目实验报告 Web 项目 实验 报告
限制150内