![JSP程序设计大作业_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/6cae60ac-393e-4c8f-874f-c7140ee80805/6cae60ac-393e-4c8f-874f-c7140ee808051.gif)
![JSP程序设计大作业_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/6cae60ac-393e-4c8f-874f-c7140ee80805/6cae60ac-393e-4c8f-874f-c7140ee808052.gif)
![JSP程序设计大作业_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/6cae60ac-393e-4c8f-874f-c7140ee80805/6cae60ac-393e-4c8f-874f-c7140ee808053.gif)
![JSP程序设计大作业_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/6cae60ac-393e-4c8f-874f-c7140ee80805/6cae60ac-393e-4c8f-874f-c7140ee808054.gif)
![JSP程序设计大作业_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/6cae60ac-393e-4c8f-874f-c7140ee80805/6cae60ac-393e-4c8f-874f-c7140ee808055.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JSP程序设计大作业题目:基于JSP的火车订票系统发姓名: 王晶学号: 102014121461 简介此系统主要应用于铁道部门,完成铁道部门管理人员对车票的管理和旅客对车票的订购等,实现车票管理的信息化。开发网上订购火车票系统不仅可以减轻铁道部门人员工作压力,比较系统地对车票、买票上的各项服务和信息进行管理,同时还可以方便旅客朋友们去查询和订购车票等,大大的提高服务质量和工作效率。2 技术路线用了哪些技术?分别用于解决什么 1数据库连接及操作通过构造方法加载数据库驱动,创建一个方法来获取数据库的连接,另一个方法来实现查询数据库的操作,另一个查询方法来实现增、删、改数据库的操作,closed()
2、方法来关闭数据库连接。2字符串处理类使用changeHTML()方法实现字符串中的特殊HTML字符;3用户登录入登录界面Login.jsp输入用户名和密码,在LoganDao中实例化数据库对象,在LogXServlet.java中将输入的用户名和密码与数据库中的数据进行对比,若相同则进入后台管理页面,否则重新登录3 系统设计a. 业务逻辑设计客户端向带有jsp引擎的web服务器请求,web服务器作出回应。Servelet调用JavaBean,转发jsp页面。由Servlet来执行业务逻辑并负责程序的流程控制,JavaBean组件实现业务逻辑,充当着模型的角色,JSP用于页面的显示。b. 功能模
3、块设计管理员模块功能本模块功能包括:添加、修改、删除和查询火车、线路和火车票信息以及修改个人密码等。添加火车、线路和火车票信息:主要是管理人员对火车自身信息、线路上存在的火车信息以及相应的火车票信息的添加。修改火车、线路和火车票信息:主要是管理人员对由于某些原因导致出现不合法火车信息和车票信息的更改、修订。删除火车、线路和火车票信息:主要是管理人员对一些不存在现实价值意义的火车和车票信息的删除。查询火车、线路和火车票信息:主要是管理人员对火车、线路和车票信息的查询。修改密码:管理人员修改自己的登录密码。用户模块功能本模块功能包括:用户注册信息,修改个人密码,查询个人信息,查询火车和线路信息,订
4、购车票和退换车票以及查看通知等。注册信息:主要是用户在使用此系统之前向系统数据库中注册个人信息,便于系统以后的管理和保障系统的安全。修改个人密码:主要是为了保障用户信息安全,用户可以对自己密码进行替换和重新设置。查询个人信息:主要是用户对自己的信息查询。查询火车和线路信息:主要是用户根据自己所想要订购的车票,查询其相应的火车及其线路的相关信息。订购车票:用户订购自己所需要的车票。4 详细设计1登陆注册部分Login登陆<% page language="java" import="java.util.*" contentType="tex
5、t/html;charset=gb2312" %><% include file="iframe/head.jsp" %><jsp:useBean id="code" scope="page" class="com.util.CheckCode" /><SCRIPT language=javascript>/检验表单的合法性function checklogin() if (document.form1.username.value.replace(/s+$|s+
6、/g,"").length<=0) alert("请输入您的用户名!");document.form1.username.focus();else if (document.form1.password.value.replace(/s+$|s+/g,"").length<=0) alert("请输入您的密码!");document.form1.password.focus();else if(document.form1.checkcode.value.replace(/s+$|s+/g,"
7、").length<=0) alert("请输入验证码!");document.form1.checkcode.focus(); else if (document.form1.checkcode.value != document.form1.yzm.value) alert("验证码错误!");document.form1.checkcode.focus();else form1.submit();</SCRIPT><%String message = (String)request.getAttribute(&qu
8、ot;message");if(message = null)message = ""if (!message.trim().equals("")out.println("<script language='javascript'>");out.println("alert('"+message+"');");out.println("</script>");request.removeAttribute(&q
9、uot;message");String yzm=code.getCheckCode();%> <FORM id=form1 name=form1 action=<%=basePath %>Login.shtml?method=PAGEUSERLOGIN method=post > <TABLE width=600 border=0 align="center" id=Table7> <TBODY> <TR height=40> <TD vAlign=center align=middle c
10、olSpan=3><FONT face=宋体></FONT><BR><FONT color=#ff7700><STRONG>欢迎登陆<%=sysList.get(0).toString() %></STRONG></FONT></TD></TR> <TR> <TD colSpan=3> <HR class=hui align=center width="98%" SIZE=1> </TD></TR
11、> <TR height=60> <TD align=right width=84 height=110></TD> <TD noWrap align=middle width=171> <TABLE width="100%" border=0> <TBODY> <TR> <TD width="35%" height=24>用户名:</TD> <TD> <INPUT class=input_new id=username s
12、tyle="WIDTH: 110px" size=15 maxLength=10 name=username onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/d/g,'')" onkeyup="value=value.replace(/W/g,'')" value=<%=request.getAttribute("reg_user"
13、;)=null?"":request.getAttribute("reg_user") %>> </TD> </TR> <TR> <TD height=25>密码:</TD> <TD height=25> <INPUT class=input_new id=password style="WIDTH: 110px" type=password size=15 maxLength=16 name=password onbeforepaste=&qu
14、ot;clipboardData.setData('text',clipboardData.getData('text').replace(/d/g,'')" onkeyup="value=value.replace(/W/g,'')"> </TD> </TR> <TR> <TD colspan=2 height=25><input type=hidden name=reg_type value=person> </TD>
15、</TR> <TR> <TD height=25>验证码:</TD> <TD height=25><input type="hidden" name="yzm" value="<%=yzm %>" > <INPUT class=input_new id=checkcode size=5 maxlength="4" name=checkcode onKeyUp="this.value=this.value.replac
16、e(/D/gi,'')"> <%=yzm %> </TD> </TR> <TR> <TD height=25></TD> <TD height=25><input type=button value="登录" onClick="checklogin()"></TD> </TR> </TBODY> </TABLE> </TD> <TD width=81> &l
17、t;LABEL> </LABEL> </TD> </TR> <TR><TD vAlign=center height=20><DIV id=Login1_ValidationSummary2 style="DISPLAY: none; COLOR: red" showmessagebox="True" showsummary="False"></DIV></TD> <TD class=red1 vAlign=center>
18、 <A class=dhx12 href=""></A> </TD> <TD vAlign=center><A href="lost.jsp">找回密码</A> <A href="<%=basePath %>reg2.jsp">注册会员</A></TD></TR> <TR><TD vAlign=center colSpan=3 height=22> <HR class=hui
19、 align=center width="98%" SIZE=1> </TD></TR> <TR height=40><TD class=buttomtxt align=middle colSpan=3 height=21></TD></TR></TBODY> </TABLE></FORM><% include file="iframe/foot.jsp"%>2管理员添加新路线News管理员增加路线<% page langu
20、age="java" import="java.util.*" contentType="text/html;charset=gb2312" %><% include file="iframe/head.jsp" %><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/1999/REC-html401-19991224/loose.dtd"&
21、gt;<HTML xmlns="/1999/xhtml"><HEAD><LINK href="images/default.css" type=text/css rel=stylesheet><LINK href="images/css.css" type=text/css rel=stylesheet><META http-equiv=Content-Type content="text/html; charset=gb2312"
22、;><STYLE type=text/css>.ycbt BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; PADDING-LEFT: 1.8em; BACKGROUND-COLOR: #EAF2EF; BORDER-LEFT: #fff 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px.xsbt BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; PA
23、DDING-LEFT: 1.8em; BACKGROUND-IMAGE: url(images/head1.gif); BORDER-LEFT: #fff 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px.xsnr DISPLAY: block.ycnr DISPLAY: none</STYLE><SCRIPT type=text/javascript>function tb_xs(t,m,n)for(var i=1;i<=m;i+)if (i != n)documen
24、t.getElementById("tb"+t+ "_bt" + i).className= "ycbt"document.getElementById("tb"+t+ "_nr" + i).className= "ycnr"elsedocument.getElementById("tb"+t+ "_bt" + i).className= "xsbt"document.getElementById("tb&
25、quot;+t+ "_nr" + i).className= "xsnr"</SCRIPT><SCRIPT language=JavaScript><!-/屏蔽出错代码function killErr()return true;window.onerror=killErr;/-></SCRIPT><SCRIPT language=JavaScript><!-/处理大分类一行两个小分类function autoTable(div)fs=document.getElementById(div)
26、.getElementsByTagName("TABLE");for(var i=0;i<fs.length;i+)fsi.style.width='49.5%'if(i%2=1)f (document.all) fsi.style.styleFloat="right"elsefsi.style.cssFloat="right;"elseif (document.all) fsi.style.styleFloat="left"elsefsi.style.cssFloat="left;
27、"/-></SCRIPT><SCRIPT language=JavaScript src="images/inc.js"></SCRIPT><SCRIPT language=JavaScript src="images/default.js"></SCRIPT><SCRIPT language=JavaScript src="images/swfobject.js"></SCRIPT><META content="MSH
28、TML 6.00.2900.3268" name=GENERATOR></HEAD><%String message = (String)request.getAttribute("message");if(message = null)message = ""if (!message.trim().equals("")out.println("<script language='javascript'>");out.println("aler
29、t('"+message+"');");out.println("</script>");request.removeAttribute("message");%><BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=0><SCRIPT language=JavaScript><!-/目的是为了做风格方便document.write('<div class="wrap"
30、;>');/-></SCRIPT> <TABLE width="100%" border=0 align="center" cellPadding=3 cellSpacing=1 class=tablewidth> <TBODY> <TR align="center" class=head><TD height=23>序号</TD><TD>车辆路线</TD><TD>车次</TD><TD>
31、;开车时间</TD><TD>到站时间</TD><TD>坐位类型</TD><TD>票价</TD><TD>预定</TD> </TR><%List list2=tb.getAllTrain();if(list2.size()!=0)for(int i = 0; i<list2.size(); i+)List list3 = (List)list2.get(i);%> <TR align="center" bgColor=#ffffff&g
32、t;<TD width="30" id=map><%=i+1 %></TD><TD id=map><%=list3.get(1).toString() %></TD><TD id=map><%=list3.get(2).toString() %></TD><TD id=map><%=list3.get(3).toString() %></TD><TD id=map><%=list3.get(4).toString(
33、) %></TD><TD id=map><%=list3.get(5).toString() %></TD><TD id=map><%=list3.get(6).toString() %></TD><TD id=map><a href="<%=basePath %>Job.shtml?method=prepTrain&id=<%=list3.get(0).toString()%>">预定</a></TD>
34、</TR><%> </TBODY> </TABLE><SCRIPT language=JavaScript><!-/目的是为了做风格方便document.write('</div>');/-></SCRIPT><SCRIPT language=JavaScript><!-clickEdit.init();/-></SCRIPT></BODY></HTML><% include file="iframe/foo
35、t.jsp"%>3查询路线Research查询路线<% page language="java" import="java.util.*" contentType="text/html;charset=gb2312" %><% include file="iframe/head.jsp" %><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "http:/www.w3c.
36、org/TR/1999/REC-html401-19991224/loose.dtd"><HTML xmlns="/1999/xhtml"><HEAD><LINK href="images/default.css" type=text/css rel=stylesheet><LINK href="images/css.css" type=text/css rel=stylesheet><META http-equiv=Content-
37、Type content="text/html; charset=gb2312"><STYLE type=text/css>.ycbt BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; PADDING-LEFT: 1.8em; BACKGROUND-COLOR: #EAF2EF; BORDER-LEFT: #fff 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px.xsbt BORDER-RIGH
38、T: #fff 1px solid; BORDER-TOP: #fff 1px solid; PADDING-LEFT: 1.8em; BACKGROUND-IMAGE: url(images/head1.gif); BORDER-LEFT: #fff 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px.xsnr DISPLAY: block.ycnr DISPLAY: none</STYLE><SCRIPT type=text/javascript>function tb_x
39、s(t,m,n)for(var i=1;i<=m;i+)if (i != n)document.getElementById("tb"+t+ "_bt" + i).className= "ycbt"document.getElementById("tb"+t+ "_nr" + i).className= "ycnr"elsedocument.getElementById("tb"+t+ "_bt" + i).className=
40、"xsbt"document.getElementById("tb"+t+ "_nr" + i).className= "xsnr"</SCRIPT><SCRIPT language=JavaScript><!-/屏蔽出错代码function killErr()return true;window.onerror=killErr;/-></SCRIPT><SCRIPT language=JavaScript><!-/处理大分类一行两个小分类funct
41、ion autoTable(div)fs=document.getElementById(div).getElementsByTagName("TABLE");for(var i=0;i<fs.length;i+)fsi.style.width='49.5%'if(i%2=1)if (document.all) fsi.style.styleFloat="right"elsefsi.style.cssFloat="right;"elseif (document.all) fsi.style.styleFloat=
42、"left"elsefsi.style.cssFloat="left;"/-></SCRIPT><SCRIPT language=JavaScript src="images/inc.js"></SCRIPT><SCRIPT language=JavaScript src="images/default.js"></SCRIPT><SCRIPT language=JavaScript src="images/swfobject.js&
43、quot;></SCRIPT><META content="MSHTML 6.00.2900.3268" name=GENERATOR></HEAD><script type="text/javascript">function f1() form1.submit();function f2() form2.submit();</script><BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=0><SCRI
44、PT language=JavaScript><!-/目的是为了做风格方便document.write('<div class="wrap">');/-></SCRIPT> <TABLE class=dragTable cellSpacing=0 cellPadding=0 width="100%" border=0><TBODY> <TR> <TD class=head ><SPAN class=TAG>路线信息查询</SPAN&
45、gt; </TD></TR><TR><TD class=middle align="center" ><form action="<%=basePath %>searchinfo.jsp" method="post" name="form1" > <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> &
46、lt;TD width=100% align=center>请选择路线:<select name="train"> <%List list=tb.getAllTrain();if(!list.isEmpty()for(int i=0;i<list.size();i+)List list2=(List)list.get(i);%> <option value=<%=list2.get(1).toString() %>><%=list2.get(1).toString() %></option>
47、 <% %> </select> <input type=button onclick="f1()" value="查询信息"></TD></TR></TBODY></TABLE></form></TD></TR> </TBODY> </TABLE><SCRIPT language=JavaScript><!-/目的是为了做风格方便document.write('</div>
48、');/-></SCRIPT><SCRIPT language=JavaScript><!-clickEdit.init();/-></SCRIPT></BODY></HTML><% include file="iframe/foot.jsp"%>4显示路线查询结果Researchinfo查询结果<% page language="java" import="java.util.*,com.util.*" contentType=&
49、quot;text/html;charset=gb2312" %><% include file="iframe/head.jsp" %><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/1999/REC-html401-19991224/loose.dtd"><HTML xmlns="/1999/xhtml"><
50、HEAD><LINK href="images/default.css" type=text/css rel=stylesheet><LINK href="images/css.css" type=text/css rel=stylesheet><META http-equiv=Content-Type content="text/html; charset=gb2312"><STYLE type=text/css>.ycbt BORDER-RIGHT: #fff 1px soli
51、d; BORDER-TOP: #fff 1px solid; PADDING-LEFT: 1.8em; BACKGROUND-COLOR: #EAF2EF; BORDER-LEFT: #fff 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px.xsbt BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; PADDING-LEFT: 1.8em; BACKGROUND-IMAGE: url(images/head1.gif); BORDE
52、R-LEFT: #fff 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px.xsnr DISPLAY: block.ycnr DISPLAY: none</STYLE><SCRIPT type=text/javascript>function tb_xs(t,m,n)for(var i=1;i<=m;i+)if (i != n)document.getElementById("tb"+t+ "_bt" + i).className
53、= "ycbt"document.getElementById("tb"+t+ "_nr" + i).className= "ycnr"elsedocument.getElementById("tb"+t+ "_bt" + i).className= "xsbt"document.getElementById("tb"+t+ "_nr" + i).className= "xsnr"</SCR
54、IPT><SCRIPT language=JavaScript><!-/屏蔽出错代码function killErr()return true;window.onerror=killErr;/-></SCRIPT><SCRIPT language=JavaScript><!-/处理大分类一行两个小分类function autoTable(div)fs=document.getElementById(div).getElementsByTagName("TABLE");for(var i=0;i<fs.leng
55、th;i+)fsi.style.width='49.5%'if(i%2=1)if (document.all) fsi.style.styleFloat="right"elsefsi.style.cssFloat="right;"elseif (document.all) fsi.style.styleFloat="left"elsefsi.style.cssFloat="left;"/-></SCRIPT><SCRIPT language=JavaScript src=&q
56、uot;images/inc.js"></SCRIPT><SCRIPT language=JavaScript src="images/default.js"></SCRIPT><SCRIPT language=JavaScript src="images/swfobject.js"></SCRIPT><META content="MSHTML 6.00.2900.3268" name=GENERATOR></HEAD><BODY
57、 text=#000000 bgColor=#ffffff leftMargin=0 topMargin=0><SCRIPT language=JavaScript><!-/目的是为了做风格方便document.write('<div class="wrap">');/-></SCRIPT><%String train=Common.toChineseAndTrim(request.getParameter("train");%> <TABLE width="100%" border=0 align="center" cellPadding=3 cellSpacing=1 class=tablewidth> <TBODY> <T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中职教育二年级上学期电子与信息《认识IP地址》教学课件
- 校舍安全工程文件归档范围和保管期
- 第七届全国珠宝玉石检测制作职业技能竞赛理论考试题库(含答案)
- 2024年全国职业院校技能大赛中职组(短视频制作赛项)选拔赛试题库(含答案)
- 中班教案《安全乘车》课件设计
- 中班节约用纸教案
- 中班教案《弯弯乐园》反思
- 应用型本科高校汉语言文学专业学生在公文写作中的问题及策略
- 2025届新高考语文冲刺热点复习:词语的意义与用法
- 《通信原理》作业
- 人教版小学五年级上册数学教材分析
- MOOC 研究生学术规范与学术诚信-南京大学 中国大学慕课答案
- 办公楼暖气改造施工方案
- 神经妥乐平在神经内科课件
- AutoCAD 2020中文版从入门到精通(标准版)
- 旅游景区服务与管理(高职)PPT完整全套课件
- 医院电子病历系统应用水平分级评价4级实证材料数据质量篇
- 新老物业移交表格(全套)
- 中小学教师继续教育十四五整体规划
- 物业公司竞标发言稿3篇
- 小学三年级英语阅读30篇
评论
0/150
提交评论