package webbook.guestbook;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import webbook.util.StringUtil;public class AddMessageServlet extends HttpServlet { private static final long serialVersionUID = -8349454122547148005L; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String url = "jdbc:oracle:thin:@192.168.1.20:1521:ora9";
String username = "scott";
String password = "tiger"; String sql = "insert into guestbook (id,name,email,phone,title,content,time) values(gb_seq.nextval,?,?,?,?,?,?)";
int result = 0;
Connection conn = null; request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String title = request.getParameter("title"); response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>guestbook input page</title></head>");
out.println("<body>"); if (StringUtil.validateNull(name)) {
out.println("对不起,姓名不能为空,请您重新输入!<br>");
out.println("<a href=\""+request.getContextPath()+"/addMessage.htm\">添加新的留言</a><br>");
} else if (StringUtil.validateNull(title)) {
out.println("对不起,主题不能为空,请您重新输入!<br>");
out.println("<a href=\""+request.getContextPath()+"/addMessage.htm\">添加新的留言</a><br>");
} else {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, username, password); PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, StringUtil.filterHtml(name));
pstmt.setString(2, StringUtil.filterHtml(request.getParameter("email")));
pstmt.setString(3, StringUtil.filterHtml(request.getParameter("phone")));
pstmt.setString(4, StringUtil.filterHtml(title));
pstmt.setString(5, request.getParameter("content")); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
pstmt.setString(6, sdf.format(new java.util.Date()));
result = pstmt.executeUpdate();
pstmt.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (result == 0) {
out.println("对不起,添加留言不成功,请您重新输入!<br>");
out.println("<a href=\""+request.getContextPath()+"/addMessage.htm\">添加新的留言</a><br>");
} else {
out.println("祝贺您,成功添加留言。<br>");
out.println("<a href=\""+request.getContextPath()+"/servlet/getMessages\">查看所有留言内容</a><br>");
}
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
}
}