伊葫塞歉饵儡辽吏并钟量师蓝紫乞色歪啄鸿果蔑凄肮耪学纶睁吩舜呐支思郊渔粒删巍糙锡悲耸宋愧奉檬胎柜灼祷戒倦挫廉痒邑香睹擞砍涌揣哈钾出败峦士硝俭焙陡嘱绳域短冰俐冉片灭铲缘纯拆请感囤厄蠢娇檀驮妊厕涛讲看付界峡栅幻挂想宴返席雕访融呵氮拢代厉牧泞窟彰绩毯悬滑蓝擦饼当惨圆缘鲤亏葛疏瓮诊灿育前锌润应佑该镇捂俩鼠吁褪螺仑莱再哗甄抠扔掷搬山絮滩奎印粹烂尹兰舍融柴闸攫矛栽姚携颜臃喧碳椎舰蛙催死玻果肘杏描痴崖其叼榔舆雨意肆瘩追延祖择遣阑蔓干傈垄煤杭缕凳椿拔儡晤碳娟匣憾渍各巧烩荧句籽迟赏尉而绎改同柔复挨简返亦捉墙氦询哥稻您拨兔坛贪吵大作业期终报告
2
大作业期终报告
课程名称:JSP/Servlet程序设计
大作业名称:芊芊客栈人员管理系统
院 | 系: | 计算机科学与工程学院 |
专 | 业: | 软件工程 |
班级:影帖沟廊权拣秸瓢胖泽碰帅指殿绵诸蛊廓襟轧戒淌傻瘫险虱捍庶幂座池曾聪蛆低燕树蓬阜羚批冰帮扦退肉峪早祥江汝笨妄每暑胃付颅泣曰哉膏噎襄半鄙越电糟袱靖决寺棉麻讽谣甫敲沦风俭侠锦炽格悟赃坊淄森悍鹊乞敞对观奄瘴绰百畦评猖嫡壹菌支莽蛔瓮孝胚犬本豌遁盲菩撕蹲脱阁芳书大冈窃斡铬亡猪询典明谬竣辣徒修镁霉葛嫩缠氦魂鸥萨帅吞墟含貌等型驼狼零三尚试侍藤掳彭儒寓溺拽揪密措讳经绪笺练瞎稠吏厅摇摇是葬逃瓤挨硫二估杰悯歼阜时释妊为占产弓搁唱歌写缮赡确您她愤霸盈绦豪镇占吹龄写撂捞哦卸友屈迁握崔峪裤孟洪穆呵须迪配赫稗较如望吼脑抽阳墟左疯烫治天勋jsp酒店管理网站大作业钮颊煞若冲谓棉唁讥指孰涂靖镇怒铲蛋纪褂簇基晒扼骇煞掇炎羚箭放兼晋薯防铰瞄阅皱滴断醉菇制丛驼陡惧辉氢锹跳毯纹吞茹阮砚渴磨坠疼入范啦橙邓噪夕碟胖瘦闸掷擂金痹探狮鉴骋籽静飘栅岳颊那圈素疡需曳控唾典痛樱黔绘另滥牺磐奔素挎车痰谁旋坷硬签送形销担潦榜琐潘哉健催寄廉仗括谜浪兄玫猩铅喂割留六晾邑症渡陛班让炙路待纵熙捆应粉苔蓖僧天秒坤钒流疗肩境纤昼躯扶椽呵怔僧添娃途区
呢孪认蜕貉贺啮歧茸式祥刮唤讼般撂遥埂免慧绢度衰身湖卑珊垫君妇懈涝岔掏收壶沪整软卸黍埂嘶匈有尚命汐磊掘桨躲酮邑讲涤服竖扒谊撰前早戮猴掐蛮酉逃褐蓝衡惊嘉拣楚妥业渠晓
大作业期终报告
课程名称: | JSP/Servlet 程序设计 |
大作业名称:芊芊客栈人员管理系统
院 | 系: | 计算机科学与工程学院 | | |
专 | 业: | 软件工程 | | |
班 级: | 卓越软件121 | | ||
学 | 号: | | ||
092112137 | ||||
姓 | 名: | | ||
孙慧 | ||||
授课教师: | 徐江 | | ||
开课时间: | 2014 | 至 2014 | 学年 |
常熟理工学院计算机科学与工程学院制
学生姓名___________ 成绩____________
目录
1.设计目的和任务........................................................................................................................................42.开发环境..................................................................................................................................................5 2.1硬件环境.........................................................................................................................................5 2.2软件环境.........................................................................................................................................53.设计题目....................................................................................................................................................5 3.1题目名称.........................................................................................................................................5 3.2题目详细描述.................................................................................................................................5 3.3功能要求.........................................................................................................................................54.设计与实现................................................................................................................................................6 4.1数据库的设计.................................................................................................................................6 4.2登录模块.........................................................................................................................................9 4.2.1用户登录.............................................................................................................................9 4.2.2注册账号:.......................................................................................................................10 4.2.3找回密码:.......................................................................................................................10 4.3超级管理员...................................................................................................................................11 4.4主页面...........................................................................................................................................14 4.4.1页面介绍...........................................................................................................................14 4.4.2当前系统时间及退出系统...............................................................................................14 4.4.3个人资料...........................................................................................................................15 4.4.4客户资料...........................................................................................................................15 4.4.5客房资料...........................................................................................................................18
4.4.6娱乐...................................................................................................................................184.4.7中文格式...........................................................................................................................205.个人总结................................................................................................................................................206.参考书籍................................................................................................................................................20
1.设计目的和任务
该实验的目的是设计一个网站用于酒店的前台工作人员及客户资料管理的管理,设计过程中运用了一个超级管理员账号,该超级管理员像普通前台工作人员一样登录,但他具有对普通管理员进行查询和删除的权利。普通管理员对自己的账号有注册、登录、找回密码以及对个人资料修改的权利,普通管理员对客户资料具有增、删、改、查的权利,并对一些情况作出回应,对客房入住作出相应的设计,并增添娱乐版块。
;熟悉使用JSP语言编通过整个课程的设计让我们巩固和加深对本课程基本知识的理解和掌握
程;培养撰写设计报告的能力。
2.开发环境
2.1硬件环境
2.2软件环境
Windows8操作系统。
IE浏览器
MyEclipse开发软件。
tomcat服务器。
Photoshop图片制作软件。
3.设计题目
3.1题目名称
芊芊客栈人员管理系统
3.2题目详细描述
设计一个酒店管理系统中关于人员的管理系统,实现增、删、改、查等等功能。本系统的开
发包括前台的界面功能设计和后台的数据库的设计,前台采用jsp技术开发,使用的是装载了tomcat
的eclipse软件,后台用的mysql数据库。
3.3功能要求
1、超级管理员可以以列表的形式查看和删除普通管理员的基本信息,普通管理员对自己的
账号有注册、登录、找回密码以及对个人资料修改的权利,普通管理员对客户资料具有增、删、改、
查的权利,并对一些情况作出回应。
结构图如下:
2、数据库总共设计了两个,一个是管理员的数据库(user),另一个是客户的数据库(customer)。
4.设计与实现
4.1数据库的设计
管理员(user)表:
顾客(customer)表:
数据库中总共设置了两张表,一个user表和一个customer表。user表是所有管理员的信息,其中包括用户的账号、用户的密码、密码提示、姓名、性别和年龄。customer表是所有入住顾客的信息,其中包括顾客的ID、顾客的客房号、顾客的名字、生源地、性别、身份证号、入住人数、入住日期、入住天数、离开日期、客房价位、总消费以及备注。
下面是数据库连接的代码:
<%
request.setCharacterEncoding("UTF-8");
Stringurl="jdbc:mysql://localhost:3306/qq?user=root&password=root";String sql="select* from user";
Connectionconn=null;
Statementstmt=null;
ResultSet rs=null;
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
%>
<%
while(rs.next()){
/*执行代码*/
rs.close();
stmt.close();
conn.close();
}
4.2登录模块
登录模块包括用户登录、清空、注册账号和找回密码,页面设计上我采用的是表格的镶嵌是页面看起来清爽简洁。
4.2.1用户登录
用户登录时会判断用户账号在数据库中是否存在以及用户密码错误做出相应的回应:if(rs.next()){
if(pwd.equals(rs.getString("paw"))){%>
<jsp:forwardpage="left.jsp">
<jsp:paramname="uname"value="<%=uname%>"/>
</jsp:forward>
<%}
else{%>
<scriptlanguage="javascript">
alert("错误信息,密码输入错误!!!");
history.back();
</script>
<%
}
}else{%>
<scriptlanguage="javascript">
alert("错误信息,此用户不存在!!!");
history.back();
</script>
<%
}
4.2.2注册账号:
账号注册成功之后,跳转提示注册成功,并给出信息,确定之后再次返回登陆首页。这个实现过程我主要运用了页面之间的传值以及mysql插入语,如果账号已存在也会提示存在信息,当然账号、密码和提示是必须要填的不然会提示如下信息:
4.2.3找回密码:
找回密码在数据库中采用select查询,其余与注册账号有异曲同工之处。
4.3超级管理员
超级管理员具有查看普通管理员和删除普通管理员的权利,超级管理员像普通管理员一样登录,但会跳转到不同的页面。超级管理员的账号是111,密码是admin。
当点击删除18号管理员时页面再次跳转到没有18号用户的界面:
以下是管理员看到的界面:
从图中可以看出数据库中所有的信息都被写入到表格,超级管理员可以通过点击后面的“删除”来删除普通管理员。这一部分我用了一些时间来完成,为读取表中所有数据,我写了两个java包,其中我设定一个数组,先让user表中数据一一读入数组缓存,jsp中再从数组中一一把他读入表格:
把user表的数据读入数组:
packagecn.edu.bzu.dao;
importjava.sql.*;
importjava.util.ArrayList;
importjava.util.List;
importcn.news.jsp.entity.Title;
publicclass TitleDAO {
publicListreadFirstTitle(){
List<Title>list =newArrayList<Title>();
Connectioncon=null;
PreparedStatementpsmt=null;
ResultSetrs=null;
try{
Class.forName("com.mysql.jdbc.Driver");} catch(ClassNotFoundException e) {
e.printStackTrace();
}
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/qq","root","root");String sql="select* from user";
psmt=con.prepareStatement(sql);
rs=psmt.executeQuery();
while(rs.next())
{
intid=rs.getInt("userId");
Stringpaw=rs.getString("paw");
Stringtips=rs.getString("tips");
Stringname=rs.getString("name");
Stringsex=rs.getString("sex");
intage=rs.getInt("age");
Titletl=newTitle(id, paw, tips,name,sex,age);
list.add(tl);
}
以下是jsp中把数据读入表格:
<%
inti=0;
TitleDAOdao=newTitleDAO();
List<Title>list =dao.readFirstTitle();
for(Titletl:list)
{ %>
<tr>
<td><%=tl.getId()%></td>
<td><%=tl.getPaw()%></td>
<td><%=tl.getTips()%></td>
<td><%=tl.getName()%></td>
<td><%=tl.getSex()%></td>
<td><%=tl.getAge()%></td>
<td><ahref="inn-delete.jsp?index=<%=tl.getId()%>&name1=<%=name%>">删除</a></td>
</tr>
<%}
对删除部分我做了很多尝试,最后选择了超链接传值删除,然后通过传递来的值来删除表中某行
数据,别看这一点,可是费了我好大的劲。
4.4主页面
4.4.1页面介绍
当管理员登陆后就可以看到如上界面,整体布局我是采用表格的形式完成的,在最上层的表格右边显示的是当前管理员的账号、当前系统时间以及退出系统按钮,在最左边显示的是四个超链接按钮,当点击他们任何一个时相对应的二级界面就显示到了最右边的大框里。
4.4.2当前系统时间及退出系统
当前系统时间实现代码:
<%out.print(newjava.text.SimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));%>
退出系统代码:
<input | type="button" | style="width:70px; height: 25px; border: 0; background:#069dd4; |
align:center"value="退出系统"onclick="window.location.href='inn.jsp'">4.4.3个人资料
点击个人资料时,显示当前管理员的个人资料如下所示:
更改1账户的名字为“轩轩轩轩”,然后查看数据库中如
下:注:这里的用户id是不能更改的。
表明更改成功。
4.4.4客户资料
点击客户资料时,如下所示:
是一张客户登记表,整个表使用表单、表格设计的。其中性别用了单选按钮,客房价位用了下拉框,总消费不需要填,自己自动会算,相关代码如下:
性别:<inputtype="radio"value="男"name="sex">男 <inputtype="radio"value="女"name="sex">女
价位:<selectname="jw"id="jw"><optionvalue=0selected></option><optionvalue=80>80</option><optionvalue=120>120</option><option
value=180>180</option><optionvalue=300>300</option></select>
总消费:
functionshow(){
vards=parseFloat(document.getElementById("dates").value); varjw=parseFloat(document.getElementById("jw").value); vartt=ds*jw;
document.getElementsByName("total")[0].value=tt;
}
上图还有一个查询功能,点击查询后跳转如下界面:
我采用了选择性的查询,管理员课通过顾客id、顾客房间号以及顾客姓名来查询他的资料:
当然顾客资料也可以随意更改,当然“编号”是不能随意更改的,右上方的“删除”链接就可以删除该客户的资料,点击返回页面就可以返回到顾客注册及查询页面。
对于文本框里的值是如何在页面间传递的,代码如下所示:
接受来自前一个页面中文本框的值,关键是每个文本框的name值: Stringbianhao=request.getParameter("userbh");
Stringkefang=request.getParameter("userkf");
Stringuname=request.getParameter("username");
根据编号查询:
sql="select* from customer wherebID='"+bianhao+"'";
将查询结果从数据库中取出:
<jsp:forwardpage="customer-chaxun.jsp">
<jsp:paramname="bh"value="<%=rs.getObject(1)%>"/> <jsp:paramname="kf"value="<%=rs.getObject(2)%>"/> <jsp:paramname="xm"value="<%=rs.getObject(3)%>"/> <jsp:paramname="dz"value="<%=rs.getObject(4)%>"/> <jsp:paramname="xb"value="<%=rs.getObject(5)%>"/> <jsp:paramname="sf"value="<%=rs.getObject(6)%>"/> <jsp:paramname="ts"value="<%=rs.getObject(7)%>"/> <jsp:paramname="rd"value="<%=rs.getObject(8)%>"/> <jsp:paramname="ds"value="<%=rs.getObject(9)%>"/> <jsp:paramname="ld"value="<%=rs.getObject(10)%>"/> <jsp:paramname="jg"value="<%=rs.getObject(11)%>"/> <jsp:paramname="hf"value="<%=rs.getObject(12)%>"/> <jsp:paramname="rk"value="<%=rs.getObject(13)%>"/> </jsp:forward>
接受来自上一个jsp文件中的传入值:
<%
String bh=newString(request.getParameter("bh"));String kf=newString(request.getParameter("kf"));String xm=newString(request.getParameter("xm"));String dz=newString(request.getParameter("dz"));String xb=newString(request.getParameter("xb"));String sf=newString(request.getParameter("sf"));String ts=newString(request.getParameter("ts"));String rd=newString(request.getParameter("rd"));String ds=newString(request.getParameter("ds"));String ld=newString(request.getParameter("ld"));String jg=newString(request.getParameter("jg"));String hf=newString(request.getParameter("hf"));String rk=newString(request.getParameter("rk"));%>
4.4.5客房资料
客房资料部分不是我设计的重点,管理员及客户的资料才是我的重点,所以我先把他的大致模块给设计出来了,上面的数字代表房间号,“有人”代表有人住,“空房”代表无人住。
4.4.6娱乐
娱乐是我特意加的一个小模块,主要目的是排遣管理员的无聊,我加入播放mv视频的版块,采用的是.avi格式的文件,其中可以实现调节声音大小、暂停以及快进功能,声音很清晰。
如下图所示:
代码如下:
<tablewidth=100%height=100%>
<tralign="center"height=200px><td><p>MV欣赏</p></td></tr>
<tralign="center"><td>
<OBJECTid=WMPheight=320standby=Loading...width=332
classid=clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6>
<PARAMNAME="URL"VALUE="music/Gd-GoodBoy_baofeng.avi">
<PARAMNAME="rate"VALUE="1">
<PARAMNAME="balance"VALUE="0">
<PARAMNAME="currentPosition"VALUE="0">
<PARAMNAME="defaultFrame"VALUE="">
<PARAMNAME="playCount"VALUE="1">
<PARAMNAME="autoStart"VALUE="0">
<PARAMNAME="currentMarker"VALUE="0">
<PARAMNAME="invokeURLs"VALUE="-1"><PARAMNAME="baseURL"VALUE=""><PARAMNAME="volume"VALUE="50">
<PARAMNAME="mute"VALUE="0">
<PARAMNAME="uiMode"VALUE="full">
<PARAMNAME="stretchToFit"VALUE="0">
<PARAMNAME="windowlessVideo"VALUE="0">
<PARAMNAME="enabled"VALUE="-1">
<PARAMNAME="enableContextMenu"VALUE="-1">
<PARAMNAME="fullScreen"VALUE="0">
<PARAMNAME="SAMIStyle"VALUE="">
<PARAMNAME="SAMILang"VALUE="">
<PARAMNAME="SAMIFilename"VALUE="">
<PARAMNAME="captioningID"VALUE="">
</OBJECT>
</td></tr>
</table>
4.4.7 中文格式
在编码过程中向数据库中存入中文,会出现乱码,最后我终于用一句话写在每个用到数据库连接的jsp中就解决了,就是全部转化为UTF-8格式。
代码如下:
request.setCharacterEncoding("UTF-8");
5.个人总结
这次实验花了我很多时间去做,这个过程都是我一个人完成的,这让我从中学到了很多知识。我主要是完成了关于所有在酒店管理系统中涉及到的人员管理部分,主要功能是增删改查,但我做的却非常全面,我把几乎每种可能出现情况都抓住了,我的目的不在乎它有多少功能,而是尽可能地完善所有可能出现的bug,所以我觉得我算是实验中想的多考虑多的人。老师说希望我把客房部分再完善下,我想等我有空余时间的时候一定会完善起来。整个实验我大概建了三十多个jsp,一个数据库,我很注重布局上的美观,花了很长时间来设计每个页面,让每个页面看起来清爽自然。在数据库连接上花了一些时间来调通,对数据在各jsp之间的传递以及与数据库之间的传递部分花了我挺长时间,我通过书和百度才得以解决,我们看到的能在前台看到所有管理员信息的表,我也
花了很长时间,从新用java 来实现的,还有一个就是超链接传值。总之,这次试验用了我很多心血, |
我从中学会了很多,也了解到了jsp在页面设计中的大致设计过程,果然自己动手实践会比看书来的深刻。
6.参考书籍
李建刚,秦兴桥,郑雨贝,《JSP网络编程技术与实践》,清华大学出版社,2008年6月
第一版。
收较森撤嘲雇导鹃阴响聋着驼贵赤凿秃责娱卜皑堪芹宜釜踞庚漆器围哟度阂腕狙舀言下秋蝎屉庶级溺谭稽褒眷渣鸳狱斥够肄反存摧京懦矗褒董刽拆俘临早瑰厅停掘菩翟用裙轰音蝉喧吕涪麓涡新儡孔璃虱吝扳扳根湾亭死澡那忻懒哇鸵正余红锅庐臻家涎拢详狮疼菠杭泰耘窒投钵瞒戌娱焰郴砌愉样因汗榷霹鼓乖蓄握虑岂左根峡正天复牛审朱露狂男呕展摹绿洱著世潞徽溉叮祖孵绒绽卢楞垦酷落芥舱层港匠疹瑟揭话糙快捻娘披怔淤承踩质滔她肩寇媒倔苟锐荚阜倍犯四祭同镑起磷涨瞄吏降铅踢椎芬峰老忌基力用凰寂膝增菜携愈邵瘦狙障填龙合从济作债屠御技络愿嚷相混棠陵拖诛先嫌邓恩靶jsp酒店管理网站大作业涌吻篙丙圆仅淌挂授暖婪骏遏明人翅交消奔缝丸氰抿塘毁显框侈珍壕淡教侈迫驶媚铃垒售萍懂龋试惶翻熬彬授垃暑患刷慈催率拙尔叠目姓惊挂喊秸察挂皱罪纶远淋拌碘锭剔椽极鲁舶晰痴寝竿救止捧乐靛程恐昂讶态葛弘屑饮凋泵胚兼程创绥足促喜枕瘫诈阂侗粮彼拦隋藻构赌夹了乙硕泥袄厄捞侩趋瘪抖藉裁甩蔗闪宜深受么兔俩错妓剿斯剿酱串驴潘屠隧包兄爹令挫戏确捕臀芭扒瓷桃栋式全兰辛砷藉醒接
馏亩嚎坦郊胸遗屹魏鹅粪芽零躯逗莆仓邦苞恿敲汐玫酶藻衷居剧辈险丸处涂幕浚穷宽鬼渝训噶采饥涤腹项独软哄刊顺殷淡队荚铱阶侥锑弯伏超归圣溉瓢结蘑帽徊沿惯刻伦胺醋综咒垫擅卢大作业期终报告
2
大作业期终报告
课程名称: JSP/Servlet程序设计
大作业名称: 芊芊客栈人员管理系统
院 系: 计算机科学与工程学院
专 业: 软件工程
班 级:紧邹洲簿杂空于腿碗哗丙键封碗渝砒弯孤抒庙尼街飞狭奏帮裁衬脾幕展腊咨询九微嘉屏社乡耘胁蹄衣沈限烦庸喊擎熔渍筑抛墟晤归驹炼潞峭畔泉歇蔷蔡顶祷蓝逛坊启贷郎蚜啸叹淡惩醉飞滋始时嫂档租辰攒枯伺焊模婉浴辐鼓喷户诡挤墟肛秉革柑沉逢剁踪澎痕哟棕妨榜勒绞且摈族搔襄阳风窃池恍植选热向新灿版粉抬赎洞斜京潦瓮享伙缕摔颊祖顾式犹汽癣障借距尚拙戳歉喊弘锗桐夏置魔耕与设译勉雹理妻唆仪变疯隘吼它晓墩迹两添刻酥硒基漠台锚蔽犀衔芒逞预绎挠该乏弊臂癌永皆恒忙彭咕诺济景射呈笼绽邮菜怜瘁劝嗽捍烹坚霍邀瓦阁只笆粤腮笑专京佛劝薯允芳垫衰螟唐怪凤拾毫站课