Propojení javascriptu a servletu.
1 package cz.frantovo.sql.vyuka.ajax;
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import javax.servlet.ServletException;
6 import javax.servlet.http.HttpServlet;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
11 * Servlet pro vyřizování AJAXových požadavků.
14 public class Servlet extends HttpServlet {
16 private static final long serialVersionUID = 9102108273105288056L;
20 /** Provede SQL dotaz. */
22 /** Vypíše historii SQL příkazů daného uživatele. */
24 /** Vypíše nějaké nepotřebné informace. */
26 /** Pokud je požadovaná akce nesmysl. */
31 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
32 * @param request servlet request
33 * @param response servlet response
34 * @throws ServletException if a servlet-specific error occurs
35 * @throws IOException if an I/O error occurs
37 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
39 /** Používáme pouze UTF-8 */
40 response.setContentType("text/html;charset=UTF-8");
41 request.setCharacterEncoding("UTF-8");
43 PrintWriter out = response.getWriter();
47 akce parametrAkce = akce.chyba;
49 parametrAkce = akce.valueOf(request.getParameter("akce"));
50 } catch (Exception e) {
51 /** Chyba nebo podvržený AJAXový požadavek → zobrazíme chybovou hlášku */
56 String idSezeni = request.getRequestedSessionId();
59 switch (parametrAkce) {
61 out.println(a.geSQLVysledek(request.getParameter("sql"), idSezeni));
64 out.println(a.getHistorie(idSezeni));
67 out.println("<p>AJAX jede!</p>");
69 out.println("<li>Metoda: " + request.getMethod() + "</li>");
70 out.println("<li>Host: " + request.getRemoteHost() + "</li>");
71 out.println("<li>Adresa: " + request.getRemoteAddr() + "</li>");
72 out.println("<li>Akce: " + request.getParameter("akce") + "</li>");
73 out.println("<li>SQL: " + request.getParameter("sql") + "</li>");
74 out.println("<li>Sezení: " + request.getRequestedSessionId() + "</li>");
75 out.println("<li>URL: " + request.getRequestURL().toString() + "</li>");
79 out.println("<p>chyba</p>");
87 // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
89 * Handles the HTTP <code>GET</code> method.
90 * @param request servlet request
91 * @param response servlet response
92 * @throws ServletException if a servlet-specific error occurs
93 * @throws IOException if an I/O error occurs
96 protected void doGet(HttpServletRequest request, HttpServletResponse response)
97 throws ServletException, IOException {
98 processRequest(request, response);
102 * Handles the HTTP <code>POST</code> method.
103 * @param request servlet request
104 * @param response servlet response
105 * @throws ServletException if a servlet-specific error occurs
106 * @throws IOException if an I/O error occurs
109 protected void doPost(HttpServletRequest request, HttpServletResponse response)
110 throws ServletException, IOException {
111 processRequest(request, response);
115 * Returns a short description of the servlet.
116 * @return a String containing servlet description
119 public String getServletInfo() {
120 return "Servlet pro zpracování AJAXových požadavků.";