表单提交中get和post方式的区别有5点
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get 传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5.get安全性非常低,post安全性较高。
看到网上很多童鞋都在问这个东东,我就发上来算了,哥都搞EE了,算了,为了方便大家还是给发布一下:
package com.shuangchuan;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
public class MyData {
public void post(String []str){
/**
* 使用httpclent包
* 直接通过HTTP协议提交数据到服务器,实现如下面表单提交功能:
* @paramactionUrl 上传路径(注:避免使用localhost或127.0.0.1这样的路径测试,由于它会指向手机模拟器,
* 你可以使用 itcast.cn 或 192.168.1.10:8080这样的路径测试)
*@paramparams 请求参数 key为参数名,value为参数值
*@paramfile 上传文件
**/
try {
String s="http://192.168.1.105:8080/yingyong/servlet/accessData";
s=s+"?name=wei";
URL url=new URL(s);
HttpURLConnection con=(HttpURLConnection )url.openConnection();
con.setConnectTimeout(5*1000);//设置超时时间
con.setDoInput(true);//答应输进
con.setDoOutput(true);//答应输出
con.setUseCaches(false);//不使用Cache
con.setRequestMethod("POST");
con.setRequestProperty("Charaset", "UTF-8");
StringBuilder sb=new StringBuilder();
sb.append("--start".getBytes());
sb.append(str[0]);
sb.append(str[1]);
sb.append(str[2]);
DataOutputStream out=new DataOutputStream(con.getOutputStream());
out.write(sb.toString().getBytes());
out.write("--end".getBytes());
int cah=con.getResponseCode();
if(cah!=200)throw new RuntimeException("请求url失败");
out.close();
con.disconnect();
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.shuangchuan;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
public class HttpActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String str[]=new String[]{"yang","wei","dong"};
MyData data=new MyData();
data.post(str);
}
}
package com.shuangchuan;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
public class aaaa {
// 通过POST将本地数据发送给服务器,string参数表
public static String sendDataByPost(String url, List datas){
org.apache.http.client.HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpResponse resp = null;
String result = "";
// post data
try {
post.setEntity(new UrlEncodedFormEntity(datas,HTTP.UTF_8));
resp = client.execute(post);
sendDataByPost(url, datas);
result = EntityUtils.toString(resp.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
}
相关推荐
国外网站上讲解android上用jdbc 连接 mysql oracle sqlserver等数据库的示例; 英文阅读不行的不要下载.全是英文的
初始条件: 理论:.NET、Java、Linux、Android或Windows Phone环境, Oracle、SQLite、SQL Server、SQL Server CE或MySQL数据库, C#、Eclipse、C++或其它合适、有效的开发工具,等等。 实践:计算机科学系实验中心...
MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本 低,尤其是开放源码这一特点,一般中小型网站...
sqlite数据库存取中文乱码的全部解决方案(包括其它数据库oracle+sqlserver+mysql) 数据库的连接方式、数据库里存放数据的字体编码、所选编程语言的缺省字体编码。如果在编程中遇到不能正确显示中文时、、、、
支持MySQL、Postgres、Microsoft SQL Server、H2、Derby、HSQLDB、Sqllite且可以相对容易的扩展到其他数据库。 临时支持(Provisional support)DB2、Oracle、ODBC和Netezza。如果不支持你的数据库,联系作者。 ...
基于JAVA环境的订餐和管理系统的设计 初始条件: 理论:.NET、Java、Linux、Android WindowsPhone 环境, Oracle、SQLite、 SQL Server、SQL Server CE MySQL数据库。
We have combined the experience of long-term successful development into one product, which provides unified access to multiple database servers like Oracle, Microsoft SQL Server, MySQL, InterBase, ...
它提供了对Oracle,Microsoft SQL Server,MySQL,InterBase,Firebird,PostgreSQL,SQLite,MongoDB,Amazon Redshift,Microsoft Access,Adaptive Server等多种数据库服务器的统一访问。 Enterprise,Advantage...
理论:.NET、Java、Linux、Android或Windows Phone环境, Oracle、SQLite、SQL Server、SQL Server CE或MySQL数据库, C#、Eclipse、C++或其它合适、有效的开发工具,等等。 实践:计算机科学系实验中心提供计算机及...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
它们是出色的工具,可直接访问流行的数据库,例如Oracle,Microsoft SQL Server,MySQL,InterBase,Firebird,PostgreSQL,SQLite以及云-Salesforce,FreshBooks,SugarCRM等。此外,我们为Delphi提供了成熟的ORM...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...