Ext.Ajax.request({url:'DeleteAction',success: doneFunction,failure: errorFunction,params:{name:rname}});
上面的代码是我的Ajax请求,它发送到DeleteAction Servelet。任何人都可以让我知道下面代码中接下来会发生什么。
如何将响应发送回Ajax。
public class DeleteAction extends HttpServlet implements Servlet {
public DeleteAction() {
super();
}
protected void process(HttpServletRequest request, HttpServletResponse response) {
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();
}
}
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);
}
}
答案 0 :(得分:2)
<强> 1。调用此文件时,首先要调用的是什么。
简而言之,service()
方法,假设servlet已经加载。否则,init()
方法。
<强> 2。 doGet和doPost方法有什么作用?
它们由service()
方法调用。 service()
方法检查request-method
,POST
或GET
或PUT
或....,然后调用相应的方法。查看docs。
第3。它如何识别doProcess方法?
您自己在doGet()
和doPost()
中自行调用了它。
<强> 4。是否需要构造函数。
没有.Servlet容器为我们实例化servlet。如果我们打算在创建时初始化一些东西,我们可以在init()
方法中做到这一点。这仅仅是出于类似的目的。所以,我们可以覆盖那个。
<强> 5。如何将响应发送回Ajax。 它是一个JSON字符串。