在用JSP进行MVC开发的时候,通常都是用一个页面提交信息给一个servlet来进行处理,比如信息添加成功后在servlet中弹出个窗口,提示信息已经添加成功,点确定后再转向添加前的页面或者其它页面。
以下为我在servlet中写的添加评论的方法
public void add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
if (username == null || "".equals(username)) {
username = "匿名";
}
String content = request.getParameter("content");
String blog_id = request.getParameter("blog_id");
try {
QueryRunner qr = DbUtils.getQueryRunner();
String sql = "insert into comment(blog_id,username,content,comment_time) values(?,?,?,now())";
String params[] = { blog_id, username, content };
int result = 0;
result = qr.update(sql, params);
if (result == 1) {
out
.println("<script language='javascript'>alert('恭喜你评论添加成功');location.href=\"GetBlogServlet?id="
+ blog_id + "\";</script>");
// response.sendRedirect("GetBlogServlet?id=" + blog_id);
}
} catch (Exception e) {
e.printStackTrace();
}
out.close();
}
注意事项:
这里是一个实现添加评论的Servlet,添加评论成功则返回提示信息。
alert('恭喜你评论添加成功');这里涉及到了中文,如果在Servlet中没有下面两句代码:
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
在弹出窗口的提示信息就是乱码,也就是(恭喜你评论添加成功')这句话将变成乱码。