表单提交中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;
}
}
相关推荐
ADO允许我们通过ODBC(Open Database Connectivity)或OLE DB接口访问多种类型的数据库,包括SQL Server、Oracle、MySQL等。在这个"delphi 连接数据库简单案例"中,采用的是Windows身份验证方式,这意味着连接数据库...
FireDAC是Embarcadero Delphi提供的一种强大的数据库访问组件,支持多种数据库平台,包括SQL Server、MySQL和SQLite。虽然这里没有涵盖Oracle数据库的连接,但我们将主要关注其他数据库的连接池实现。 1. **FireDAC...
本文将深入探讨如何在Android应用中使用JDBC连接MySQL、Oracle和SQL Server等不同类型的数据库。 首先,我们需要理解JDBC在Android中的基本概念。JDBC是Java标准API,用于与各种关系型数据库进行交互。它提供了一组...
3. **SQLServer**:SQL Server是微软的数据库管理系统,用于存储和管理数据。关键知识点包括T-SQL语法(SELECT、INSERT、UPDATE、DELETE)、数据库设计(ER模型、范式)、索引、存储过程、触发器、事务处理、备份与...
无论使用哪种RDBMS,最终都会通过SQL语言进行操作,这是因为SQL是关系型数据库的统一操作标准。 ##### 1.2 MySQL数据库 **1.2.1 MySQL版本** MySQL提供了两种主要版本: - **社区版(MySQL Community Server)**...
- **DataSnap**:XE5的DataSnap框架允许开发者创建分布式应用程序,它可以轻松地连接到各种数据库,如SQL Server、Oracle、MySQL等。在Android项目中,需要设置DataSnap服务器组件,配置数据库连接字符串,然后创建...
例如,使用MySQL、Oracle或SQLite等数据库,执行SQL语句进行数据增删改查操作。 4. 数据交互:服务器处理完业务逻辑后,将结果封装成JSON格式,再通过HTTP响应返回给客户端。 四、数据库操作 1. SQL语句:根据业务...
UniDAC (Universal Data Access Components) 是一套由重庆慧都控件网提供的数据库访问组件,支持多种数据库类型,如MySQL、SQL Server、Oracle等。它不仅可以被用于Windows应用开发,也是Delphi XE5等跨平台开发环境...
这可能涉及更改SQL查询语句,因为Oracle数据库和MySQL等其他数据库可能存在语法差异。 5. **测试和优化**:部署应用到Tomcat服务器后,进行详尽的测试,确保所有功能正常工作。根据性能表现,可能需要进行数据库...
Oracle是大型收费数据库,MySQL是开源免费的中小型数据库,SQL Server是微软公司的中型收费数据库,PostgreSQL是另一种开源免费的中小型数据库,DB2是IBM的大型收费数据库产品,SQLite则是一种嵌入式微型数据库,常...
此外,它支持多种数据源,包括SQL Server数据库、Oracle、MySQL等,以及自定义数据连接。 2. **数据可视化**:在2012版中,报表设计引入了新的图表类型和改进的数据可视化功能,如地图图表,使得地理数据的展示更为...
- **示例**:MySQL、Oracle、SQL Server 等。 ### 四、主流数据库介绍 #### 4.1 Oracle - **特点**:大型收费数据库,性能强大。 - **适用场景**:适用于资金充足的企业。 #### 4.2 MySQL - **特点**: - 开源且...
ADO是微软提供的一个数据访问接口,可以与多种数据库系统如SQL Server、Oracle、MySQL等交互。BDE则是早期Delphi中的数据库接口,虽然现在使用较少,但在某些老项目中仍可见到。在Delphi中,通过TADOConnection、...
"Navicat"是这类软件的一个知名代表,它支持多种数据库管理系统,包括MySQL、PostgreSQL、Oracle、SQL Server等。 Navicat的功能强大且多样化,主要包含以下几个核心知识点: 1. **多数据库管理**:Navicat支持...
* 熟练应用 Oracle、MySql、SQLServer 等关系型数据库 工作经验 * 时间:20/7-20/6 * 公司:计算机软件技术部 * 职位:软件工程师 * 工作描述:软件外包业务的设计和开发 培训经历 * 培训内容:软件工程的基本...
在数据库编程中,最常用的数据库管理系统(DBMS)包括MySQL、SQL Server、Oracle和SQLite等。这些系统提供了SQL(Structured Query Language)作为标准的数据查询语言。SQL是一种强大的语言,用于执行复杂的数据库操作...
初始条件: 理论:.NET、Java、Linux、Android或Windows Phone环境, Oracle、SQLite、SQL Server、SQL Server CE或MySQL数据库, C#、Eclipse、C++或其它合适、有效的开发工具,等等。 实践:计算机科学系实验中心...
标题中的"ssh、js、jsp、mysql、oracle、jstl、javaAPI+AndroidAPI中文文档"涵盖了多个IT领域的关键知识点,这些技术在现代软件开发中占有重要地位。以下是关于这些技术的详细解释: 1. **SSH(Secure Shell)**:...
Excel作为一种便捷的数据存储和处理工具,与各种数据库(如MySQL、SQL Server、Oracle等)进行交互是必要的。本篇将详细介绍如何读取Excel数据并将其写入数据库。 首先,我们需要了解基本的文件操作和数据处理技术...