【Java+JSP+MySql】12306购票系统(五)购买车票

选择出行需求

在页面中可以选择出发城市、到达城市以及出发日期。
代码存放在needs.jsp文件中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="sqlconnect.OptSql" %>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>选择出行需求</title>
</head>
<body>
<div>
	<img src="title.jpg" width="266" height="64" alt=""/>
	<a href="user.jsp" id="gotouser" style="float:right;position: absolute;top: 20px;right:20px;">用户:<%=session.getAttribute("username")%></a>
</div>
<div id="main" style="height: 500px;wdith: 100%;background-color:#6899FF">
  <div id="chooseneeds" style="background-color: white;position: relative;left:20px;top:20px;height: 360px;width: 40%;">
	<div id="content" style="position: relative;left:40px;top:50px;font-size: 30px;color:#8C570F;">
		<form action="showtrains.jsp">
			<%
			OptSql oo=new OptSql();
			List<String> origin_list=oo.get_all_origin();
			request.setAttribute("origin_list", origin_list);
			%>
			出发地:
			<select name="select_origin">
			<c:forEach items="${origin_list}" var="origin">
				<option value="${origin}">${origin}</option>
			</c:forEach>
			</select><br><br>
			<%
			List<String> des_list=oo.get_all_destination();
			request.setAttribute("des_list", des_list);
			%>
			到达地:
			<select name="select_destination">
			<c:forEach items="${des_list}" var="des">
				<option value="${des}">${des}</option>
			</c:forEach>
			</select><br><br>
			<%
			List<String> date_list=oo.get_all_date();
			request.setAttribute("date_list", date_list);
			oo.close();
			%>
			出发日期:
			<select name="select_date">
			<c:forEach items="${date_list}" var="date">
				<option value="${date}">${date}</option>
			</c:forEach>
			</select><br><br>
	  <input type="submit" value="查询" id="btn" style="background-color: #8C570F;color:white;
																position: relative;left:110px;height: 50px;
																width: 100px;font-size: 30px;">
	  </form>
	  </div>
  </div>
	<div id="pic" style="width:50%; float:right;position: absolute; top: 100px;right: 50px;">
		<img src="adv12306_2.jpg" width="651" height="430" alt=""/>
	</div>
</div>
</body>
</html>

选择车票

在上一个页面点击查询后,将会进入符合条件的全部车票的页面,仿照12306官网,将会展示所有车次的余票数量,并且通过点击相应余票,可以购买。
代码放在文件showtrains.jsp中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="sqlconnect.OptSql" %>
<%@ page import="sqlconnect.TrainInfo" %>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>选择车票</title>
</head>
<style>
	.tablehead{
		height: 26px;
		width:20px;
		background-color: #6899FF;
		color: white;
		text-align: center;
		padding: 10px;
		font-size: 20px;
		font-weight: 10px;
	}
	.tablecontent{
		text-align: center;
	}
</style>
<body>
<%
String origin=request.getParameter("select_origin");
String destination=request.getParameter("select_destination");
String date=request.getParameter("select_date");
OptSql oo=new OptSql();
List<TrainInfo> train_list=oo.get_train_list(date, origin, destination);
request.setAttribute("train_list", train_list);
%>
	<div>
		<img src="title.jpg" width="266" height="64" alt=""/>
		<a href="user.html" id="gotouser" style="float:right;position: absolute;top: 20px;right:20px;">用户:<%=session.getAttribute("username")%></a>
	</div>
	<a href="needs.jsp" id="back" style="position: absolute;left:20px;top: 100px;">返回</a>
	<div id="needsbar" style="position: absolute;left: 3%;top:130px;border:3px solid #6899FF;width: 90%;height: 80px;padding: 20px;font-size: 20px;">
		出发地:<%=origin %>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;到达地:<%=destination %><br><br>
		出发日期:<%=date %>
	</div>
	<table id="choices" style="position: absolute; left: 3%; top: 282px; width: 90%; height: 46px;" border="1">
		<tr id="tableheadtr" style="background-color: #6899FF">
			<td height="40" class="tablehead">车次号</td>
			<td class="tablehead">出发时刻</td>
			<td class="tablehead">商务座余票</td>
			<td class="tablehead">一等座余票</td>
			<td class="tablehead">二等座余票</td>
		</tr>
		<c:forEach items="${train_list}" var="train">
		<tr id="${train.trainnum}">
			<td class="tablecontent">${train.trainnum}</td>
			<td class="tablecontent">${train.stime}</td>
			<td class="tablecontent">
			<a href="buy.jsp?origin=<%=origin %>&destination=<%=destination %>&date=<%=date %>
			&trainnum=${train.trainnum}&stime=${train.stime}&level=<%="0" %>&leftnum=${train.num00}">
			${train.num00}</a></td>
			<td class="tablecontent">
			<a href="buy.jsp?origin=<%=origin %>&destination=<%=destination %>&date=<%=date %>
			&trainnum=${train.trainnum}&stime=${train.stime}&level=<%="1" %>&leftnum=${train.num01}">
			${train.num01}</a></td>
			<td class="tablecontent">
			<a href="buy.jsp?origin=<%=origin %>&destination=<%=destination %>&date=<%=date %>
			&trainnum=${train.trainnum}&stime=${train.stime}&level=<%="2" %>&leftnum=${train.num02}">
			${train.num02}</a></td>
		</tr>
		</c:forEach>
	</table>
	<%
	oo.close();
	%>
</body>
</html>

确认购买

选择相应车票后,将会出现全部车票信息,点击确认后,才会真正的购买这一车票。
代码在buy.jsp中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="sqlconnect.OptSql" %>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>确认购买</title>
</head>
<style>
	h1{
		font-size: 25px;
		color: #8C570F;
	}
	h2{
		font-size: 20px;
	}
</style>
<body>
<%
String origin=request.getParameter("origin");
String destination=request.getParameter("destination");
String date=request.getParameter("date");
String trainnum=request.getParameter("trainnum");
String stime=request.getParameter("stime");
String strleftnum=request.getParameter("leftnum");
int leftnum=Integer.parseInt(strleftnum);
String level=request.getParameter("level");
int allnum=0;
String seat=null;
System.out.println("level="+level);
if(level.equals("0")){
	allnum=12;
	seat="00-";
}else if(level.equals("1")){
	allnum=20;
	seat="01-";
}else{
	allnum=36;
	seat="02-";
}
int irow=(allnum-leftnum)/4+1;
String row=irow+"";
int icol=(allnum-leftnum)%4;
String col=null;
if(icol==0) col="A";
else if(icol==1) col="B";
else if(icol==2) col="C";
else col="D";
seat=seat+row+col;
System.out.println(seat);
OptSql oo=new OptSql();
int prize=oo.get_prize(level, trainnum);
oo.close();
%>
	<img src="title.jpg" width="266" height="64" alt=""/>
	<div id="maininfo" style="position: absolute;top: 100px;left: 40px;width: 400px;">
		<h1>车票信息</h1>
		<h2>出发地:<%=origin %></h2>
		<h2>到达地:<%=destination %></h2>
		<h2>车次:<%=trainnum %></h2>
		<h2>出发日期:<%=date %></h2>
		<h2>出发时刻:<%=stime %></h2>
		<h2>座位号:<%=seat %></h2>
		<h1>费用:¥<%=prize %></h1>
		<br><br>
		<a href="buyOpt.jsp?date=<%=date %>&trainnum=<%=trainnum %>&seat=<%=seat %>" 
		id="btn" style="position: absolute;left:50px;border:2px solid #D38220; 
		background-color: #D38220;text-decoration: none;">确认付款</a>
	</div>
</body>
</html>

购买成功页面

这个代码将会进行购买车票后的数据库操作,更新数据后会显示购买成功。
代码在buyOpt.jsp中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="sqlconnect.OptSql" %>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>购买成功</title>
</head>
<body>
<%
String sdate=request.getParameter("date");
String trainnum=request.getParameter("trainnum");
String seat=request.getParameter("seat");
String userid=(String)session.getAttribute("userid");
OptSql oo=new OptSql();
oo.insert_ticket(sdate, trainnum, seat, userid);
oo.close();
%>
<h1>恭喜您,购票成功!</h1>
<br>
<h2><a href="user.jsp">去查看</a></h2>
</body>
</html>

然后购买车票的操作就全部结束啦~

回头再看这个自己写的代码,其实对于真实的情况来说肯定差了很远,就是也没有分层啊之类的,但是个人感觉可读性还是可以的,对于需要尽快完成作业的小白来说,还是个不错的选择!

12306购票系统以往文章链接:
【Java+JSP+MySql】12306购票系统(一)项目介绍
【Java+JSP+MySql】12306购票系统(二)数据库
【Java+JSP+MySql】12306购票系统(三)JDBC
【Java+JSP+MySql】12306购票系统(四)登录注册

系列更新结束后会把源代码和相关的文档打包上传成资源。
如果你觉得这篇文章对你有用的话,麻烦点赞,收藏,关注一下。
感谢您的阅读,您的支持是对我最大的鼓励~
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值