基于javaweb的公交线路查询系统

50 篇文章 3 订阅

一、系统简介


本项目采用eclipse工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。

系统一共分为3个角色分别是:管理员,司机,乘客

二、模块简介

管理员

1、登录

2、个人信息管理

3、统计管理

4、查看建议

5、乘客管理

6、司机管理

7、公告管理

8、站点管理

9、线路管理

司机

1、登录

2、个人信息管理

3、公告管理

4、站点管理

5、线路管理

乘客

1、登录,注册

2、个人信息管理

3、提建议

4、查看公告

5、查看站点

6、查看线路

7、查看司机

难度等级:✩✩✩
用户类型:3角色(管理员,司机,乘客)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:HTML、CSS、JS、JQuery等
后端技术:JSP、servlet框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
数  据  库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:7张表
JSP页面数量:20多张
是否有分页:有分页

项目截图

相关代码

登录

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
	     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
	
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>    
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
	<title>公交线路查询系统</title>
    <link href="resource/css/bootstrap.min.css" rel="stylesheet">
    <link href="resource/css/a3common.css" rel="stylesheet">
    <link rel="stylesheet" href="resource/css/login.css">
    <link rel="stylesheet" href="resource/css/font_43459_lbtux0zjkr6yldi.css">
</head>



    <div id="main" class="main-warp" style="height: 100%;">
        <div class="main-content">
            <div class="formDiv">
                
                    <h2 class="text-center">登录</h2>
                
                
                <form id="loginForm"   method="post">
                    <div class="dataform" >
                        <div class="input-warp gap">
                            <span class="input-icon iconfont icon-yonghu1"></span>
                            <input id="userName" name="userName" type="text" class="inputs" placeholder="手机号码或登录账号" maxlength="64">
                        </div>
                       
                            <span id="userNameErr" style="color:red" >${msg}</span>
                       

                        <div class="input-warp gap">
                            <span class="input-icon iconfont icon-baomi"></span>
                            <input class="inputs" type="password" name="password" placeholder="密码" id="password" maxlength="20">
                        </div>
                        
                                  <div class=" gap">
				                        <span class="input-icon ">角色</span>
				                        <select name="type" class="select">
				                            <option value="1">管理员</option>
				                            <option value="2">司机</option>
				                            <option value="3">乘客</option>
				                        </select>
				                
				                    </div>
				                    
				                    
                          
                        <div class="btn-warp gap" > 
                            <div class="text-center" >                               

                                <button type="button" id="btnLogin" class="btn btn-block lgbtn blue">登录</button>
                            </div>
                        </div>
                        
                          <div class="gap">
                                <div class="pull-right" style="margin-top: -7px">
                              |<a type="button" id ="addUser" class="link">新乘客注册</a></div>
                            <div class="pretty-box">
                            </div>
                        </div>
                        


                    </div>
                </form>

            </div>
        </div>
    </div>

<style>
.copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;}
</style>
<div class="copyrights" id="links20210126">
	Collect from <a href="http://www.cssmoban.com/"  title="网站模板">模板之家</a>
	<a href="https://www.chazidian.com/"  title="查字典">查字典</a>
</div>
<script src="layui/jquery-1.9.1.min.js"></script>


<script src="resource/component/layui/layui.js"></script>
		<script src="resource/component/pear/pear.js"></script>
		<script>
		layui.use(['layer', 'form','jquery'], function(){
			var form = layui.form,
			 layer = layui.layer,
			 $= layui.jquery;
			 form.render();//这句一定要加,占坑
			 
			 
			 $('#addUser').on("click",function(e){
			  	  layer.open({
			  	      //调整弹框的大小
			  		  area:['500px','800px'],
			  		  shadeClose:true,//点击旁边地方自动关闭
			  		  //动画
			  		  anim:2,
			  		  //弹出层的基本类型
			  		  type: 2, 
			  		  title: '注册乘客',
			  		  //刚才定义的弹窗页面
			  		  content: 'UserServlet?action=toRegister', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
			  				
			  	  });
			    });
			 
			 
		   
		$("#btnLogin").on("click", function() {
		    var userName = $("#userName").val().trim(); // trim()去除空格
		    var password = $("#password").val().trim();
		    var type = $("#type").val();
		    
		    
		    if(userName == ""){
		    	layer.msg('用户名或者手机号不能为空!');
		    	return false;
		    }
		    if(password == ""){
		    	layer.msg('密码不能为空!');
		    	return false;
		    }
		    if(type == ""){
		    	layer.msg('请选择角色!');
		    	return false;
		    }
		    
		    $.ajax({
				cache : true,
				type : "post",
				url : "LoginServlet?action=login",
				data : $("#loginForm").serialize(),
				async : false,
				success : function(e) {
					if (e == 'yes') {
						alert("登录成功!");
						window.parent.location.href = "LoginServlet?action=toMain";
					} else {
						alert("登录失败,账号或者密码错误!");
					}
				}
			})

		});

		setTimeout(function(){ $("#userNameErr").html("")},3000);
		});
</script>
</body>
</html>

protected void login(HttpServletRequest request, HttpServletResponse response) throws Exception {//跳转到添加用户界�?
	    String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        String type = request.getParameter("type");
        String message = "no";
	  if(type != null && type.equals("1")){//admin
	    	Admin admin = service.selectAdmin(userName,password);
	    	 if (admin != null) {
	    		   message = "yes";
	    		   request.getSession().setAttribute("flag",1);
	               request.getSession().setAttribute("admin",admin);
             }
	    	 
	    }else if(type != null && type.equals("2")){//司机
	    	Driver driver = driverService.selectDriver(userName,password);
	    	 if (driver != null) {
	    		   message = "yes";
	    		   request.getSession().setAttribute("flag",2);
	               request.getSession().setAttribute("driver",driver);
            }
	    }else if(type != null && type.equals("3")){//乘客
	    	User user = userService.selectUser(userName,password);
	    	 if (user != null) {
	    		   message = "yes";
	    		   request.getSession().setAttribute("flag",3);
	               request.getSession().setAttribute("user",user);
           }
	    }
	  response.getWriter().print(message);
	}

 其他相关代码都是类似的,主要是前端jsp和后端servlet交互比较重要!!!非开源!!!!!!
其他模块代码都是类似的,此项目适合初学者学习借鉴,项目整体比较简单,可用作于期末考核,课设,毕设等方面的作业!!!!!
喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!
感谢  = v =

项目截图中的数据,很多是用来测试的,需要自行添加合适的数据图片!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码盗_java_bishe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值