您的位置:首页 > 理论基础 > 计算机网络

java Http编程小结

2015-08-12 20:14 393 查看

1:什么是HTTP?

超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议。
HTTP在客户端和服务器之间以request-response protocol(请求-回复协议)工作。

2:get 与post

get只有一个流,参数附加在url后,地址行显示要传送的信息,大小个数有严格限制且只能是字符串。
post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。

1、安全

GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来问题,例如用户名和密码等

POST就可以在一定程度上解决此类问题

2、服务器接收方式

服务器随机接受GET方法的数据,一旦断电等原因,服务器也不知道信息是否发送完毕

而POST方法,服务器先接受数据信息的长度,然后再接受数据

3、form运行方式

当form框里面的method为get时,执行doGet方法
当form框里面的method为post时,执行doPost方法

4、容量限制

GET方法后面的信息量字节大小不要超过1.3K,而Post则没有限制

最后说明的是:

你可以用service()来实现,它包含了doget和dopost ;service方法是接口中的方法,servlet容器把所有请求发送到该方法,该方法默认行为是转发http请求到doXXX方法中,如果你重载了该方法,默认操作被覆盖,不再进行转发操作!

service()是在javax.servlet.Servlet接口中定义的, 在 javax.servlet.GenericServlet
中实现了这个接口, 而 doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的, javax.servlet.http.HttpServlet 是 javax.servlet.GenericServlet 的子类.

所有可以这样理解, 其实所有的请求均首先由 service() 进行处理, 而在 javax.servlet.http.HttpServlet 的 service() 方法中, 主要做的事情就是判断请求类型是 Get 还是 Post, 然后调用对应的 doGet/doPost 执行.

3:HTTP编程

1>:使用get方式获取服务器端的一张图片,放在本地==》获取服务器的东西用get方式更好

package com.qianfeng.upload;

import java.io.File;
import java.util.HashMap;

import org.json.JSONObject;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {

String path = "http://localhost:8080/FileUploadServer/servlet/UploadServlet";

HashMap<String,String> params = new HashMap<String,String>();
params.put("username", "admin");
params.put("password", "123");

File file = new File("file\\tou1.jpg");

FileUpload fileUpload = new FileUpload();
fileUpload.fileUpload(path, file, params, "utf-8", new CallBack(){

@Override
public void getResult(JSONObject obj) {
System.out.println(obj.toString());
}
});

}

}


Test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: