fork download
  1. package servlets;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.sql.*;
  6. import java.util.Date;
  7.  
  8. import javax.servlet.ServletException;
  9. import javax.servlet.annotation.WebServlet;
  10. import javax.servlet.http.HttpServlet;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13. import javax.servlet.http.HttpSession;
  14.  
  15. @WebServlet("/CRUDDatabase")
  16. public class CRUDDatabase extends HttpServlet {
  17. private static final long serialVersionUID = 1L;
  18.  
  19. @Override
  20. protected void doGet(HttpServletRequest request,
  21. HttpServletResponse response) throws ServletException, IOException {
  22.  
  23. response.setContentType("text/html;charset=utf-8");
  24. request.setCharacterEncoding("utf8");
  25.  
  26. try {
  27. Class.forName("com.mysql.jdbc.Driver");
  28. } catch (ClassNotFoundException e) {
  29. }
  30.  
  31. PrintWriter out = response.getWriter();
  32. out.println("<html>");
  33. out.println("<head>");
  34. String title = "CRUD Database page";
  35. out.println("<title>" + title + "</title>");
  36. out.println("<link rel='stylesheet' type='text/css' href='round.css'>");
  37. out.println("</head>");
  38. out.println("<body bgcolor=F8F8F8>");
  39. out.println("<h1>" + title + "</h1>");
  40.  
  41. // Сессия начало
  42. HttpSession session = request.getSession(true);
  43. String savedLastName = (String) session.getAttribute("savedLastName");
  44. if ((savedLastName != null) && (savedLastName != "")) {
  45. String heading;
  46. Integer accessCount = new Integer(0);
  47. if (session.isNew()) {
  48. heading = "Welcome, Newcomer";
  49. } else {
  50. heading = "Welcome Back";
  51. Integer oldAccessCount = (Integer) session
  52. .getAttribute("accessCount");
  53. if (oldAccessCount != null) {
  54. accessCount = new Integer(oldAccessCount.intValue() + 1);
  55. }
  56. }
  57. session.setAttribute("accessCount", accessCount);
  58. // Сессия конец
  59.  
  60. // Сессия отображение начало
  61. out.println("<hr>");
  62. out.println("<h1 align=center>" + heading + "</h1>\n");
  63. out.println("<h2>Information on Your Session:</h2>\n");
  64. out.println("<table cellpadding=3 cellspacing=3 align=center bgcolor=9AFF92>\n");
  65. out.println("<tr bgcolor=3CE022>\n");
  66. out.println("<th>Info Type<th>Value\n");
  67. out.println("<tr>\n");
  68. out.println("<td>Фамилия\n");
  69. out.println("<td>" + session.getAttribute("savedLastName") + "\n");
  70. out.println("<tr>\n");
  71. out.println("<td>ID\n");
  72. out.println("<td>" + session.getId() + "\n");
  73. out.println("<tr>\n");
  74. out.println("<td>Creation Time\n");
  75. out.println("<td>" + new Date(session.getCreationTime()) + "\n");
  76. out.println("<tr>\n");
  77. out.println("<td>Time of Last Access\n");
  78. out.println("<td>" + new Date(session.getLastAccessedTime()) + "\n");
  79. out.println("<tr>\n");
  80. out.println("<td>Number of Previous Accesses\n");
  81. out.println("<td>" + accessCount + "\n");
  82. out.println("</table>\n");
  83. out.println("<hr>");
  84. }
  85. // Сессия отображение конец
  86.  
  87. out.println("<br>");
  88. out.println("<h2>Database Operations</h2>");
  89. out.println("<br>");
  90. out.println("<form method=post>");
  91. out.println("<input type=submit name=action value=\"Add Database\">");
  92. out.println("<input type=submit name=action value=\"Drop Database\"> ");
  93. out.println("</form>");
  94. out.println("<hr>");
  95. out.println("<br>");
  96. out.println("<h2>Table Operations</h2>");
  97. out.println("<br>");
  98. out.println("<form method=post>");
  99. out.println("<input type=submit name=action value=\"Add Table\">");
  100. out.println("<input type=submit name=action value=\"Drop Table\"> ");
  101. out.println("</form>");
  102. out.println("<hr>");
  103. out.println("<br>");
  104. out.println("<h2>Add New Record</h2>");
  105. out.println("<br>");
  106. out.println("<form method=post>");
  107. out.println("<input type=hidden name=action value=add> ");
  108. out.println("<input type=text name=record SIZE=14> ");
  109. out.println("<input type=submit value=Add>");
  110. out.println("<input type=reset>");
  111. out.println("</form>");
  112. out.println("<hr>");
  113. out.println("<br>");
  114. out.println("<br>");
  115.  
  116. String id = request.getParameter("id");
  117. String record = request.getParameter("record");
  118. String action = request.getParameter("action");
  119. String sql;
  120. StringBuffer Records = new StringBuffer(2048);
  121.  
  122. // Open the Records table
  123. try {
  124. Connection con2 = DriverManager.getConnection(
  125. "jdbc:mysql://localhost:3306/mysql", "root", "");
  126. Statement s2 = con2.createStatement();
  127. if (action != null && action.equals("Add Database")) {
  128. sql = "CREATE DATABASE IF NOT EXISTS mydb CHARACTER SET utf8 COLLATE utf8_general_ci";
  129. s2.executeUpdate(sql);
  130. out.println("Database is created Successfully<p>");
  131. s2.close();
  132. con2.close();
  133. }
  134. .getConnection(
  135. "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8",
  136. "root", "");
  137. Statement s = con.createStatement();
  138. if (action != null && action.equals("Drop Database")) {
  139. sql = "DROP DATABASE IF EXISTS mydb";
  140. s.executeUpdate(sql);
  141. out.println("Database is droped Successfully<p>");
  142. }
  143.  
  144. if (action != null && action.equals("Add Table")) {
  145. sql = "CREATE TABLE IF NOT EXISTS Records (`recordID` int(11) "
  146. + "NOT NULL AUTO_INCREMENT, `recordName` tinytext "
  147. + "NOT NULL, PRIMARY KEY (`recordID`)) ENGINE=MyISAM "
  148. + "DEFAULT CHARSET=utf8 AUTO_INCREMENT=6";
  149. s.executeUpdate(sql);
  150. out.println("Table is created Successfully<p>");
  151. }
  152. if (action != null && action.equals("Drop Table")) {
  153. sql = "DROP TABLE IF EXISTS Records";
  154. s.executeUpdate(sql);
  155. out.println("Table is droped Successfully!");
  156. }
  157.  
  158. if (action != null && action.equals("add")) {
  159. sql = "SELECT recordName FROM Records WHERE recordName='"
  160. + record + "'";
  161. rs = s.executeQuery(sql);
  162. if (!rs.next()) {
  163. sql = "INSERT INTO Records (recordName) VALUES ('" + record
  164. + "')";
  165. s.executeUpdate(sql);
  166. } else
  167. out.println("' " + record
  168. + " ' is already in the database<p>");
  169. } else if (action != null && action.equals("delete")) {
  170. sql = "DELETE FROM Records WHERE recordID=" + id;
  171. s.executeUpdate(sql);
  172. } else if (action != null && action.equals("update")) {
  173. sql = "UPDATE Records SET recordName='" + record + "'"
  174. + " WHERE recordId=" + id;
  175. s.executeUpdate(sql);
  176. }
  177.  
  178. sql = "SELECT recordID, recordName FROM Records ORDER BY recordName ASC";
  179. rs = s.executeQuery(sql);
  180.  
  181. // Now list all Records plus the DELETE and UPDATE buttons
  182. out.println("<div id=round>");
  183. out.println("<b class=rtop><b class=r1></b><b class=r2></b><b class=r3></b><b class=r4></b></b>");
  184. out.println("<b>Table Records</b>");
  185. out.println("<br>");
  186. out.println("<table cellpadding=3 cellspacing=3 bgcolor=9AFF92>");
  187. out.println("<tr bgcolor=3CE022>");
  188. out.println("<th>Record</th><th>Action</th>");
  189. out.println("</tr>");
  190. while (rs.next()) {
  191. id = rs.getString(1);
  192. record = rs.getString(2);
  193.  
  194. out.println("<tr>");
  195. out.println("<td>");
  196. out.println("<form method=post>");
  197. out.println("<input type=hidden name=id value=" + id + ">");
  198. out.println("<input type=hidden name=action value=update>");
  199. out.println("<input type=text name=record value=" + record
  200. + ">");
  201. out.println("<input type=submit value=Update>");
  202. out.println("</form>");
  203. out.println("</td>");
  204. out.println("<td>");
  205. out.println("<form method=post>");
  206. out.println("<input type=hidden name=id value=" + id + ">");
  207. out.println("<input type=hidden name=action value=delete>");
  208. out.println("<input type=submit value=Delete>");
  209. out.println("</form>");
  210. out.println("</td>");
  211. out.println("</tr>");
  212.  
  213. Records.append("<option value=").append(id).append(">");
  214. Records.append(record).append("</option>\n");
  215. }
  216. out.println("</table>");
  217. out.println("<b class=rbottom><b class=r4></b><b class=r3></b><b class=r2></b><b class=r1></b></b>");
  218. out.println("</div>");
  219.  
  220. s.close();
  221. con.close();
  222. } catch (SQLException e) {
  223. // out.println(e.toString());
  224. } catch (Exception e) {
  225. out.println(e.toString());
  226. }
  227. out.println("</body>");
  228. out.println("</html>");
  229. }
  230.  
  231. protected void doPost(HttpServletRequest request,
  232. HttpServletResponse response) throws ServletException, IOException {
  233. doGet(request, response);
  234. }
  235.  
  236. }
  237.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty