# busMap **Repository Path**: chengxubang/bus-map ## Basic Information - **Project Name**: busMap - **Description**: 毕设课设项目-公交路线图java公交站点整理系统springboot整理jsp实现公交路线规划管理 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-01-09 - **Last Updated**: 2021-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README springboot整合jsp,完成公交车站路线图 = 程序有问题就找[程序帮](http://suo.nz/530ijn):QQ1022287044 开发环境: ----- 1. jdk 8 2. intellij idea 3. tomcat 8 4. mysql 5.7 5. maven 3.6 所用技术: ----- 1. springboot 2. jsp 3. 数据静态初始化 项目介绍 ---- 使用springboot整合jsp,在后端写入公交路线名称和详细站点,前端页面可条件查询具体的内容,如公交路线,公交名称,车俩信息等。 运行效果 ---- 前台用户端: - 路线选择  - 路线详情  数据准备: ---- - BusData.txt  准备工作: ----- 1. pom.xml加入jsp模板引擎支持: ```diff org.apache.tomcat.embed tomcat-embed-jasper provided ``` 2. springboot配置jsp ```diff spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp ``` 重要代码: ---- 1. bus数据初始化 ```diff @PostConstruct private void initBusData(){ try{ File file = new File(BusMap.getClass().getResource("/").getPath()); FileReader fileReader = new FileReader(file.getPath()+"/static/BusData.txt","GBK"); //初始化BusData.txt 数据 List readLines = fileReader.readLines(); for(String str:readLines){ if(!"".equals(str)){ String[] data=str.split("#"); String way=data[0]; //几路线 String location=data[1];/ /地名 String[] locations=location.split(","); List list=new ArrayList<>(); for(int i=0;i wayList=new ArrayList<>(); //模糊查询路线 for(String str:BusMap.WayList){ if(str.indexOf(way)>-1){ wayList.add(str); } } if(wayList.size()>0){ request.setAttribute("list", wayList); //模糊搜索出来的路线列表 return "way"; }else{ return "noView"; //没有所选路线 } } } catch (Exception e) { e.printStackTrace(); } return "way"; } ``` 3. 公交车路线站展示 ```diff @RequestMapping("/view") public String view(HttpServletRequest request,String way) { try { List list= BusMap.getBusMap(way); if(list.size()>0){ request.setAttribute("list",list ); //获取总路线 request.setAttribute("firstBus", list.get(0).getLocation()); //第一站 request.setAttribute("lastBus", list.get(list.size()-1).getLocation()); //最后一站 int size = list.size(); size =(size-1)*99; request.setAttribute("size",size); return "view"; } } catch (Exception e) { e.printStackTrace(); } return "noView";//没有对应公交车站 } //前端页面数据渲染 ${firstBus}<----->${lastBus} ( 首/末班车时间:6:00 / 23:00) style="top: ${s.index*100+25}px;" a="1" >${s.index+1} ${list.location} ${list.busNum}辆公交 ``` 项目总结 ---- 1. 项目存放路径最好不要带中文路径,否则可能存在静态busData资源初始化失败 2. 页面时间车站路线所采用时间轴方式展示,长度动态计算,部分浏览器显示可能有点错位 3. 其他后续迭代功能后续开发,敬请关注
${list.busNum}辆公交