基于javaweb+mysql的jsp+servlet火车票网上订票系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
前台功能:用户查询车票信息、登录注册、购票、查看已购车票、修改密码等功能。
后台功能:管理员管理、用户管理、火车信息管理、站点信息管理、线路信息管理、车票信息管理、购票信息管理等。
后台:
前台
技术框架
JSP Servlet MySQL JDBC Tomcat CSS JavaScript
基于javaweb+mysql的JSP+Servlet火车票网上订票系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
//设置传输数据编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
HttpSession session=request.getSession();
Object utype=session.getAttribute("utype");
Object userid=session.getAttribute("userid");
JSONObject json=new JSONObject();
if(utype==null||userid==null){
json.put("msg", "请重新登陆");
}else{
String opwd=request.getParameter("opwd");
String npwd=request.getParameter("npwd");
DbConn db=new DbConn();
String sql="";
if("gly".equals(utype.toString())){
sql="select id from userinfo where id="+userid+" and upassword='"+opwd+"'";
}else if("cus".equals(utype.toString())){
sql="select id from cusinfo where id="+userid+" and cpassword='"+opwd+"'";
}
boolean bl=false;
if("".equals(sql)){
json.put("msg", "系统错误01");
}else{
bl=db.checkTrue(sql);
}
if(bl){
if("gly".equals(utype.toString())){
sql="update userinfo set upassword='"+npwd+"' where id="+userid;
}else if("cus".equals(utype.toString())){
sql="update cusinfo set cpassword='"+npwd+"' where id="+userid;
}
int bls=db.deleteOrUpdate(sql);
if(bls>0){
json.put("msg", "修改成功。");
}else{
json.put("msg", "修改失败。");
}
}else{
json.put("msg", "旧密码输入有误");
}
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
HttpSession session=request.getSession();
Object userid =session.getAttribute("userid");
JSONObject json=new JSONObject();
if(userid==null){
json.put("msg", "请登录.");
}else{
String pid=request.getParameter("pid");
if("".equals(pid)||pid==null){
json.put("msg", "error:01");
}else {
DbConn db=new DbConn();
Object cidcard=db.getOnlyOne("select cidcard from cusinfo where id="+userid);
boolean bl=db.insort("insert into dpiao(cidcard,pid,lyflag) values('"+cidcard+"',"+pid+",'待付款')");
String up=request.getParameter("cpassword");
String um=request.getParameter("cname");
String ids=request.getParameter("idi");
ResultSet rs=db.query("select id from cusinfo where cidcard='"+un+"'");
if(rs!=null){
boolean bl=false;
int id=-1;
try {
while(rs.next()){
id=rs.getInt("id");
if(!String.valueOf(id).equals(ids)){
bl=true;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(bl){
json.put("msg", "身份证已注册");
}else{
int bls=db.deleteOrUpdate("update cusinfo set cname='"+um+"', cidcard='"+un+"' ,cpassword='"+up+"' where id="+ids);
if(bls>0){
json.put("msg", "修改成功。");
}else{
json.put("msg", "修改失败");
}
}
}else{
json.put("msg", "操作错误01");
}
}
//火车信息修改
if("traininfo".equals(tname)){
String tnames=request.getParameter("tnames");
String cz=request.getParameter("cz");
String znums=request.getParameter("znums");
String xcnums=request.getParameter("xcnums");
String traintype=request.getParameter("traintype");
String ids=request.getParameter("idi");
ResultSet rs=db.query("select id from traininfo where tname='"+tnames+"'");
if(rs!=null){
boolean bl=false;
int id=-1;
try {
while(rs.next()){
id=rs.getInt("id");
public class RegSvlt extends HttpServlet {
/**
* Constructor of the object.
*/
public RegSvlt() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String rgidcard=request.getParameter("rgidcard");
String rgpassword=request.getParameter("rgpassword");
String rgsname=request.getParameter("rgsname");
JSONObject json =new JSONObject();
DbConn db=new DbConn();
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置传输数据编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String tid=request.getParameter("tid");
JSONObject json=new JSONObject();
if(!"".equals(tid)&&tid!=null){
DbConn db=new DbConn();
ResultSet rs=db.query("select zhandian.* from xianlu,zhandian where xianlu.zdid=zhandian.id and xianlu.tid="+tid);
List<Zhandian> zdlist=FindService.getZhandian(rs);
json.put("msg", 1);
json.put("zdlist", zdlist);
}else{
json.put("msg", 0);
}
PrintWriter out=response.getWriter();
out.print(json.toString());
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
public class CkSvlt extends HttpServlet {
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置传输数据编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
HttpSession session=request.getSession();
//获取当前登录用户信息
Object utype=session.getAttribute("utype");
Object userid=session.getAttribute("userid");
if(utype==null||userid==null){
return;
}
//获取前台数据
String flgs=request.getParameter("flgs");
String tname=request.getParameter("tname");
//定义sql语句变量
String sql="";
//创建配置文件操作对象
HandleProperties hp=new HandleProperties(session,utype+""+userid);
//创建数据库操作对象
DbConn db=new DbConn();
//管理员信息管理初始化
if("admin".equals(tname)){
if("1".equals(flgs)){
sql="select * from userinfo";
hp.setValue("sql", sql);
}else{
sql=hp.readValue("sql");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置传输数据编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
HttpSession session=request.getSession();
//获取使用者信息
Object userid=session.getAttribute("userid");
Object utype=session.getAttribute("utype");
//创建json对象
JSONObject json=new JSONObject();
String sql=request.getParameter("sql");
if(userid==null||utype==null){
json.put("msg", "请重新登陆");
}else{
HandleProperties hp=new HandleProperties(session,utype+""+userid);
hp.setValue("sql", sql);
json.put("msg", 1);
}
PrintWriter out=response.getWriter();
out.print(json.toString());
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String rgidcard=request.getParameter("rgidcard");
String rgpassword=request.getParameter("rgpassword");
String rgsname=request.getParameter("rgsname");
JSONObject json =new JSONObject();
DbConn db=new DbConn();
if(db.checkTrue("select id from cusinfo where cidcard='"+rgidcard+"'")){
json.put("msg", "身份证已注册");
}else{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
boolean bl=db.insort("insert into cusinfo(cname,cidcard,cpassword,intime) values('"+rgsname+"','"+rgidcard+"','"+rgpassword+"','"+sdf.format(new Date())+"')");
if(!bl){
json.put("msg", "注册成功");
}else{
json.put("msg", "error:02");
}
}
}else{
json.put("msg", "error:01");
}
json.put("msg", "删除失败");
}
}
}
//站点信息删除
if("zhandian".equals(tname)){
String ids=request.getParameter("idi");
if(db.checkTrue("select id from xianlu where zdid="+ids)){
json.put("msg", "该站点有线路信息存在不能删除.");
}else{
int bls=db.deleteOrUpdate("delete from zhandian where id="+ids);
if(bls>0){
json.put("msg", 1);
}else{
json.put("msg", "删除失败");
}
}
}
//线路信息删除
if("xianlu".equals(tname)){
String zdid=request.getParameter("zdid");
String tid=request.getParameter("tid");
int bls=db.deleteOrUpdate("delete from xianlu where zdid="+zdid+" and tid="+tid);
if(bls>0){
json.put("msg", 1);
}else{
json.put("msg", "删除失败");
}
}
//车票信息删除
if("piao".equals(tname)){
String id=request.getParameter("idi");
int bls=db.deleteOrUpdate("delete from piao where id="+id);
if(bls>0){
json.put("msg", 1);
}else{
json.put("msg", "删除失败");
}
}
PrintWriter out=response.getWriter();
out.print(json.toString());
out.flush();
out.close();
}
*/
public void init() throws ServletException {
// Put your code here
}
}
public class Add extends HttpServlet {
/**
* Constructor of the object.
*/
public Add() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
//设置传输数据编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获取前台传送的变量,账号,密码和用户类型
String uname=request.getParameter("uname");
String upassword=request.getParameter("upassword");
String utype=request.getParameter("utype");
//创建数据库操作对象
DbConn db=new DbConn();
//sql语句变量定义
String sql="";
int id=-1;
String usname="";
if("gly".equals(utype)){
sql="select id from userinfo where uname='"+uname+"' and upassword='"+upassword+"'";
}else if("cus".equals(utype)){
sql="select id,cname from cusinfo where cidcard='"+uname+"' and cpassword='"+upassword+"'";
}
JSONObject json=new JSONObject();
if("".equals(sql)){
json.put("msg", "系统错误01.");
}else{
ResultSet rs=db.query(sql);
if(rs==null){
json.put("msg", "系统错误02");
}else{
try {
while(rs.next()){
id=rs.getInt("id");
if("cus".equals(utype)){
usname=rs.getString("cname");
}else if("gly".equals(utype)){
usname=uname;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
if(rs!=null){
boolean bl=false;
int id=-1;
try {
while(rs.next()){
id=rs.getInt("id");
if(!String.valueOf(id).equals(ids)){
bl=true;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(bl){
json.put("msg", "身份证已注册");
}else{
int bls=db.deleteOrUpdate("update cusinfo set cname='"+um+"', cidcard='"+un+"' ,cpassword='"+up+"' where id="+ids);
if(bls>0){
json.put("msg", "修改成功。");
}else{
json.put("msg", "修改失败");
}
}
}else{
json.put("msg", "操作错误01");
}
}
//火车信息修改
if("traininfo".equals(tname)){
String tnames=request.getParameter("tnames");
String cz=request.getParameter("cz");
String znums=request.getParameter("znums");
String xcnums=request.getParameter("xcnums");
String traintype=request.getParameter("traintype");
String ids=request.getParameter("idi");
ResultSet rs=db.query("select id from traininfo where tname='"+tnames+"'");
if(rs!=null){
boolean bl=false;
int id=-1;
try {
int bls=db.deleteOrUpdate("delete from dpiao where id="+id);
if(bls>0){
json.put("dt", 1);
json.put("msg", "退票成功。");
}else{
json.put("dt", 0);
json.put("msg", "tperror:01");
}
}else if("del".equals(flgs)){
int bls=db.deleteOrUpdate("delete from dpiao where id="+id);
if(bls>0){
json.put("dt", 1);
json.put("msg", "删除成功。");
}else{
json.put("dt", 0);
json.put("msg", "tperror:01");
}
}else{
json.put("dt", 0);
}
PrintWriter out = response.getWriter();
out.print(json.toString());
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
}
//线路信息初始化
if("initxl".equals(tname)){
if("1".equals(flgs)){
sql="select * from traininfo";
hp.setValue("sql", sql);
}else{
sql=hp.readValue("sql");
}
List<Xianlu> xllist=new ArrayList();
DbConn db2=new DbConn();
ResultSet rs=db.query(sql);
List<Traininfo> tlist=FindService.getTraininfo(rs);
Iterator<Traininfo> it=tlist.iterator();
while(it.hasNext()){
Traininfo t=it.next();
Xianlu xl=new Xianlu();
xl.setTid(t.getId());
xl.setTname(t.getTname());
ResultSet rs2=db2.query("select zhandian.*,xh from xianlu,zhandian where xianlu.zdid=zhandian.id and xianlu.tid="+t.getId()+" order by xh");
List<Zhandian> zdlist=FindService.getZhandian(rs2);
xl.setZdlist(zdlist);
xllist.add(xl);
}
request.setAttribute("alist", xllist);
request.getRequestDispatcher("/admin/initxianlu.jsp").forward(request, response);
return;
}
//线路信息管理初始化
if("xianlu".equals(tname)){
String ids=request.getParameter("tid");
if("1".equals(flgs)){
sql="select zhandian.*,xh from zhandian,xianlu where zhandian.id=xianlu.zdid and xianlu.tid="+ids+" order by xh";
hp.setValue("sql", sql);
}else{
sql=hp.readValue("sql");
}
ResultSet rs=db.query(sql);
List<Zhandian> zlist=FindService.getZhandians(rs);
request.setAttribute("alist", zlist);
DbConn db2=new DbConn();
ResultSet rs2=db2.query("select * from zhandian where id not in(select zdid from xianlu where tid="+ids+")");
List<Zhandian> zdlist=FindService.getZhandian(rs2);
//车票信息修改
if("piao".equals(tname)){
String tid=request.getParameter("tid");
String szdid=request.getParameter("szdid");
String ezdid=request.getParameter("ezdid");
String stime=request.getParameter("stime");
String pval=request.getParameter("pval");
String ptype=request.getParameter("ptype");
String cxzh=request.getParameter("cxzh");
String yxsj=request.getParameter("yxsj");
String ids=request.getParameter("idi");
int bls=db.deleteOrUpdate("update piao set yxsj='"+yxsj+"', cxzh='"+cxzh+"' ,ptype='"+ptype+"',pval="+pval+", stime='"+stime+"', tid="+tid+",szdid="+szdid+",ezdid="+ezdid+" where id="+ids);
if(bls>0){
json.put("msg", "修改成功。");
}else{
json.put("msg", "修改失败");
}
}
PrintWriter out=response.getWriter();
out.print(json.toString());
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
boolean bl=false;
int id=-1;
try {
while(rs.next()){
id=rs.getInt("id");
if(!String.valueOf(id).equals(ids)){
bl=true;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(bl){
json.put("msg", "站点名称已存在");
}else{
int bls=db.deleteOrUpdate("update zhandian set zdname='"+zdname+"' where id="+ids);
if(bls>0){
json.put("msg", "修改成功。");
}else{
json.put("msg", "修改失败");
}
}
}else{
json.put("msg", "操作错误01");
}
}
//车票信息修改
if("piao".equals(tname)){
String tid=request.getParameter("tid");
String szdid=request.getParameter("szdid");
String ezdid=request.getParameter("ezdid");
String stime=request.getParameter("stime");
String pval=request.getParameter("pval");
String ptype=request.getParameter("ptype");
String cxzh=request.getParameter("cxzh");
String yxsj=request.getParameter("yxsj");
String ids=request.getParameter("idi");
int bls=db.deleteOrUpdate("update piao set yxsj='"+yxsj+"', cxzh='"+cxzh+"' ,ptype='"+ptype+"',pval="+pval+", stime='"+stime+"', tid="+tid+",szdid="+szdid+",ezdid="+ezdid+" where id="+ids);
if(bls>0){
json.put("msg", "修改成功。");
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String id=request.getParameter("idi");
String flgs=request.getParameter("flgs");
JSONObject json=new JSONObject();
DbConn db=new DbConn();
if("fk".equals(flgs)){
int bls=db.deleteOrUpdate("update dpiao set lyflag='已付款' where id="+id);
if(bls>0){
json.put("dt", 1);
json.put("msg", "付款成功。");
}else{
json.put("dt", 0);
json.put("msg", "fkerror:01");
}
}else if("gq".equals(flgs)){//改签
int bls=db.deleteOrUpdate("delete from dpiao where id="+id);
if(bls>0){
json.put("dt", 2);
json.put("msg", "改签成功,请重新选票订票。");
}else{
json.put("dt", 0);
json.put("msg", "fkerror:01");
}
}else if("lp".equals(flgs)){
int bls=db.deleteOrUpdate("update dpiao set lyflag='已领票' where id="+id);
if(bls>0){
json.put("dt", 1);
* Constructor of the object.
*/
public DpListSvlt() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置传输数据编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");