diff -r 000000000000 -r 267cce6b9d77 java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java Thu May 28 23:12:19 2009 +0200
@@ -0,0 +1,120 @@
+package cz.frantovo.sql.vyuka.ajax;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Servlet pro vyřizování AJAXových požadavků.
+ * @author fiki
+ */
+public class Servlet extends HttpServlet {
+
+ private static final long serialVersionUID = 9102108273105288056L;
+
+ private enum akce {
+
+ /** Provede SQL dotaz. */
+ vykonat,
+ /** Vypíše historii SQL příkazů daného uživatele. */
+ historie,
+ /** Vypíše nějaké nepotřebné informace. */
+ test,
+ /** Pokud je požadovaná akce nesmysl. */
+ chyba
+ }
+
+ /**
+ * Processes requests for both HTTP GET
and POST
methods.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+ /** Používáme pouze UTF-8 */
+ response.setContentType("text/html;charset=UTF-8");
+ request.setCharacterEncoding("UTF-8");
+
+ PrintWriter out = response.getWriter();
+
+ try {
+
+ akce parametrAkce = akce.chyba;
+ try {
+ parametrAkce = akce.valueOf(request.getParameter("akce"));
+ } catch (Exception e) {
+ /** Chyba nebo podvržený AJAXový požadavek → zobrazíme chybovou hlášku */
+ }
+
+ Ajax a = new Ajax();
+
+
+ switch (parametrAkce) {
+ case vykonat:
+ out.println(a.geSQLVysledek(request.getParameter("sql")));
+ break;
+ case historie:
+ out.println(a.geSQLVysledek(request.getRequestedSessionId()));
+ break;
+ case test:
+ out.println("
AJAX jede!
"); + out.println("chyba
"); + break; + } + } finally { + out.close(); + } + } + + //GET
method.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST
method.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Servlet pro zpracování AJAXových požadavků.";
+ }//