韩庆亮
摘要:随着因特网的普及和人们使用网络能力的提高,越来越多的人开始在网上为自己的出行寻找一个更加安全、便捷、省钱的途径。因此拼车的方式应运而生,而且受到了人们的普遍欢迎。那么一种能够提供及时、有效、真实拼车信息的系统是很有现实意义的。通过对人们需求的分析,设计了此拼车系统。系统主要作用是为用户提供一个查询拼车信息和发布拼车信息的平台,满足用户在实际出行中的拼车需要。
关键词:拼车;路线查询;jsp;mysql;MyEclipse
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)19-0064-03
The Design and Realization of Carpool System Based on Web
HAN Qing-liang
(Shan Dong University of Science and Technology, Qingdao 266590, China)
Abstract: Along with the popularization of the Internet and the popularization of people's application of the network, more and more people are starting to find a way which is safe、convenient and more cheaper.So the carpool mode emerge as the times require,and it is welcomed by the most of the people.So it is very practical to provide a timely, effective and real information system.Therefore, by understanding and Analysis on the needs of the people, the full investigation of the function of the existing carpool system and the design the carpool system. This system mainly provide a platform which people could query and publish carpool information.To satisfy the users need in the actual environment.
Key words: carpool; query; jsp; mysqL; MyEclipse
1 背景
在我国,交通的拥堵一直是一个困扰我国发展的大问题,北京城的堵车问题十分严重,对此都深有体会。其他很多城市比如武汉,西安等地,堵车的问题也很严重。建设和优化交通路线虽然可以在一定程度上缓解交通的压力,但是这不能从根本上解决交通问题。问题的根源是:人们拥有的汽车数量的急剧增加。目前,网络平台的发展以惊人的速度在发展,现在人们能够利用网络做的事情越来越多。外出的选择作为人们生活中很重要的一个部分,自然也要充分的利用网络的资源为自己服务。人们的出行总是倾向于更加的省钱和节省时间。而拼车正好可以满足人们的这类需要。那么一个高效易用的拼车平台就显得尤为重要。此拼车系统的设计充分考虑到了用户的心理需求。用户可以方便地使用此系统查询拼车信息,发布拼车信息以及使用论坛的功能参与拼车讨论。管理员可以及时地对用户和拼车路线管理。极大地方便了人们旅游或者上下班的出行选择。同时也在一定程度上缓解了交通的压力和减轻了环境污染。
2 开发环境和技术介绍
2.1 MyEclipse
MyEclipse为数据库和有关于JavaEE项目开发以及发布提供了很大的方便。作为一个功能强大的插件集合,支持十分广泛。开发界面整洁。同时使用MyEclipse与Tomcat集成后,发布和测试所开发的项目更加方便简洁。
2.2 MySql
MySql数据库是目前比较流行的数据库之一。该数据库可以管理存储任何形式的数据,且利用SQL语句可以很容易的对数据库中的数据进行增加、修改、删除和查询的操作。同时,MySql数据库在小型应用的开发中也比较流行。且MySql为开源数据库,会节约一部分开发成本。
2.3 JSP
由JSP开发的Web应用程序是可以跨平台运行的,这也是目前JSP技术比较流行的重要原因之一。JSP技术是和传统的HTML的语言相结合,在HTML的标记中插入Java代码以实现相应的功能。开发过程相对简便高效和适用性强。
3 拼车系统设计
3.1 系统功能分析
3.1.1 前台功能模块
1)用户功能:A.注册:用户在注册页面进行注册时,如果相应的输入框为空的话,弹出对话框提示用户输入相应的内容。在用户输入注册信息后,将用户名和数据库中已经存在的用户名查找。如果不重名则注册成功,否则注册失败。B.登录:用户在登录页面输入自己的登录信息。首先根据用户名查找对应的密码,如果查找出的密码和用户输入的密码相同则登录成功,否则登录失败。
2)拼车信息:A.长途拼车信息的查询:用户在输入路线的起始地和目的地之后,将符合条件的全部路线显示出来,并且以分页的形式显示。用户可以输入日期进行模糊查询,查询的结果分页显示。用户也可以输入路线的起始地和目的地进行精确路线信息查询。B.上下班拼车信息的查询:用户可以查询某个城市所有的拼车路线,也可以查询城市中确定的起始地和目的地的拼车路线。查询的结果均以分页的形式显示。
3)拼车论坛:A.用户进入论坛的模块后,可以查看论坛中所有的帖子,并且对自己感兴趣的帖子进行回复。用户可以修改自己发布过的帖子,修改帖子,删除帖子。在删除帖子的时候,要将属于该帖子的所有回复一并删除。用户可以发表帖子。B. 实名认证:用户为了提高自己的信用等级,可以向指定的邮箱发送邮件。
3.1.2 后台管理模块
1)管理员登陆:管理员输入管理员的用户名和登录密码后,首先在数据库中取出对应管理员名字的密码,如果密码匹配则登录成功,否则登录失败。
2)管理用户:管理员可以通过用户名查询用户的信息,且可以删除该用户。管理员可以修改实名审核成功的用户。将其用户信用等级改为实名认证。用户的列表在此是分页显示。
3)管理长途拼车信息:管理员可以通过输入路线的起始地和目的地查询出该路线的详细信息并执行删除操作。
4)管理上下班拼车信息:管理员可以通过输入上下班路线的起始地和目的地查询路线的信息并执行删除的操作。路线信息是分页显示的。
5)管理帖子信息块,管理员可以通过主题查询用户发布过的帖子,并且对一些内容不当的帖子进行删除操作。
3.2 系统性能分析
3.2.1 系统精度
用户进行注册登录时,用户名存在情况下应该注册失败,代码不能因此抛出异常。且在注册时如果用户没有输入注册信息,应该显示提示信息,提醒用户输入。在发布拼车信息时,发布的信息为空则不能发布。用户在使用论坛功能时,当用户删除自己发布过的某一条帖子的时候,应该将属于该帖子的所有的回复帖子一并删除,以防止数据库中出现大量的冗余数据。在用户查找长途拼车信息或者上下班拼车信息时,数据库中如果查找不到符合条件的路线信息,代码不能因此抛出异常。
3.2.2 安全性
用户进入网站,在未登录的情况下可以浏览长途拼车信息,上下班拼车信息,拼车指南,并且可以浏览相应的详细信息。当用户要发布拼车信息的时候,必须是注册过的用户。这可以通过session的技术实现,当用户注册过且登录了,将为了该用户保留一段时间的登录状态。用户可以看到网站的所有版块。这在一定程度上保障了信息的安全性。
在用户登录的验证方式上,应该能够有效地避免SQL的注入漏洞,用户输入用户名和密码后,应该根据用户名从数据库中取出对应的密码,如果与用户输入的密码一致,则登录成功,这样可以防止利用SQL注入漏洞的网站的非法登陆者。
3.3 数据库分析
在拼车系统中,一共有6个实体,分别是用户、管理员,长途拼车路线信息,上线班拼车路线信息,帖子,回复的帖子。具体关系为:用户可以发布、查询、删除、修改长途和上下班拼车信息,以及发布,回复帖子。管理员可以查询、修改,删除用户以及拼车信息。
3.4 系统表设计
数据库共定义了6个数据表,分别是:line(长途拼车信息表),shortline(上下班拼车信息表),user(用户信息表),topic(帖子信息表),reply(回复帖子信息表),admin(管理员信息表)。
以长途路线表为例:
长途路线信息表中的字段包括:lineId(长途路线信息的唯一标识),lineStart(长途路线的出发地),lineEnd(长途路线目的地),startTime(该条路线的出发时间),journey(该条路线的里程数),cost(该条路线的费用),totalNum(能过容纳的总人数),currentNum(目前已经加入的人数),carType(车的类型),releaseTime(发布的时间),releasePeople(发布人)
4 详细设计与代码实现
B/S的模式相比较于C/S的模式来说有更好的灵活性,有效地规避了后者对客户端的依赖程度,系统分为前台和后台,其中前台和后台又分为不同的模块分别进行开发。在MVC模式中,相应的各层之间分工十分明确,用JSP的技术实现表现层的应用。用Servlet技术处理页面传递的动作参数,代码层与页面层相分离,可以有效地提高代码的重复利用率和使系统的扩展性得到提高。
4.1 重要代码
数据库连接模块代码:
该部分的数据库连接代码为此网站访问数据库的公用代码,例如:index.jsp页面中使用include指令嵌入的right.jsp页面,该页面的功能是要显示一组长途拼车信息或者上下班拼车信息。在该页面中定义数据的实例对象去操作数据库,从数据库的长途拼车信息表或者上下班拼车信息表取出对应的一组路线信息,并在该页面中展示出来。代码如下所示:
public Connection getConn() throws ClassNotFoundException
{
Connection ct=null;
try{
Class.forName("com.mysql.jdbc.Driver");
ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/ e?useUnicode=true&characterEncoding=GBK","root","111111");
}catch(Exception e)
{
e.printStackTrace();
}
return ct;
}
5 结束语
目前我国的拼车也存在很多的问题。管理是一方面,最重要的一方面是拼车信息还不够流通,也就是说拼车人查找拼车信息以及找到可靠的拼车伙伴还是比较困难。还有很多的人依然使用QQ群或者发传单的方式来发布拼车的信息。这对于拼车在我国的普及不利。解决的办法是提供更好地信息交流平台。一个好的交流平台不仅能够带动人们寻找拼车信息的积极性,而且还可以促进人们共享自己所拥有资源的积极性,比如说可以更方便地把自己的拼车意愿发布到拼车平台上,能够方便地找到有同样拼车意愿的人们。
参考文献:
[1] 郭克华. Java Web 开发与应用[M]. 北京: 清华大学出版社, 2012.
[2] 朱雪琴. Java Web项目开发案例导航[M]. 北京: 电子工业出版社, 2012.
[3] 李兴华. Java Web开发实战经典[M]. 北京: 清华大学出版社, 2010.
[4] 张跃平, 耿祥义. Jsp程序设计[M]. 北京: 清华大学出版社, 2009.
[5] 张孝祥. Java Web 开发内幕---高级特性[M]. 北京: 清华大学出版社, 2007.
[6] 史斌星. Java基础编程贯通教程[M]. 北京: 清华大学出版社, 2005.
[7] Zhang Dongmei, Zhou Yingcao, Zhao Qing, et al. ANYDRILL drilling engineering design and technology software [J]. Oil Forum, 2012(01): 17-19.
[8] Li Dawei. Situation analysis and discussion on development of the professional application software in PETROCHINA[J]. Computer Applications of Petroleum, 2008, 60(4):2-5.