servlet在处理form请求和ajax请求有何区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet在处理form请求和ajax请求有何区别?相关的知识,希望对你有一定的参考价值。
没多少区别吧,一般来说Ajax的话会输出一些反馈信息来给反馈给用户而已,form请求的话是执行完业务需求之后进行页面的跳转吧! 参考技术A 用ajax是局部刷新 ajax你注意看页面地址栏是不会有变化的 整个页面不会刷新 你用form请求的话整个页面都会有一个刷新 注意页面下方是刷新请求变化的 参考技术B sertvlet是页面请求响应可是是request的,可以是response的
ajax是异步请求
响应只一般用reponse
除非把整理个页面都返回到请求页面 参考技术C 一个同步一个异步
一个页面必须跳转
一个页面不跳转
通过 Ajax 处理请求的 Servlet 流
【中文标题】通过 Ajax 处理请求的 Servlet 流【英文标题】:Servlet Flow on a Request via Ajax 【发布时间】:2011-04-26 20:52:57 【问题描述】:Ext.Ajax.request(url:'DeleteAction',success: doneFunction,failure: errorFunction,params:name:rname);
上面的代码是我发送给 DeleteAction Servelet 的 Ajax 请求。谁能告诉我下面的代码接下来会发生什么。
-
调用此文件时,首先调用的是什么。
doGet 和 doPost 方法有什么作用?
如何识别这里面的doProcess方法?
是否一定要有构造函数。
如何将响应发送回 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);
【问题讨论】:
【参考方案1】: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 字符串。
【讨论】:
以上是关于servlet在处理form请求和ajax请求有何区别?的主要内容,如果未能解决你的问题,请参考以下文章
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式