java - 通过 Ajax 请求的 Servlet 流

标签 java ajax servlets extjs

Ext.Ajax.request({url:'DeleteAction',success: doneFunction,failure: errorFunction,params:{name:rname}});

上面的代码是我的 Ajax 请求,该请求转到 DeleteAction Servelet。任何人都可以让我知道下面代码中接下来会发生什么。

  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();
    }
    </code></pre>
    
    }
    
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        process(request, response);
    }
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        process(request, response);
    }
    }
    

最佳答案

<强>1。当这个文件被调用时,首先调用的是什么。 松散地说,service()方法,假设 servlet 已经加载。否则,init()方法。

<强>2。 doGet 和 doPost 方法有什么作用? 它们将被 service() 方法调用。 service() 方法检查request-methodPOSTGETPUT或....,然后调用相应的方法。查看docs .

<强>3。它是如何识别这里面的doProcess方法的? 您自己在 doGet() 中调用了它和 doPost() , 两者。

<强>4。是否需要构造函数。 没有。Servlet 容器为我们实例化了 servlet。如果我们打算在创建时初始化一些东西,我们可以在 init() 中完成。方法。这只是为了类似的目的。所以,我们可以覆盖那个。

<强>5。响应如何发送回 Ajax。 这是一个JSON字符串。

关于java - 通过 Ajax 请求的 Servlet 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3958190/

相关文章:

java - HTTP 状态 500 - 内部服务器错误 eclipse

java - 多个线程访问同一对象上的同步和非同步方法

java - Apache ignite 和 Spark 迭代错误 java.lang.NoSuchMethodError : org. apache.spark.sql.SQLContext.createDataFrame

java - 一元运算与赋值融合

javascript - 将复选框值传递给服务器

java - Quartz 属性不会触发 Quartz Job

Java 反射没有按预期工作

javascript - 如何在ajax中创建自定义选项

jquery - 如何在 ruby​​ 中告诉 ajax 请求

java - 后续访问的Tomcat鉴权