Поток сервлетов по запросу через Ajax - PullRequest
2 голосов
/ 18 октября 2010
Ext.Ajax.request({url:'DeleteAction',success: doneFunction,failure: errorFunction,params:{name:rname}});

Приведенный выше код - мой Ajax-запрос, отправляемый сервлету DeleteAction.Может кто-нибудь сообщить мне, что будет дальше в приведенном ниже коде.

  1. Когда этот файл вызывается, что вызывается первым делом.
  2. Что делают методы doGet и doPost?
  3. Как он определяет метод doProcess в этом?
  4. Обязательно ли иметь конструктор.
  5. Как ответ отправляется обратно в Ajax.

    public class DeleteAction extends HttpServlet implements Servlet {
    
    
    public DeleteAction() {
        super();
    }
    
    
    protected void process(HttpServletRequest request, HttpServletResponse response) {
    
    
    <pre><code>try {
        ServletOutputStream sos = response.getOutputStream();
        response.setHeader("Cache-Control", "no-store");
        response.setHeader("Pragma", "no-cache");
        response.setContentType("text/plain");
    
    
        String name = request.getParameter("name");
    
    
        System.out.println("Name: " + name);
    
    
        String query = "DELETE from CRUD_DATA where name='" + name + "'";
        System.out.println("Query:" + query);
    
    
        OracleDataSource ods = new OracleDataSource();
        ods.setUser("abdel");
        ods.setPassword("password");
        ods.setURL("jdbc:oracle:thin:@//127.0.0.1/XE");
    
    
        Connection conn = ods.getConnection();
        Statement statement = conn.createStatement();
    
    
        statement.executeUpdate(query);
        conn.commit();
        conn.close();
    
    
        sos.print("{success:true}");
        sos.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
    } Защищенный void doGet (запрос HttpServletRequest, ответ HttpServletResponse) создает исключение ServletException, IOException {process (запрос, ответ);} protected void doPost (запрос HttpServletRequest, ответ HttpServletResponse) выдает ServletException, IOException {process (запрос, ответ);}}

1 Ответ

2 голосов
/ 18 октября 2010

1. Когда вызывается этот файл, вызывается то, что первым. Грубо говоря, метод service(), предполагая, что сервлет уже загружен. В противном случае init() метод.

2. Что делают методы doGet и doPost? Они должны быть вызваны методом service(). Метод service() проверяет request-method, POST или GET или PUT или ...., а затем вызывает соответствующий метод. Проверьте документы .

3. Как он определяет метод doProcess в этом? Вы сами вызвали его в doGet() и doPost(), оба.

4. Нужно ли иметь конструктор. Нет. Контейнер сервлетов создает для нас сервлет. В случае, если мы собираемся инициализировать несколько вещей во время создания, мы можем сделать это методом init(). Который просто там для аналогичной цели. Итак, мы можем переопределить это.

5. Как ответ отправляется обратно в Ajax. Это JSON строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...