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


    一、系统简介


    本项目采用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多张
    是否有分页:有分页

    项目截图

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    相关代码

    登录

    1. <%@ page language="java" contentType="text/html; charset=utf-8"
    2. pageEncoding="utf-8"%>
    3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    4. <%
    5. String path = request.getContextPath();
    6. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
    7. %>
    8. html>
    9. <html>
    10. <head>
    11. <meta charset="utf-8">
    12. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    13. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    14. <title>公交线路查询系统title>
    15. <link href="resource/css/bootstrap.min.css" rel="stylesheet">
    16. <link href="resource/css/a3common.css" rel="stylesheet">
    17. <link rel="stylesheet" href="resource/css/login.css">
    18. <link rel="stylesheet" href="resource/css/font_43459_lbtux0zjkr6yldi.css">
    19. head>
    20. <div id="main" class="main-warp" style="height: 100%;">
    21. <div class="main-content">
    22. <div class="formDiv">
    23. <h2 class="text-center">登录h2>
    24. <form id="loginForm" method="post">
    25. <div class="dataform" >
    26. <div class="input-warp gap">
    27. <span class="input-icon iconfont icon-yonghu1">span>
    28. <input id="userName" name="userName" type="text" class="inputs" placeholder="手机号码或登录账号" maxlength="64">
    29. div>
    30. <span id="userNameErr" style="color:red" >${msg}span>
    31. <div class="input-warp gap">
    32. <span class="input-icon iconfont icon-baomi">span>
    33. <input class="inputs" type="password" name="password" placeholder="密码" id="password" maxlength="20">
    34. div>
    35. <div class=" gap">
    36. <span class="input-icon ">角色span>
    37. <select name="type" class="select">
    38. <option value="1">管理员option>
    39. <option value="2">司机option>
    40. <option value="3">乘客option>
    41. select>
    42. div>
    43. <div class="btn-warp gap" >
    44. <div class="text-center" >
    45. <button type="button" id="btnLogin" class="btn btn-block lgbtn blue">登录button>
    46. div>
    47. div>
    48. <div class="gap">
    49. <div class="pull-right" style="margin-top: -7px">
    50. |<a type="button" id ="addUser" class="link">新乘客注册a>div>
    51. <div class="pretty-box">
    52. div>
    53. div>
    54. div>
    55. form>
    56. div>
    57. div>
    58. div>
    59. <style>
    60. .copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;}
    61. style>
    62. <div class="copyrights" id="links20210126">
    63. Collect from <a href="http://www.cssmoban.com/" title="网站模板">模板之家a>
    64. <a href="https://www.chazidian.com/" title="查字典">查字典a>
    65. div>
    66. <script src="layui/jquery-1.9.1.min.js">script>
    67. <script src="resource/component/layui/layui.js">script>
    68. <script src="resource/component/pear/pear.js">script>
    69. <script>
    70. layui.use(['layer', 'form','jquery'], function(){
    71. var form = layui.form,
    72. layer = layui.layer,
    73. $= layui.jquery;
    74. form.render();//这句一定要加,占坑
    75. $('#addUser').on("click",function(e){
    76. layer.open({
    77. //调整弹框的大小
    78. area:['500px','800px'],
    79. shadeClose:true,//点击旁边地方自动关闭
    80. //动画
    81. anim:2,
    82. //弹出层的基本类型
    83. type: 2,
    84. title: '注册乘客',
    85. //刚才定义的弹窗页面
    86. content: 'UserServlet?action=toRegister', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
    87. });
    88. });
    89. $("#btnLogin").on("click", function() {
    90. var userName = $("#userName").val().trim(); // trim()去除空格
    91. var password = $("#password").val().trim();
    92. var type = $("#type").val();
    93. if(userName == ""){
    94. layer.msg('用户名或者手机号不能为空!');
    95. return false;
    96. }
    97. if(password == ""){
    98. layer.msg('密码不能为空!');
    99. return false;
    100. }
    101. if(type == ""){
    102. layer.msg('请选择角色!');
    103. return false;
    104. }
    105. $.ajax({
    106. cache : true,
    107. type : "post",
    108. url : "LoginServlet?action=login",
    109. data : $("#loginForm").serialize(),
    110. async : false,
    111. success : function(e) {
    112. if (e == 'yes') {
    113. alert("登录成功!");
    114. window.parent.location.href = "LoginServlet?action=toMain";
    115. } else {
    116. alert("登录失败,账号或者密码错误!");
    117. }
    118. }
    119. })
    120. });
    121. setTimeout(function(){ $("#userNameErr").html("")},3000);
    122. });
    123. script>
    124. body>
    125. html>

     

    1. protected void login(HttpServletRequest request, HttpServletResponse response) throws Exception {//跳转到添加用户界�?
    2. String userName = request.getParameter("userName");
    3. String password = request.getParameter("password");
    4. String type = request.getParameter("type");
    5. String message = "no";
    6. if(type != null && type.equals("1")){//admin
    7. Admin admin = service.selectAdmin(userName,password);
    8. if (admin != null) {
    9. message = "yes";
    10. request.getSession().setAttribute("flag",1);
    11. request.getSession().setAttribute("admin",admin);
    12. }
    13. }else if(type != null && type.equals("2")){//司机
    14. Driver driver = driverService.selectDriver(userName,password);
    15. if (driver != null) {
    16. message = "yes";
    17. request.getSession().setAttribute("flag",2);
    18. request.getSession().setAttribute("driver",driver);
    19. }
    20. }else if(type != null && type.equals("3")){//乘客
    21. User user = userService.selectUser(userName,password);
    22. if (user != null) {
    23. message = "yes";
    24. request.getSession().setAttribute("flag",3);
    25. request.getSession().setAttribute("user",user);
    26. }
    27. }
    28. response.getWriter().print(message);
    29. }

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

  • 相关阅读:
    Kafka 厉害的几点!
    项目(day02网站流量指标统计)
    html+css+javascript打造网页内容浮动导航菜单
    C++中的bind与function
    深入解析Nacos:服务发现、配置管理与更多特性解析
    Hadoop生态圈中的Hive数据仓库技术
    SpringBoot面试题(五十道)
    ubuntu 22.04 图文安装
    【国产MCU】-CH32V307-独立看门狗(IWDG)
    2022年还在做手动测试?是该好好反思了
  • 原文地址:https://blog.csdn.net/qq_43485489/article/details/126263093