zoukankan      html  css  js  c++  java
  • JavaWeb之博客系统(五)

    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.两个小总结:

    1. 如果重构时要修改servlet的名字(最好是不要这么做,提前想好名字也是很重要滴),需要注意修改一些地方:①首先是web.xml文件,不仅要该前面的servlet名字,还要修改后面的servlet的映射路径;②其次要修改的就是调用这个servlet的地方,例如某个页面是调用这个servlet进行处理的,这时就要在前台修改调用的servlet,所以,必须要很清楚哪里调用了这个servlet,所以说这个修改是比较麻烦的。
    2. 如果出错了,页面提示说错误出现的是jsp或者某个java文件的某个位置,例如多少多少行,这里不是指实际编写的那个文件,而是编译以后的文件,所以要在部署了的项目中找到那个文件查看错误的原因是哪里

    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);
        }

  • 相关阅读:
    sql分页存储过程疑惑:Row_Number与临时表哪个好?
    SQL之剪切
    在sqlserver2005中安装sql server 2000的示例数据库northwind
    安装SQL2005示例数据库
    Firefox浏览器中,Flex的FileReference上传文件,引发IOError
    Java获取方法的调用者
    ABAP screen常见语法
    XPO永久删除记录方法
    XPO的UpCasting
    在ASP.NET项目中使用XPO的最佳准则
  • 原文地址:https://www.cnblogs.com/yinger/p/2084134.html
Copyright © 2011-2022 走看看