package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/CRUDDatabase")
public class CRUDDatabase extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response
) throws ServletException,
IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf8");
try {
Class.forName("com.mysql.jdbc.Driver");
}
out.println("<html>");
out.println("<head>");
String title
= "CRUD Database page"; out.println("<title>" + title + "</title>");
out.println("<link rel='stylesheet' type='text/css' href='round.css'>");
out.println("</head>");
out.println("<body bgcolor=F8F8F8>");
out.println("<h1>" + title + "</h1>");
// Сессия начало
HttpSession session = request.getSession(true);
String savedLastName
= (String) session.
getAttribute("savedLastName"); if ((savedLastName != null) && (savedLastName != "")) {
if (session.isNew()) {
heading = "Welcome, Newcomer";
} else {
heading = "Welcome Back";
.getAttribute("accessCount");
if (oldAccessCount != null) {
accessCount
= new Integer(oldAccessCount.
intValue() + 1); }
}
session.setAttribute("accessCount", accessCount);
// Сессия конец
// Сессия отображение начало
out.println("<hr>");
out.println("<h1 align=center>" + heading + "</h1>\n");
out.println("<h2>Information on Your Session:</h2>\n");
out.println("<table cellpadding=3 cellspacing=3 align=center bgcolor=9AFF92>\n");
out.println("<tr bgcolor=3CE022>\n");
out.println("<th>Info Type<th>Value\n");
out.println("<tr>\n");
out.println("<td>Фамилия\n");
out.println("<td>" + session.getAttribute("savedLastName") + "\n");
out.println("<tr>\n");
out.println("<td>ID\n");
out.println("<td>" + session.getId() + "\n");
out.println("<tr>\n");
out.println("<td>Creation Time\n");
out.
println("<td>" + new Date(session.
getCreationTime()) + "\n"); out.println("<tr>\n");
out.println("<td>Time of Last Access\n");
out.
println("<td>" + new Date(session.
getLastAccessedTime()) + "\n"); out.println("<tr>\n");
out.println("<td>Number of Previous Accesses\n");
out.println("<td>" + accessCount + "\n");
out.println("</table>\n");
out.println("<hr>");
}
// Сессия отображение конец
out.println("<br>");
out.println("<h2>Database Operations</h2>");
out.println("<br>");
out.println("<form method=post>");
out.println("<input type=submit name=action value=\"Add Database\">");
out.println("<input type=submit name=action value=\"Drop Database\"> ");
out.println("</form>");
out.println("<hr>");
out.println("<br>");
out.println("<h2>Table Operations</h2>");
out.println("<br>");
out.println("<form method=post>");
out.println("<input type=submit name=action value=\"Add Table\">");
out.println("<input type=submit name=action value=\"Drop Table\"> ");
out.println("</form>");
out.println("<hr>");
out.println("<br>");
out.println("<h2>Add New Record</h2>");
out.println("<br>");
out.println("<form method=post>");
out.println("<input type=hidden name=action value=add> ");
out.println("<input type=text name=record SIZE=14> ");
out.println("<input type=submit value=Add>");
out.println("<input type=reset>");
out.println("</form>");
out.println("<hr>");
out.println("<br>");
out.println("<br>");
String id
= request.
getParameter("id"); String record
= request.
getParameter("record"); String action
= request.
getParameter("action");
// Open the Records table
try {
"jdbc:mysql://localhost:3306/mysql", "root", "");
if (action != null && action.equals("Add Database")) {
sql = "CREATE DATABASE IF NOT EXISTS mydb CHARACTER SET utf8 COLLATE utf8_general_ci";
s2.executeUpdate(sql);
out.println("Database is created Successfully<p>");
s2.close();
con2.close();
}
.getConnection(
"jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8",
"root", "");
if (action != null && action.equals("Drop Database")) {
sql = "DROP DATABASE IF EXISTS mydb";
s.executeUpdate(sql);
out.println("Database is droped Successfully<p>");
}
if (action != null && action.equals("Add Table")) {
sql = "CREATE TABLE IF NOT EXISTS Records (`recordID` int(11) "
+ "NOT NULL AUTO_INCREMENT, `recordName` tinytext "
+ "NOT NULL, PRIMARY KEY (`recordID`)) ENGINE=MyISAM "
+ "DEFAULT CHARSET=utf8 AUTO_INCREMENT=6";
s.executeUpdate(sql);
out.println("Table is created Successfully<p>");
}
if (action != null && action.equals("Drop Table")) {
sql = "DROP TABLE IF EXISTS Records";
s.executeUpdate(sql);
out.println("Table is droped Successfully!");
}
if (action != null && action.equals("add")) {
sql = "SELECT recordName FROM Records WHERE recordName='"
+ record + "'";
rs = s.executeQuery(sql);
if (!rs.next()) {
sql = "INSERT INTO Records (recordName) VALUES ('" + record
+ "')";
s.executeUpdate(sql);
} else
out.println("' " + record
+ " ' is already in the database<p>");
} else if (action != null && action.equals("delete")) {
sql = "DELETE FROM Records WHERE recordID=" + id;
s.executeUpdate(sql);
} else if (action != null && action.equals("update")) {
sql = "UPDATE Records SET recordName='" + record + "'"
+ " WHERE recordId=" + id;
s.executeUpdate(sql);
}
sql = "SELECT recordID, recordName FROM Records ORDER BY recordName ASC";
rs = s.executeQuery(sql);
// Now list all Records plus the DELETE and UPDATE buttons
out.println("<div id=round>");
out.println("<b class=rtop><b class=r1></b><b class=r2></b><b class=r3></b><b class=r4></b></b>");
out.println("<b>Table Records</b>");
out.println("<br>");
out.println("<table cellpadding=3 cellspacing=3 bgcolor=9AFF92>");
out.println("<tr bgcolor=3CE022>");
out.println("<th>Record</th><th>Action</th>");
out.println("</tr>");
while (rs.next()) {
id = rs.getString(1);
record = rs.getString(2);
out.println("<tr>");
out.println("<td>");
out.println("<form method=post>");
out.println("<input type=hidden name=id value=" + id + ">");
out.println("<input type=hidden name=action value=update>");
out.println("<input type=text name=record value=" + record
+ ">");
out.println("<input type=submit value=Update>");
out.println("</form>");
out.println("</td>");
out.println("<td>");
out.println("<form method=post>");
out.println("<input type=hidden name=id value=" + id + ">");
out.println("<input type=hidden name=action value=delete>");
out.println("<input type=submit value=Delete>");
out.println("</form>");
out.println("</td>");
out.println("</tr>");
Records.append("<option value=").append(id).append(">");
Records.append(record).append("</option>\n");
}
out.println("</table>");
out.println("<b class=rbottom><b class=r4></b><b class=r3></b><b class=r2></b><b class=r1></b></b>");
out.println("</div>");
s.close();
con.close();
// out.println(e.toString());
out.println(e.toString());
}
out.println("</body>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response
) throws ServletException,
IOException { doGet(request, response);
}
}