版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《FZT 50056-2021合成纤维 短纤维拒水性能试验方法》专题研究报告
- 道路安全培训会议通知课件
- 2026年广西壮族自治区河池市高职单招语文试题附答案
- 道口安全知识培训小结课件
- 2024+共识声明:成人心脏手术患者快速拔管建议
- 边检站消防安全培训记录课件
- 辰溪消防安全培训课件
- 车队安全培训美篇标题课件
- 防雷接地工程量计算试题及答案
- 车间质量问题培训课件
- 2025年输血知识考试试题及答案
- 2025-2026学年人教版八年级上册道德与法治期末试卷(含答案和解析)
- 2026贵州盐业集团秋招面笔试题及答案
- 沈阳市2025辽宁沈阳市于洪区社区残疾人工作专职干事招聘笔试历年参考题库典型考点附带答案详解(3卷合一)
- 四川省成都市天府新区2024-2025学年七上期末数学试卷(原卷版)
- 慢性病患者健康管理工作方案
- 安全防范设计评估师基础理论复习试题
- 2026年内蒙古电子信息职业技术学院单招职业适应性测试题库附答案详解
- DB53-T 1269-2024 改性磷石膏用于矿山废弃地生态修复回填技术规范
- 2025年及未来5年市场数据中国过氧化苯甲酰行业市场深度分析及发展前景预测报告
- 昆明医科大学研究生学位论文撰写要求及有关规定
评论
0/150
提交评论