开通了

今天开始开通了程序员的BLOG,一直以来都能力朝着自己的目标努力,今天终于又迈出了一小步啊,这一步对我来说一定要坚持下去啊,总结经验真的好重要了,昨天同学要我做了一个新闻的发布管理系统,用jsp+javabean+serlvet做的,由于好久没做过了,遇到了一些小麻烦,在这里总结一下,对自己今后的学习,应该说是一个帮助了,

1,关于输出多个相同的实体的问题,也就是<c:foreach>的问题,真的花了我一点时间,自己想了个办法,说我不太会说,代玛如下:

   public ArrayList getAllNews() //获取所有新闻标题
     {
      ArrayList list=new ArrayList();
      
         String sql = "select * from news";
         int i=0;
         try
         {
             prepar = conn.prepareStatement(sql);
             res = prepar.executeQuery();
             while (res.next())
             {
               NewsBean news = new NewsBean();
               news.setNewsTitle(res.getString("newsTitle"));
               news.setNewsId(res.getInt("newsId"));
               list.add(i,news);
               ++i;
             }
         }
         catch (SQLException ex)
         {
             ex.printStackTrace();
         }
         return list;
     }

获取所有的新闻内容,开始我直接用list.add(news),怎么也取不了所有的新闻,虽然他的size()大小一样,但是他里面的内容却都是最后一个了,高了我好久,才发现TMD原来覆盖了以前的内容,所以我后来用了这个add(i,element),这个真的有用了,果然解决问题了,呵呵,再servlet代码如下:

  public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws
        ServletException, IOException
    {
        if (request.getParameter("userName") != null &&
            request.getParameter("userPwd") != null)
        {
            String userName = request.getParameter("userName");
            String userPwd = request.getParameter("userPwd");
            DbBean db = new DbBean();
            UserBean ub=db.checkUsersLogin(userName, userPwd);
           if(ub!=null){
            ArrayList news=db.getAllNews();
            ArrayList news1=new ArrayList();
            request.getSession().setAttribute("news1",news);
               response.sendRedirect("index.jsp");
           }
           else{
            response.sendRedirect("failure.jsp");
           }    
        }
    }

后面页面index.jsp

    <c:forEach items="${news1}" var="news2" varStatus="status">
        <tr><br>
        主题<td><a href="lookservlet?id=${news2.newsId}">${news2.newsTitle}</a></td>
           <td><a href="seleteservlet?id=${news2.newsId}">编辑</a></td>
           <td> <a href="deleteservlet?id=${news2.newsId}">删除</a>   </td><br>
        </tr>
  </c:forEach>

完成了,基本上的功能,这个功能在我们开发中应该非常常用了,以后注意了!

2.还有UPDATE的问题了,TMD我遇到了一个 mysql的一个错误 Truncated incorrect DOUBLE value真的好郁闷啊,开始我也不知道那里出错了,

开始错误的代码:

             String sql = "UPDATE news SET newsContent=?";
             sql+=",newsTitle=? WHERE newsId=?";
             prepar = conn.prepareStatement(sql);
             System.out.println(newsTitle);
             System.out.println(newsContent);
             prepar.setInt(1, newsId);
             prepar.setString(2, newsTitle);
             prepar.setString(3,newsContent);
             int unum=prepar.executeUpdate(); 
             System.out.println(unum);

这应该没问题啊,我怎么想也想不通了,靠后面我把那个1,2,3的顺序改了一下,就可以了,真是没遇到这么变态的情况了,呵呵,但是还是解决了问题,真的不容易,正确的如下:

           prepar.setInt(3, newsId);
           prepar.setString(2, newsTitle);
           prepar.setString(1,newsContent);

真的无语啊,呵呵

今天也不知道写了些什么,但是我只知道这条路虽然漫长,可能更多的时候是艰苦,但是我会坚持了,坚持写日志,总结学习中的问题,对自己来说也是一种收获啊,新闻管理系统完成了,哈哈,还是有点小成就感的啊,其实我觉的现在的我已经以后算是一个高手了啊,呵呵,因为对与那些简单的功能来说我基本上不用想了,空手完成了,呵呵,要谦虚了,设计莫试加油啊,好难啊,加油了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值