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; Listbloglist = (List ) 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 { Listbloglist=(List )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来实现
只要添加一句 οnclick="return confirm('Do you want to delete this blog?')"
例如:
还有一种方式:其实差不多
先写一个Javascript代码:
然后在删除那里加上 οnclick="javascript:return delblog()" 但是我没有成功,呵呵呵,不知道为啥!只好用第一种方式了