Struts2实现的吊炸天留言板系统(包含完整源+mysql数据库+bootstraps3)源码以及课程报告下载地址!

版权声明:本文为博主原创文章,转载的时候记得注明出处哦~~~ https://blog.csdn.net/baidu_31657889/article/details/53536346

javaweb高级编程的课程设计,留言板系统


的课程报告,由于在评论区竟然有小伙伴


说我源码有很多错误,还给了我很低的评


分,我想这是对大家和我是不公平的!我


真的是无语,所以把课程报告贴出来让大


家看看,源码是没问题的!


下面贴出来源码下载地址:http://download.csdn.net/detail/baidu_31657889/9692685

以及课程报告下载地址:http://download.csdn.net/detail/baidu_31657889/9692689

还有就是没积分积分不够的小伙伴完全可以加我的qq272273581免费赠送的~互相学习


JavaWeb高级编程

 

 

 

课程报告

 


 

 

一、需求分析

1)数据库设计(对于系统的功能进行数据库设计)

2)用户登录界面以及注册设计

3)按照留言的时间的先后顺序进行留言排序以及分页

4)对于留言评论界面的设计

5)对于游客访问留言界面的处理,以及游客登录进行留言的时候进行设计

6)用户登录之后对于留言的查看以及对自己留言的管理

7)设置最热以及最新留言的显示(程序启动的时候把数据直接放在application中)

8)留言显示的页面跳转管理

9)用bootstrap进行页面设计,以及css布局

二、系统结构设计

1)功能模块:

页面(java代码)

功能

login.jsp

用户登录

register.jsp

用户注册

mainTemp.jsp

留言版主页面的展示

messageTemp.jsp

单个留言的展示

messageSave.jsp

留言的增加以及修改

delete.action

留言的删除实现

commentAction.java

增加留言

panduan.action

该用户是否被注册过的异步校验

PageBean.java

分页实体的设计

NavUtil.java

导航条的设计

 

2)页面介绍

登录界面 login.jsp


登录界面主要是对用户的用户名和密码进行判断的界面,加上在session中放入的验证码进行对比,login.action进行判断用户名及密码是否正确,判断验证码是否正确,以及注册游客登录的展示

 

注册页面 register.jsp




注册页面对于用户名进行ajax异步判断是否用户名已经注册或者可以使用(见下图)

然后进行不为空判断,最后进行提交。

 

主页面 mainTemp.jsp


主页面分为由四个页面构成,头页面,主页面,友情链接界面以及尾页面,头页面显示的是用户信息和‘自己留言’以及‘我要留言’,如果是游客登录的情况,显示登录注册以及游客留言;主页面是用bootstrap3进行分列表显示,左边是主菜单栏,对留言的查看,包括对自己留言的查看(当然游客登录的时候是没有的),以及最热最新留言查看的栏目,右边就是对留言的一个简单的展示(留言时间以及留言标题截取显示);友情链接就是显示了几个链接,当然可以设置在数据库中进行遍历显示,时间关系就没建表;尾页面展示的是一个版权信息。

 

留言展示以及修改删除页面MessageTemp.jsp


在主页面点击一个留言的时候会跳转到这个页面,展示留言的信息,如果你是这篇留言的主人的时候,自己可以对自己留言进行修改和删除操作,如果你是游客或者这个留言不是出自你手的时候,会提示您没有权限进行修改或者删除,您可以自己写一个留言;下面会显示这个留言的评论,当然你也可以进行评论,右边显示的是最新留言和最热留言,当然这个功能应该是自己写在服务器启动的时候放在application中进行遍历的~

 

留言修改创建界面 MessageSave.jsp


messageTemp.jsp界面进入这个界面之前进行预操作处理,判断是更新操作还是插入操作,更新的情况对要修改的留言信息进行遍历,(当然坐着是不能修改的),如果是插入操作直接判断之后直接进行插入即可。

 

 

 

 

 

 

3)流程图:

 

4)数据库设计(messageBoard表 --mysql数据库)

表一:t_user(用户表)

字段

类型

长度

Id

Int

20

不为空(主键)

UserName

Varchar

20

可为空

Password

Varchar

20

可为空

trueName

varchar

20

可为空

Phone

varchar

20

可为空

Email

Varchar

100

可为空

表二:t_message(留言表)

字段

类型

长度

Id

Int

20

不为空(主键)

Title

Varchar

20

可为空

Content

Varchar

20

可为空

date

date

 

可为空

userName

varchar

20

可为空

 

表三:t_comment(评论表)

字段

类型

长度

CommentId

Int

20

不为空(主键)

messageId

int

20

可为空

Content

Varchar

20

可为空

userIp

varchar

20

可为空

commentDate

date

 

可为空

 

5)重要代码:

①登录验证:

public String execute()throws Exception {

      HttpSessionsession=request.getSession();

      Connectioncon=null;

      try{

         StringsRand = (String)session.getAttribute("sRand");

         con = dbUtil.getCon();

         User user = new User();

         user.setUserName(userName);

         user.setPassword(password);

         User currentUser = userDao.login(con,user);

         if (!sRand.equals(imageCode)) {

            error = "验证码错误!";

            returnERROR;

         } elseif (currentUser ==null) {

            error = "用户名或者密码错误!";

            returnERROR;

         } else {

            session.setAttribute("currentUser",currentUser);

            returnSUCCESS;

         }

      }catch(Exceptione){

         e.printStackTrace();

 

留言显示:

con =dbUtil.getCon();

         inttotal = messageDao.messagesCount(con,message,userName);

         StringpageCode = PageUtil.getPagation(

               request.getContextPath() +"/mian.action",total,

               Integer.parseInt(page),

               Integer.parseInt(PropertiesUtil.getValue("pageSize")));

         PageBeanpageBean =new PageBean(Integer.parseInt(page),

               Integer.parseInt(PropertiesUtil.getValue("pageSize")));

         messagesList = messageDao.messagesList(con,message, pageBean,userName);

         request.setAttribute("pageCode",pageCode);

         request.setAttribute("messagesList",messagesList);

         request.setAttribute("navCode",

               NavUtil.genNewsManageNavigation("留言显示","所有留言"));

         request.setAttribute("mainPage","message/messageList.jsp");

         returnSUCCESS;

评论添加:

String messageId=request.getParameter("id");

         HttpSessionsession =request.getSession();

         session.setAttribute("id",messageId);

         Stringcontent=request.getParameter("content");

         StringuserIP=request.getRemoteAddr();

         Commentcomment=new Comment(Integer.parseInt(messageId),content,userIP);

         commentDao.commentAdd(con,comment);

         returnSUCCESS;

 

Ps:由于页数要求,重要的代码不在出示,详细见代码!

 

三、总结与体会

通过这次实验的撰写,自己对于学过的struts2知识进行回顾,对于struts2页面跳转,监听器,ajax异步跳转,bootstrap3,c标签,s标签的使用有了充分的了解,更重要的事有了项目经验,对自己学的知识进行肯定,体会就是自己学过的东西不要以为自己都掌握了,自己在实践的时候掌握的才是真正的知识,学过的东西反过来复习一下会真正体会到这个东西的真正意义!

猜你喜欢

转载自blog.csdn.net/baidu_31657889/article/details/53536346