1.1 --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java Sun May 31 17:46:11 2009 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,128 +0,0 @@
1.4 -package cz.frantovo.sql.vyuka.ajax;
1.5 -
1.6 -import cz.frantovo.sql.vyuka.dto.Uzivatel;
1.7 -import java.io.IOException;
1.8 -import java.io.PrintWriter;
1.9 -import javax.servlet.ServletException;
1.10 -import javax.servlet.http.HttpServlet;
1.11 -import javax.servlet.http.HttpServletRequest;
1.12 -import javax.servlet.http.HttpServletResponse;
1.13 -
1.14 -/**
1.15 - * Servlet pro vyřizování AJAXových požadavků.
1.16 - * @author fiki
1.17 - */
1.18 -public class Servlet extends HttpServlet {
1.19 -
1.20 - private static final long serialVersionUID = 9102108273105288056L;
1.21 -
1.22 - private enum akce {
1.23 -
1.24 - /** Provede SQL dotaz. */
1.25 - vykonat,
1.26 - /** Vypíše historii SQL příkazů daného uživatele. */
1.27 - historie,
1.28 - /** Nápověda – průvodce */
1.29 - napoveda,
1.30 - /** Vypíše nějaké nepotřebné informace. */
1.31 - test,
1.32 - /** Pokud je požadovaná akce nesmysl. */
1.33 - chyba
1.34 - }
1.35 -
1.36 - /**
1.37 - * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
1.38 - * @param request servlet request
1.39 - * @param response servlet response
1.40 - * @throws ServletException if a servlet-specific error occurs
1.41 - * @throws IOException if an I/O error occurs
1.42 - */
1.43 - protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
1.44 -
1.45 - /** Používáme pouze UTF-8 */
1.46 - response.setContentType("text/html;charset=UTF-8");
1.47 - request.setCharacterEncoding("UTF-8");
1.48 -
1.49 - PrintWriter out = response.getWriter();
1.50 -
1.51 - try {
1.52 -
1.53 - akce parametrAkce = akce.chyba;
1.54 - try {
1.55 - parametrAkce = akce.valueOf(request.getParameter("akce"));
1.56 - } catch (Exception e) {
1.57 - /** Chyba nebo podvržený AJAXový požadavek → zobrazíme chybovou hlášku */
1.58 - }
1.59 -
1.60 -
1.61 - Ajax a = new Ajax();
1.62 -
1.63 - Uzivatel uzivatel = new Uzivatel(request.getRequestedSessionId(), request.getRemoteAddr());
1.64 -
1.65 - switch (parametrAkce) {
1.66 - case vykonat:
1.67 - out.println(a.geSQLVysledek(request.getParameter("sql"), uzivatel));
1.68 - break;
1.69 - case historie:
1.70 - out.println(a.getHistorie(uzivatel));
1.71 - break;
1.72 - case napoveda:
1.73 - out.println("<p>Nápověda bude…</p>");
1.74 - break;
1.75 - case test:
1.76 - out.println("<p>AJAX jede!</p>");
1.77 - out.println("<ol>");
1.78 - out.println("<li>Metoda: " + request.getMethod() + "</li>");
1.79 - out.println("<li>Host: " + request.getRemoteHost() + "</li>");
1.80 - out.println("<li>Adresa: " + request.getRemoteAddr() + "</li>");
1.81 - out.println("<li>Akce: " + request.getParameter("akce") + "</li>");
1.82 - out.println("<li>SQL: " + request.getParameter("sql") + "</li>");
1.83 - out.println("<li>Sezení: " + request.getRequestedSessionId() + "</li>");
1.84 - out.println("<li>URL: " + request.getRequestURL().toString() + "</li>");
1.85 - out.println("</ol>");
1.86 - break;
1.87 - case chyba:
1.88 - out.println("<p>chyba</p>");
1.89 - break;
1.90 - }
1.91 - } finally {
1.92 - out.close();
1.93 - }
1.94 - }
1.95 -
1.96 - // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
1.97 - /**
1.98 - * Handles the HTTP <code>GET</code> method.
1.99 - * @param request servlet request
1.100 - * @param response servlet response
1.101 - * @throws ServletException if a servlet-specific error occurs
1.102 - * @throws IOException if an I/O error occurs
1.103 - */
1.104 - @Override
1.105 - protected void doGet(HttpServletRequest request, HttpServletResponse response)
1.106 - throws ServletException, IOException {
1.107 - processRequest(request, response);
1.108 - }
1.109 -
1.110 - /**
1.111 - * Handles the HTTP <code>POST</code> method.
1.112 - * @param request servlet request
1.113 - * @param response servlet response
1.114 - * @throws ServletException if a servlet-specific error occurs
1.115 - * @throws IOException if an I/O error occurs
1.116 - */
1.117 - @Override
1.118 - protected void doPost(HttpServletRequest request, HttpServletResponse response)
1.119 - throws ServletException, IOException {
1.120 - processRequest(request, response);
1.121 - }
1.122 -
1.123 - /**
1.124 - * Returns a short description of the servlet.
1.125 - * @return a String containing servlet description
1.126 - */
1.127 - @Override
1.128 - public String getServletInfo() {
1.129 - return "Servlet pro zpracování AJAXových požadavků.";
1.130 - }// </editor-fold>
1.131 -}