基于jsp,JQuery,Servlet,MySQL的小型BBS论坛

来源:互联网 发布:鼠标软件 编辑:程序博客网 时间:2024/04/19 20:16
经过四五天的编写,自己编写的小型BBS论坛基本成型了,主要使用了jsp,JQuery,Servlet以及Mysql等技术,其中还有一些零碎的小技术,比如ajax,EL,JSTL,Jason,css,js,bootstrap框架等等。其实这也算是我几年前梦想的初步实现了。几年前就想做出自己的一个网页,当时一点思绪没有,后来经过几个通宵搞出来自己的一个网站,并且在那以后又建了自己的博客,但是我知道那只是在已经编写好的模板以及已经设计好的后台进行傻瓜式操作,这几天,我算是经历了一次从前端到后台到数据的无数次传输。在自己脑海里烙印下web的初步体系。
论坛页面:(其中除了首页以为每个页面都用if标签来确定当前session中是否有值,然后显示不同页面,如果没有登录那么相关页面就不会显示,并给出登录提示信息)
--首页;里面包含登录模块和最近五次发帖的标题和摘要等信息
--论坛详情页;列表列举了当前数据库里的所有信息,并倒序输出
--个人资料页:根据session值查询数据库显示当前用户的详细资料
--个人资料编辑页:将原来的信息显示到个人资料编辑页,并且编辑后可以保存在数据库,并重新刷新个人资料页
--帖子详情页:根据传送过来的文章id查询数据库,返回此ID对应的文章信息,以及文章id对应的所有评论信息绑定到request中传送到帖子详情页显示。该页面提供评论发布页面,发布后更新到评论数据库
--发帖页面:将页面中输入的主题标题和内容以及当前登录的用户名和当前发布时间存储到帖子数据库中。
--注册页面:注册页面的表单有用户名,密码,确认密码和邮箱,提交时使用jquery验证表单,在注册按钮旁边给出提示信息,验证正确后将数据插入数据库。


项目实现的功能模块:
--C3p0,DButils实现了整个项目的不同数据库的增删改查。
--jquery实现了jsp页面的所有JavaScript的代码,用起来确实比JavaScript直接用dom对象方便,简洁
--EL,JSTL实现的是jsp页面当中的判断语句和循环遍历语句,jsp和html页面其实差别就在这里,jsp实现了网页在前端的动态显示
--Servlet实现的是各种jsp页面和数据库的交互,不断地请求和相应,实现url传参。
--MySQL实现的是city,province,user,userinfo,invitation,review表的数据存储,基本上这些表之间都有外键
--bootstrap框架实现的页面的大致框架,作为没有前端技术的后台编程人员来讲,这是一个很好的工具,可以很好的抠出漂亮的代码
--省市二级联动使用是网上sql文件导入到数据库中,并使用ajax技术异步调用后台servlet程序

大概用到的技术就是上面这些,当然java基础也是很重要的,如果没有之前知识的积累,好多功能也是不能实现的。


BBS论坛尚要完善:
--登录功能的验证,这次是直接跳转到的失败页面或者成功页面,其实可以使用ajax来异步实现登录失败后将登录提示信息直接显示到当前登录页面的适当位置
--注册功能的验证,可以在光标离开用户输入框时,使用ajax到后台servlet查询当前用户名是否已经注册,如果已经注册过就在不刷新注册页面的前提下在注册页面显示提示信息。
--其实还可以在帖子详情页加上收藏,点赞等相应的操作然后存储数据库。
--页面当中的最新文章也没有实现,其实这不是很难,和首页显示前五个主题是一样的
--还有就是个人信息的编辑页面的资料回显问题,省市二级联动的信息尚且不能在编辑页面回显,其实可以在数据库中存储地址字段时,不拼接所有下拉项为字符串类型然后存储,那么就可以在读取时将他们分解,然后设置当前下拉列表应该哪个显示未selected


虽然这次的页面大体上实现了,但是代码的优化还有很大的不足,后面我觉得设计模式需要好好学习,让自己的编程习惯更加良好,写出代码更可以易于维护,让程序解耦,其中最常见的冗余代码就是数据库的各种操作,因为那么多的数据库肯定执行了很多重复的代码。包括前端页面的导航,每个页面需要用的登录模块,最新帖子,下载模块都可以独立出来,让代码的复用性更高。

整个项目和数据库sql文件都在下面,分享给大家,欢迎提出不足和指导。

地址:http://download.csdn.net/detail/zhou_shaowei/9761208

0 0
原创粉丝点击