JavaWeb项目之博客系统(三)

1.整合一下数据库的连接操作

根据以前做新闻发布系统的经验,有关于数据库连接等等处理的内容最好是写一个类Dbhelper或者叫SQLHelper,通过这个类中的各种静态的方法可以很方便的连接数据库,而不用在每次需要的时候自己重复写相同的操作,例如:

之前写的在修改博文之前的查找出要修改的博文的代码:

	public void doGet(HttpServletRequest request, HttpServletResponse response)

	throws ServletException, IOException {

		String blogid = request.getParameter("blogid");

		DataSource ds = null;

		try {

			Context context = new InitialContext();

			ds = (DataSource) context.lookup("java:comp/env/jdbc/mysqlds");

			QueryRunner qr = new QueryRunner(ds);

			String sql = "SELECT id,title,content,categoryid from blog where id="
					+ blogid;

			List<Blog> bloglist = (List<Blog>) qr.query(sql,
					new BeanListHandler(Blog.class));

			Blog blog = bloglist.get(0);

			request.setAttribute("blog", blog);

			request.getRequestDispatcher("/ModifyBlog.jsp").forward(request,
					response);

		} catch (Exception e) {

			e.printStackTrace();

		}

	}



红色部分是连接数据库和获取Dbutils的QueryRunner对象的部分,这部分的内容在很多的servlet中都使用到了,所以可以整合到一个类中,然后调用这个方法

public class Dbhelper {
    
    public static QueryRunner getQueryRunner(){
        QueryRunner qr=null;
        try {
            //通过在context.xml中设置数据源对象名字,可以获取数据源对象
            Context context = new InitialContext();
            DataSource ds=(DataSource) context.lookup("java:comp/env/jdbc/mysqlds");//注意:第一个单词是java,而不是jdbc!
            //DButils的核心类,生成时传递数据源对象给它,这样它自己就可以生成数据库连接对象,并在执行完以后放回到数据池中
            qr=new QueryRunner(ds);            
        } catch (Exception e) {
            e.printStackTrace();
        }
        return qr;
    }

}

调用:

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		String blogid=request.getParameter("blogid");
		
		QueryRunner qr=Dbhelper.getQueryRunner();
		String sql="SELECT id,title,content,created_time as createTime,categoryid from blog where id="+blogid;
		try {
			List<Blog> bloglist=(List<Blog>)qr.query(sql, new BeanListHandler(Blog.class));
			Blog blog=bloglist.get(0);
			request.setAttribute("blog", blog);
		} catch (Exception e) {
			e.printStackTrace();
		}
		request.getRequestDispatcher("/DisplayBlog.jsp").forward(request, response);
	}


2. JavaScript实现删除提示功能

根据常理,在删除一篇博文之前是要先让用户判断是否真的要删除,以免误删除,这个很好用 JavaScript来实现

只要添加一句 onclick="return confirm('Do you want to delete this blog?')"

例如:

<a href="http://localhost:8080/blog/servlet/DeleteBlogServlet?blogid=<%=blog.getId()%>" onclick="return confirm('Do you want to delete this blog?')">Delete</a>

还有一种方式:其实差不多

先写一个Javascript代码:

 <script type="text/javascript" language="javascript">
       function delblog(){
         var message="Do you want to delete this blog?";
         if(confirm(massage)==true){
              return true;
         }else{
              return false;
         }
      }
    </script>

然后在删除那里加上 onclick="javascript:return delblog()"      但是我没有成功,呵呵呵,不知道为啥!只好用第一种方式了

原文地址:https://www.cnblogs.com/yinger/p/2083433.html