Web技术jsp课程设计任务书.docx
- 文档编号:4450204
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:593.64KB
Web技术jsp课程设计任务书.docx
《Web技术jsp课程设计任务书.docx》由会员分享,可在线阅读,更多相关《Web技术jsp课程设计任务书.docx(21页珍藏版)》请在冰豆网上搜索。
Web技术jsp课程设计任务书
Web技术(jsp)课程设计任务书
设计题目:
火车站售票管理系统
设计主要内容:
一、开发平台:
DREAMWEAVER/ECLIPSE+SQLSEVER2000/MYSQL
二、功能要求:
1、设计内容
设计一个火车站售票管理系统,该系统的用户由一般用户和管理员组成,然后不同的用户拥有不同的权限,各自完成各自的管理功能,首先是欢迎页面,然后选择登录,登录的时候首先要判断用户的身份,合法的用户然后进入到系统主页面中,不同的用户看到不同的系统功能。
用sqlserver2000创建后台数据库,然后利用程序设计语言(JSP)编写程序实现对数据库的操作,按照要求完成所有的功能和模块。
2、火车站售票管理系统主要功能
(1)用户管理:
用户登录页面、班次信息查询页面(按照一定条件查询)、旅客订票页面、客户资料登记页面(包括添加、修改、删除等操作)、取票通知页面。
(2)管理员管理:
管理员登录页面、班次信息页面(包括添加、修改、删除等操作)、旅客信息查询页面(按照一定条件查询,包括删除、修改)、取票通知页面(包括添加、修改、删除等操作),帐单页面。
3、火车站售票管理系统数据库表单(可以按照需求增加)
(1)航班信息表表单,主要字段有:
班次号、出发时间、到达时间、出发城市、到达城市、途径城市、站票价格、硬座价格、卧铺价格、备注
(2)旅客订票信息表单,主要字段有:
用户名、证件号码、联系方式、班次号、订票数目
(3)取票通知表单,主要字段有:
用户名、证件号码、联系方式
(4)帐单表单:
用户名、证件号码、班次号、座位号、金额
(5)用户信息表单,主要字段有:
用户名、密码、证件号码、联系方式、用户类别
三、课程设计报告主要内容:
1、需求分析:
包括系统概述,具体分析,用户需求等需求描述
2、系统概要设计:
包括系统用例图、系统结构图、数据定义
3、详细设计:
包括系统设计方案,类图
4、具体实现:
界面实现和代码实现
5、课程设计体会:
6、参考文献:
按正确格式列出3篇以上的参考文献
撰写者:
审定:
尹朝庆
1、需求分析:
……………………………………………….....................................4
1.1、系统概述:
……………………………........................................................4
1.2、具体分析:
…………………………………………………………………4
1.3、用户需求:
…………………………………………………………………4
2、系统概要设计:
………………………………………………………………….4
2.1、系统用例图:
………………………………………………………………5
2.2、系统结构图:
………………………………………………………………6
2.3、数据库定义:
………………………………………………………………7
3、详细设计:
……………………………………………………………………….9
3.1、数据处理封装图:
…………………………………………………………9
3.2、系统设计:
………………………………………………………………..10
4、具体设计:
……………………………………………………………………...11
4.1、界面设计:
………………………………………………………………..11
4.1.1、用户合同管理界面:
……………………………………………….......11
4.1.2、用户注册界面:
………………………………………………………...12
4.1.3、用户合同内容查询界面:
……………………………………………...13
4.1.4、管理员发货界面:
……………………………………………………...13
4.1.5、管理员产品入库界面:
………………………………………………...14
4.2、系统核心代码:
………………………………………………………......15
4.2.1、用户注册核心代码:
…………………………………………………...15
4.2.2、用户查询核心代码:
…………………………………………………...16
4.2.3、产品更新核心代码:
…………………………………………………...18
5、课程设计体会:
……………………………………………………….……….19
参考文献:
…………………………….....................................................................20
1需求分析
1.1.系统概述
为方便广大网民的购票需求,特制定此系统,公司借助此系统来处理售票事务,其应完成的功能如下:
◆火车站基本网站管理
◆用户管理
◆火车车次信息管理
◆购票管理
系统采用B/S架构
1.2.具体分析
B/S前台具体分析:
◆火车站基本网站管理:
此系统包括新闻导航、公司简介和一些可扩展内容供所有用户浏览。
◆用户管理:
此系统内容包括一般用户的注册、注册内容的查看、修改和密码修改,其中管理员用户信息为系统自动分配。
一般注册用户和管理员通过用户类型区分,用户登入后也由用户类型的条件转入不同界面,其中管理员可以对注册用户信息进行管理。
◆车次信息管理:
此系统内容包括所有用户根据某些条件进行车次的查询、管理员可以对车次信息进行更新、修改和删除等操作
◆购票管理:
注册用户进行购票事务,系统返回购票信息供用户确认,注册用户还可以设定取票和付款方式,管理员进行购票信息和所有帐单的管理。
其中管理员可以对预定票的期限、站票数额、一些优惠和送票信息进行设定。
1.3.用户需求
◆游客:
可以浏览火车站网站的基本信息包括公司简介、新闻导航和一些等待完善的扩展。
其中游客还可以对车次信息进行查询,如其愿意还可以注册为火车站的注册用户享有注册用户的权限。
◆注册用户:
可以对注册信息进行修改,相关车次的查询、购票信息的确认和取票、付款方式的设定。
◆管理员:
管理员对所有信息进行管理、会总和统计,其中主要包括对车次信息的更新、添加和删除,对注册用户信息的管理和帐单管理,还可以具体为售票预定期、站票数、一些优惠和送票信息进行设定。
1.系统概要设计
2.1系统用例图
图2.1系统用例图
2.2系统结构图
图2.2系统结构图
2.3数据定义
图2.3数据库结构图
数据库字段说明:
cs_user表用于用户信息管理
表2-1usermessage表
字段名
属性
长度
是否主键
备注
uesrname
varchar
20
是
用户名
password
varchar
20
否
密码
power
varchar
20
否
权限
age
varchar
20
否
年龄
fingyou
varchar
20
否
联系方式
addr
varchar
200
否
居住地址
ybno
varchar
20
否
邮编号码
perno
varchar
20
否
证件号码
cs_train表用于管理车次信息
表2-2cs_train表
字段名
属性
长度
是否主键
备注
trainno
varchar
20
是
车次
leix
varchar
20
否
类型
shif
varchar
20
否
始发站
shiftime
varchar
20
否
开车时间
Tujcity
varchar
200
否
途径站
zhongd
varchar
20
否
终点站
zhongdtime
varchar
20
否
到站时间
yzshu
varchar
20
否
硬坐数
rzshu
varchar
20
否
软座数
ywshu
varchar
20
否
硬卧数
rwshu
varchar
20
否
软卧数
cd_train表用于表达车次的详细信息
表2-3cd_train表
字段名
属性
长度
是否主键
备注
id
varchar
20
是
编号
trainno
varchar
20
否
车次
leix
varchar
20
否
类型
zhanshu
varchar
20
否
第几站
nextcity
varchar
20
否
下一站
daodtime
varchar
20
否
到达时间
chuftime
varchar
20
否
出发时间
lic
varchar
20
否
里程
yzprice
varchar
20
否
硬座价
rzprice
varchar
20
否
软座价
ywprice
varchar
20
否
硬卧价
rwprice
varchar
20
否
软卧价
piao表用于票信息
表2-4piao表
字段名
属性
长度
是否主键
备注
trainno
varchar
20
是
车次
date
varchar
20
否
日期
chex
varchar
20
否
车厢号
zuow
varchar
20
否
座位号
price
varchar
20
否
价钱
注(为方便数据的读取所有字段都采用varchar)
4具体实现
根据以上的概要设计对本系统的问题描述,系统模块的规划,系统结构的设计和对数据库的设计,这个系统已非常清楚了。
4.1界面设计
图3.1首页
图3.2判断登入页面
图3.3查询车次
图3.4用户界面
图3.5管理员界面
图3.6车次查询结果
图3.7查询车次详细信息结果
说明:
页面设计严格按照需求分析要求,首页完成用户的登入和注册接口、所有用户的查询车次信息的接口、和相关扩展——包括新闻中心(待开发)、意见投诉(待开发)和一些出行信息的浏览。
用户界面和管理员界面同样严格按照需求分析要求,完成相应功能,详细功能的完成,请参考相应的详细代码。
4.2详细代码
1.公共模块
其包括连接数据库jsp页面、固定宽度且居中的css排版样式、判断是否登入过的jsp和导航条。
◆连接数据库jsp页面:
<%@pageimport="java.util.*"%>
<%@pageimport="java.sql.*"%>
<%
StringdbUrl="jdbc:
mysql:
//localhost/myconn";
StringdbUser="root";
StringdbPassword="";
Driverdb_Driver=(Driver)Class.forName("com.mysql.jdbc.Driver").newInstance();
ConnectionConn;
Conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);
Statementsql;
sql=Conn.createStatement();
Statement
sqlx=Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
%>
◆固定宽度且居中的css排版代码:
body{
background-color:
#0000CC;
margin:
1px0px0px0px;
padding:
0px;
text-align:
center;
font-size:
12px;
font-family:
Arial,Helvetica,sans-serif;
}
#container{
position:
relative;
margin:
0pxauto0pxauto;
width:
700px;
text-align:
left;
}
◆判断是否登入过的代码:
<%
if(session.getAttribute("cs_user")==null){response.sendRedirect("login.jsp");}
else{
cs_power=(String)session.getAttribute("cs_power");
if(cs_power.equals("0"))
{
out.print("对不起!
管理员请不要进入注册用户界面!
");
}
else{
response.sendRedirect("mvp.jsp");
}
}
%>
◆导航条写进一静态的txt文件中:
首页 公司简介 新闻中心 意见投诉 服务中心 联系我们 网上购票
2.登入
登入页面采用查找相应表数据,和相应表中数据进行匹对,最后在根据权限重定向到不同页面,把数据表中的数据写入session中为后面的代码服务。
代码如下:
<%
cs_user=request.getParameter("cs_user");
cs_password=request.getParameter("cs_password");
sqlVerify="select*fromcs_userwhereusername='"+cs_user+"'andpassword='"+cs_password+"'";
rsVerify=sql.executeQuery(sqlVerify);
if(rsVerify.next())
{
session.setAttribute("cs_user",rsVerify.getString("username"));
session.setAttribute("cs_password",rsVerify.getString("password"));
session.setAttribute("cs_power",rsVerify.getString("power"));
session.setAttribute("cs_age",rsVerify.getString("age"));
session.setAttribute("cs_findyou",rsVerify.getString("findyou"));
session.setAttribute("cs_addr",rsVerify.getString("addr"));
session.setAttribute("cs_ybno",rsVerify.getString("ybno"));
session.setAttribute("cs_perno",rsVerify.getString("perno"));
cs_power=(String)session.getAttribute("cs_power");
if(cs_power.equals("1"))
{
response.sendRedirect("mvp.jsp");
}
else
{
response.sendRedirect("manage.jsp");
}
}
else
{
out.print("用户名或密码错误");
}
%>
3.修改
修改密码、修改用户资料和对用户信息审核删除相应数据的思想和方法是一样的——找到相应的数据表在对其进行update。
在修改用户资料代码中是直接读取session中的数据并可以对其修改,而删除相应数据是根据主键在删除相应数据。
下面以修改密码代码来说明。
修改的核心代码如下:
<%
cs_user=(String)session.getAttribute("cs_user");
cs_password=request.getParameter("cs_password");
cs_password1=request.getParameter("cs_password1");
sqlVerify="select*fromcs_userwhereusername='"+cs_user+"'andpassword='"+cs_password+"'";
rsVerify=sql.executeQuery(sqlVerify);
if(rsVerify.next())
{
sql.executeUpdate("updatecs_usersetpassword='"+cs_password1+"'whereusername='"+cs_user+"'");
Conn.close();
out.println("密码修改成功!
");
}
else
{
out.print("密码修改失败");
}
%>
4.插入
用户的注册和自动生成管理员的方法思想是一致的,就是在相应表中添加记录,而在自动生成管理员用户中采用随机的在固定的字符后加数据,再在表中加记录,好的,现在就一自动生成管理员代码来说明:
<%intno=(int)(Math.random()*10000)+1;
cs_user="admin"+no;
cs_password="12"+no;
cs_power="0";
cs_age="无";
cs_findyou="无";
cs_addr="无";
cs_ybno="无";
cs_perno="无";
sqlVerify="select*fromcs_userwhereusername='"+cs_user+"'";
rsVerify=sql.executeQuery(sqlVerify);
if(rsVerify.next())
{out.print("请少候");}
else
{
sql.executeUpdate("INSERTINTOcs_userVALUES('"+cs_user+"','"+cs_password+"','"+cs_power+"','"+cs_age+"','"+cs_findyou+"','"+cs_addr+"','"+cs_ybno+"','"+cs_perno+"')");%>
用户名:
<%=cs_user%>
密码:
<%=cs_password%>
<%
Conn.close();
}
%>
5.查询插入更新
车次查询和买票代码的思想是:
把途径的城市写在一个长的字符串中这样用户可以根据出发站和目的站找到相应车次,其中用到sql中的模糊查询。
用户再根据车次找到相应的详细信息,用户根据输入相应的车次号进行买票,买票的思想是在票数据表中插入车厢号和座位号,座位号大于60后车厢号加1。
车次表中的硬座,硬卧等数减1。
下面就以站站查找来说明,其代码如下:
<%
cs_city1=request.getParameter("cs_city1");
cs_city2=request.getParameter("cs_city2");
sqlVerify="select*fromcs_trainwheretujcityLIKE'%"+cs_city1+"%"+cs_city2+"%'";
rsVerify=sql.executeQuery(sqlVerify);
while(rsVerify.next())
{
cs_trainno=(String)rsVerify.getString("trainno");
leix=(String)rsVerify.getString("leix");
shif=(String)rsVerify.getString("shif");
zhongd=(String)rsVerify.getString("zhongd");
lic=(String)rsVerify.getString("lic");
yzshu=(String)rsVerify.getString("yzshu");
rzshu=(String)rsVerify.getString("rzshu");
ywshu=(String)rsVerify.getString("ywshu");
rwshu=(String)rsVerify.getString("rwshu");
%>
<%}%>
<%Conn.close();%>
车次:
车次详细信息查询代码与其相似:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 技术 jsp 课程设计 任务书