小型BBS项目--4月26号学习总结

//早上复习了部分javase,在牛客网上做了30道选择题,发现掌握的还是不够牢固,还是需要不断的复习,做题,记忆。

因为在学着写BBS,所有并没有多少总结。

1.删除回复,要点:选择你要删除的帖子id,删除的时候需要连带这它的跟帖也要一起删除,所以此处需要调用递归来写。

  你删除的帖子,如果它是别的帖子的跟帖,你需要判断它的父贴是否还要别的跟帖,如果没有别的跟帖,就需要把它的叶子节点改回0,使它成为叶子节点,用到rs=statement.createStatement("select count(*) from article where pid = " + pid),re.next()不能少,因为它默认指向第一行之前。然后判断是否<=0,成立就改isleaf为0。//因为用到了pid,所以上一个页面也要把pid一起传过来。

上面的步骤必须一起成功,所有需要更改setAutoCommit(false),结束不要忘了改回来。

2.发表新帖,要点:因为要在一个页面发送,同时也在这个页面接收,所以我们在form中添加一个隐藏域,name=“action” value=”action“,在页面的开头写上判断的jsp语句。<% String name = request.getParameter("action");//获取发送过来的隐藏域name的值,后面用if(name.equals("action"){}//如果为true,就进行下面的步骤写入数据库。

新帖中有一个pid插入之前无法确定,因为只有插入后,才能确定,所有我们先设置为-1,同样要关闭自动提交,有两种方法,一种就是MAX(id),因为插入后,它的id肯定是最大的那个(设置的自动递增),然后在插入后,在写一个sql语句,更新下它的pid,然后全部一起提交,就ok了。另一种是用tatement插入sql语句的有一个方法,它的第二个参数返回的是keyvalues,我们可以得到它的键值,这样也可以在后面添加一个sql语句,来完成操作。

3.后台管理,要点:我们也可以在登陆界面提交和接收,跟发表新帖一样,设置一个隐藏域,判断用户名密码是否正确,正确就跳转到登陆后的界面。

登陆后可以删帖,我们需要判断有没有登陆,所有我们在登陆成功后写入一个session的键值对,然后在别的页面进行检测,session.getAttribute();判断是否与我们先前写入的一样,一样就将删除的连接添加进显示的字符串中,不一样就写入空字符。

防止别人直接在url中跳转delete.jsp,我们也需要在delete界面进行检测,同上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值