package service.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.sql.PreparedStatement; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class WriteDiaryServlet extends CommonServlet { @Override protected void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String title = new String(request.getParameter("title").getBytes( "iso-8859-1"), "utf-8"); String competencePosition = request.getParameter("competencePosition").toString(); String content = new String(request.getParameter("content").getBytes( "iso-8859-1"), "utf-8"); String filename = getRandomFileName(); String path = mDiaryRootPath + mUsername.hashCode() + File.separator; File file = new File(path); if (!file.exists()) { file.mkdirs(); } String diaryFilename = path + filename; String sql = "insert into t_kx_diary(email, title, modify_date, filename, content, competence) values(?,?,?,?,?,?)"; try { PreparedStatement preparedStatement = mConnection .prepareStatement(sql); preparedStatement.setString(1, mUsername); preparedStatement.setString(2, title); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); preparedStatement.setString(3, sdf.format(date)); preparedStatement.setString(4, filename); preparedStatement.setString(5, content); preparedStatement.setString(6, competencePosition); preparedStatement.execute(); sql = "update t_kx_users set gold = gold + ? where email = ?"; preparedStatement = mConnection .prepareStatement(sql); preparedStatement.setInt(1, 10); preparedStatement.setString(2, mUsername); preparedStatement.execute(); FileOutputStream fos = new FileOutputStream(diaryFilename); fos.write(content.getBytes("utf-8")); fos.close(); response.getWriter().println("ok"); } catch (Exception e) { response.getWriter().println(e.getMessage()); } } }