基于jsp的系统设计,有代码有截图可做大作业
目 录
摘要…………………………………………………………………………………………………………..I 前言 .................................................................................................................................................................. II 1 系统需求分析及总体设计........................................................................................................................... 1 1.1 需求分析 ................................................................................................................................................ 1 1.2 系统功能模块设计 ................................................................................................................................ 1 1.3 数据库需求分析 .................................................................................................................................... 1 2 数据库结构设计 .......................................................................................................................................... 2 2.1 数据库实现 ............................................................................................................................................ 2
2.1.1用户信息 .......................................................................................................................................... 2 2.1 商品 ..................................................................................................................................................... 2 2.1
订单 ..................................................................................................................................................... 2
2.1 订单细节 ............................................................................................................................................. 3
2.2 用JSP连接数据库 ................................................................................................................................ 3 3 系统详细设计 .............................................................................................................................................. 4 3.1 功能部分 ................................................................................................................................................ 4 3.1.1 用户管理模块 ................................................................................................................................. 5 3.1.2 购物车模块 ..................................................................................................................................... 6 3.1.3 生成订单模块 ................................................................................................................................. 9 3.1.4 填写用户信息模块 ......................................................................................................................... 9 4 结束语 .........................................................................................................................................................11 参考文献......................................................................................................................................................... 12
基于jsp的系统设计,有代码有截图可做大作业
网上电影购票系统设计
摘 要:伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。
本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows7 下,以oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,链接信息管理等功能。
建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。
关键字:JSP、Oracle、Tomcat、网上电影购票系统
基于jsp的系统设计,有代码有截图可做大作业
前言
21世纪是网络飞速发展的时代,上网、创建网站已经成为热门话题。Internet技术得到持续、猛烈的发展,已经成为计算机产业的一个技术热点,越来越多的企业开始关注网络,许多人正在或正准备学习网络知识,进行网络开发或创建自己的网站。
JSP的全称是Java Server Pages,是一种以Java为主的跨平台Web开发语言,它具有安全性,健全性,运行效率高等许多优点。
本次课程设计——基于JSP(MVC)的网上电影购票网站的设计,是在Windows 7下,以Oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的。
在本论文中全面详细地介绍了网上影院系统的设计方案,第1章为系统需求分析及总体设计,包括需求分析,系统功能模块设计,对具体功能及用例说明,数据库需求分析;第2章为数据库设计,包括数据库结构设计,用JSP连接数据库;第3章系统详细设计,主要包括用户注册,购物车管理,订单管理,用户信息管理等功能;
基于jsp的系统设计,有代码有截图可做大作业
1系统需求分析及总体设计
1.1 需求分析
此基于JSP的购物网站分前台功能和后台功能:
1) 前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言
板管理
2) 后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,
连接信息管理
1.2 系统功能模块设计
功能结构图如下:
从图中可以看出,网上电影购票系统分为购物大厅、我的购物车、订单查询、会员登录、填写用户信息、生成订单信息六大模块。 1.3 数据库需求分析
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。我采用了Oracle数据库管理系统,建立的数据库名为jsp.sql。
整个系统功能需要以下数据项:
图1 功能模块设计图
基于jsp的系统设计,有代码有截图可做大作业
用户:用户id、用户名称、用户真实姓名、登录密码、Email、地址、联系电话、等级。 商品:商品id、名称、介绍、价格、数量、电影公司、图片地址、类型。 订单:订单号、用户名、订购日期、付款方式、是否付款、总价。 订单细节:订单号、商品id、数量。
2 数据库结构设计
2.1 数据库实现
2.1.1 myusers(用户信息表)
主要用于保存商品的基本信息,该表的结构如表2所示
表1 myusers(用户信息表
)
2.1.2 goods(商品表)
主要用于记录留言信息,该表的结构如表3所示。
表2 goods(商品表
)
2.1.3 orders(订单表)
主要用于保存管理员信息,该表的结构如表4所示。
表3 orders (订单表)
基于jsp的系统设计,有代码有截图可做大作业
3.1.4 orderDetail(订单细节表)
主要用于保存会员等级信息,该表的结构如表4所示。
表4 orderDetail(订单细节表
)
2.2 用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中对数据库连接的部分写成了一个JavaBean。文件名为ConnDB.java,关键代码如下:
import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException;
public class ConnDB {
Connection conn = null; public Connection getConn() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1522:orcl","scott","tiger");
} catch (SQLException e) { }
e.printStackTrace();
}catch (ClassNotFoundException e) { e.printStackTrace();
基于jsp的系统设计,有代码有截图可做大作业
return conn; }
3 系统详细设计
3.1功能部分
功能部分由购物大厅、我的购物车、订单查询、会员登录、填写用户信息等几个部分。 (1)模块功能介绍
购物大厅:此部分用于展示商品信息。用户可以通过此页面进行订购电影票。 我的购物车:此部分显示购物的信息。 订单查询:登陆用户可以通过订单号查询订单。 会员登录:会员可以登录,用户注册后可登陆。 填写用户信息:购买商品后填写地址、电话等信息。 生成订单:用户生成订单信息。
(2)网站前台首页的运行结果如图11所示。
基于jsp的系统设计,有代码有截图可做大作业
图2 购票网站首页
3.1.1 用户管理模块
用户管理模块主要包括用户注册、登录2个部分. (1)登录和用户注册
当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图3所示
.
基于jsp的系统设计,有代码有截图可做大作业
图3 会员登录和用户注册页面
关键代码如下:
UserBeanBO ubb = new UserBeanBO();
if(ubb.checkUser(u, p)){
//验证成功,将用户的信息保存到session UserBean ub = ubb.getUserBean(u);
request.getSession().setAttribute("userInfo",ub );
//取出购物车信息放到arrayList里面去而不是放到session中,因为session只用来
存放一些不得已的数据
request.setAttribute("myCarInfo", al);
request.getRequestDispatcher("shopping3.jsp").forward(request, response);
ArrayList al =smc.showCar();
ShowMyCar smc =(ShowMyCar)request.getSession().getAttribute("Car");
}else { }
request.getRequestDispatcher("shopping2.jsp").forward(request, response);
为了便于方便用户的登录,将用户登录信息放到session中进行保存。
3.1.2 购物车模块
在用户看中自己的商品后可以选择将商品放到购物车中进行暂时的保存。 (1)我的购物车
我的购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中,运行结果如下图:
基于jsp的系统设计,有代码有截图可做大作业
图4 查看商品清单页面运行结果
用户在单击物品清单页面下方的“购买”链接,便可将商品放入购物车,关键代码如下: <% %> <html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>showMyCar</title>
<link href="css/style.css" type="text/css" rel="stylesheet" > <script type="text/javascript">
ArrayList<GoodsBean> al = new ArrayList<GoodsBean>();
try {
this.allPrice=0.0f;
ArrayList al = (ArrayList)request.getAttribute("showCarInfo"); ShowMyCar smc =(ShowMyCar)session.getAttribute("Car");
/* StringBuilder suBuilder=new StringBuilder(sql);*/
基于jsp的系统设计,有代码有截图可做大作业
Iterator it = hm.keySet().iterator(); //使用迭代器从hm 中取出货物的id if(it.hasNext()){
sql+=sub;//这才是一个完整的sql语句
String sql = "select * from goods where goodsId in ";
String sub = "(";
while (it.hasNext()) {//判断是否有值 }
String goodsId = (String)it.next();//取值
if(it.hasNext()){//进行逗号的判断,有值就加逗号
sub+=goodsId+",";
}else { }
sub+=goodsId+")";
conn = new ConnDB().getConn(); ps = conn.prepareStatement(sql) ;
rs = ps.executeQuery(); while(rs.next()){
GoodsBean gb = new GoodsBean(); int goodsId=rs.getInt(1);
gb.setGoodsId(goodsId ); gb.setGoodsName(rs.getString(2));
gb.setGoodsIntro(rs.getString(3)); float unit = rs.getFloat(4); gb.setGoodsPrice(unit);
基于jsp的系统设计,有代码有截图可做大作业
gb.setGoodsNum(rs.getInt(5)); gb.setPublisher(rs.getString(6)); gb.setPhoto(rs.getString(7)); gb.setType(rs.getString(8)); //计算总价
this.allPrice=this.allPrice+unit*Integer.parseInt(this.getNumById(goodsId+"")); al.add(gb); (2)清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在进行选购商品,这样防止重复购物。清空购物车是将购物信息全部清除,关键代码如下: HashMap<String,String> hm = new HashMap<String,String>(); public void clear() { hm.clear();
3.1.3生成订单模块
生成订单是网上购物商城的最终目的,前面的所有的功能的实现都是为最后生成一个用户满意的订单做基础,在此要生成一个可以供用户随时查询订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变后,就可以到收银台结帐并生成订单。结帐的流程是:从购物车中读取商品名称,商品数量,商品价格信息,生成唯一的一个订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库中,结帐填写订单的页面如下图。
图5 购物车在网页中运行结果
在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session 对象把登陆后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户表中取出即可。 3.1.4填写用户信息模块
图7 填写用户信息页面
关键代码如下:
}
<td colspan="9" align="center">订单详细信息</td>
</tr>
基于jsp的系统设计,有代码有截图可做大作业
<tr>
<td width="10%">订单号</td> <td width="8%">收货人</td> <td width="13%">收货地址</td> <td width="15%">电话</td> <td width="11%">总价</td> <td width="14%">用户名</td> <td width="18%">电子邮件</td> <td width="11%"> </td> </tr> <tr>
<td><%=oib.getOrderid() %></td> <td><%=oib.getTruename() %></td> <td><%=oib.getAddress() %></td> <td><%=oib.getPhone() %></td> <td><%=oib.getTotalPrice() %></td> <td><%=oib.getUsername()%></td> <td><%=oib.getEmail() %></td>
<td>查看详情</td> </tr> <tr>
<td colspan="8" align="center">您的订单已经完成,我们稍后会向您的邮箱发送确认信息,并确认订单</td>
</tr>
OrderBeanBO obb = new OrderBeanBO();
ShowMyCar smc = (ShowMyCar) request.getSession().getAttribute("Car"); int userId = ((UserBean) request.getSession().getAttribute("userInfo")).getUserid();
基于jsp的系统设计,有代码有截图可做大作业
OrderInfoBean oib = obb.addOrder(smc, userId+""); }
if(oib!=null){
request.setAttribute("detailBean", oib);
request.getRequestDispatcher("shopping4.jsp").forward(request, response);
}else { }
request.getRequestDispatcher("shopping3.jsp").forward(request, response);
4 结束语
通过几天的艰苦奋斗终于完成了本次的jsp课程设计,在此期间遇到了很多的bug和代码设计优化,运行环境和插件的版本及兼容性等问题,不过经过自己的耐心调试和请教其他的同学和老师,最终呈现出完整的系统测试界面,中间无错误出现。期间自己肯定是学到了很多的知识和经验。《网上电影购物系统》是一个综合性的系统,里面涉及到很多的知识,MVC模式是很多企业经常采用的,其结构逻辑清晰,调试和维护非常的简便,易于管理。总之,进行jsp的MVC应用真正能使自己的能力得到很多的提高。最后衷心地感谢那些帮助过我的同学们,老师们!
参考文献
[1] 陈火旺,徐建波, 周新莲. Web设计原理与编程技术[M]. 中南大学出版社. 2005. [2] 武延军,黄飞跃. 精通JSP编程技术[M]. 人民邮电出版社. 2001. [3] 徐国智, SQL Server 2000数据库系统开发实例精粹, 电子工业出版社,2006 [4] 飞思科技产品研发中心. JSP应用开发详解[M]. 电子工业出版. 2002 [5] 柏亚军. JSP编程基础及应用实例集锦[M]. 人民邮电出版社. 2001.
[6] (美)Michael J.Young, 前导工作室译. XML学习指南[M]. 机械工业出版社. 2001. [7] 李江,张威. 实例解析XML/XSL/Java网络编程[M] 北京希望电子出版社 2002 [8] 李振华,季小武. Drwamweaver基础教程. 清华大学出版社. 2005.
[9] 聂小燕. DrwamweaverMX2004动态网站建设全攻略.兵器工业出版社,北京科海电子出版社. 2005. [10] 塞奎春. JSP信息系统开发实例精选. 机械工业出版社. 2006.
[11] (美)Damon Hougland, Aaron Tavistock ,马朝晖译. JSP 核心技术. 机械工业出版社. 2001. [12] 潇湘工作室 刘涛 徐冉. DrwamweaverUltraDev网页设计与网站开发. 人民邮电出版社. 2000. [13] 许增伟,张强. JSP快速高效开发利器——DrwamweaverUltraDev. 清华大学出版社.2002 [14] 刘韬, SQL Server 2000数据库系统开发实例导航, 人民邮电出版社,2004
基于jsp的系统设计,有代码有截图可做大作业
[15] 熊锡仪,动态网页设计,清华大学出版社,2004