Post方式提交表单后的地址栏不变

Get方式提交表单后的地址栏会带有参数


Servlet的doGet 和doPost方法

第一:你的servlet如果是继承自HttpServlet,就必须重写它里面的两 个虚方法doGet和doPost,也就是说,先不管别的servlet或jsp会去调用哪个方法,这两个方法都应该有。


第二:至于它调用哪个方法,就看提交方式
<form action="myServlet" method="get" >
method属性的值是get,它就去调用对应servlet的doGet方法。
同理,method属性的值是get,它就去调用对应servlet的doPost方法。

一般来说,不管采用那种提交方式,在servlet里要做的事情是一样的。所以,我们很多情况下,在一个方法里面调用另一个方法,这样随你那种方式提交的,都可以转去做一种处理。
eg:
public void doPost(HttpRequest request,HttpResponse response)throw ServletException,IOException {
doGet(request,response);
......
}
html中post和get区别
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式; ajax中的get和post
<script type="text/javascript"> var xmlHttp; function ajaxSubmit(site) { createXMLHttpRequest(); //get提交 /* var keywords = escape(document.getElementById("keywords").value);//escape()解决中文参数 var url = "web.aspx?keywords="+keywords; xmlHttp.open("get",url,true); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); */ //post提交 var keywords = escape(document.getElementById("keywords").value); var url = "7-4.xml"; var postdate = "keywords="+keywords; xmlHttp.open("post",url,true); xmlHttp.setrequestheader("content-length",postdate.length);//post提交设置项 xmlHttp.setrequestheader("content-type","application/x-www-form-urlencoded");//post提交设置项 xmlHttp.onreadystatechange = callback; xmlHttp.send(postdate); } function createXMLHttpRequest() { if(window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function callback() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var dates = xmlHttp.responseText; document.getElementById("obj").innerHTML=dates; } }else { document.getElementById("obj").innerHTML="正在加载数据,请稍等"; } }</script>