1.今天刚开始测试时和昨天一样,都出现了一个服务器内部问题:The server encountered an internal error () that prevented it from fulfilling this request.
典型的500错误,我昨天的解决方法是把原来的所有的项目都remove(包括blog项目)之后在reploy我需要的blog项目就ok了,我试了很久,但是不知道为什么,昨天貌似是部署了之后内容不全,很多的jsp和servlet没有部署上去,但是今天看时全部都部署上去了,这是怎么回事?根据昨天经验,我首先锁定了问题目标是部署在blog项目,然后在那个目录里找问题,然后我在web_inf文件夹中发现了一个不同,这个项目我只添加了两个外部的jar包,但是这里却有一大堆!但是貌似都是有用的jar包,什么jsp。。。不知道是什么,我感觉是jsp引擎和servlet引擎什么的。不管,关闭服务器Tomcat,删掉原来的blog项目,重启Tomcat,部署blog,这时那些多余的jar包还是添加进来了,测试一下,还是500错误,,好吧,关闭Tomcat,我直接删了那些多余的jar包,重启,在测试,哈哈哈,这次竟然就好了,页面进入了!呵呵呵,原来如此啊,呵呵呵,希望知道原因的大牛们帮我解释一下这个问题是怎么回事啊,谢谢了!
2.两个小总结:
3.今天的任务主要就是添加上博文的评论板块,呵呵呵,有以前的新闻发布系统的经验,这个实现起来还是比较简单滴,在博文显示的页面中博文内容后面添加一些与这个博文相关的评论,同样,为了让后台知道是对哪个博文添加评论,已经进行的是什么操作,所以需要两个隐藏input,一个是method,一个是blogid,呵呵呵,思路很清晰的。其实,我还遇到了一个问题,关于这个博文的显示是怎么实现,因为博文显示时要显示出它的评论,如果按照前面博文添加时要先调用PreAddBlogServlet,用于获取所有的博文类别,这样就会很麻烦!其实也不是很麻烦,不需要再写一个servlet,因为博文显示之前就是调用了一个GetBlogServlet,所以,可以在这里再写一个sql语句获取该博文的评论内容,呵呵呵,这样就搞定了!
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String blogid = request.getParameter("blogid"); QueryRunner qr = Dbhelper.getQueryRunner(); String sql_blog = "SELECT id,title,content,created_time as createTime,categoryid from blog where id=" + blogid; String sql_comment = "SELECT username,content,createdtime from comment where blogid="+blogid+" order by id desc"; try { List<Blog> bloglist = (List<Blog>) qr.query(sql_blog, new BeanListHandler(Blog.class)); Blog blog = bloglist.get(0); request.setAttribute("blog", blog); List<Comment> commentlist = (List<Comment>) qr.query(sql_comment, new BeanListHandler(Comment.class)); request.setAttribute("commentlist", commentlist); } catch (Exception e) { e.printStackTrace(); } request.getRequestDispatcher("/DisplayBlog.jsp").forward(request, response); }