html tool

2015年2月1日星期日

selvet get和post的参数传递的区别

def:selvet get和post的参数传递的区别
参见:http://www.jb51.net/article/52712.htm
(1)doGet方法:主要是处理Http中的Get请求
(2)doPost方法:主要是处理Http中的Post请求
那么Get请求和Post请求到底有什么样的区别
(1)get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串
例如,http://localhost:8888/javaweb/getServlet?name=123
(2)post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
什么时候使用doGet和doPost方法 :
1.通过表单提交到的servlet,看form的method是get还是post  
2.通过链接访问的servlet,doGet   
3.直接在ie地址栏中键入的servlet地址,doGet

-----java code eg------
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out=response.getWriter();
String res=request.getParameter("action");
System.out.println(res);
        out.println("

"+request.getParameter("urlname")+"

");
        out.flush();
//ajax
if(request.getSession(false)==null){
   System.out.println("Session has been invalidated!");
}
else{
System.out.println("Session is active!");
}
//test

//TestServlet t;
//t=new TestServlet();
//t.testoutput(baseUrl);

    }
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out=response.getWriter();
String res=request.getParameter("urlname");
System.out.println(res);
        out.println("

post is"+request.getParameter("urlname")+"

");
        out.flush();
    }

没有评论:

发表评论