doGet接收URL传来的参数,只能小于255的参数; doPost接收FORM传来的参数,可以接受大参数 doGet接收URL传来的参数; doPost接收FORM传来的参数,可以接受大参数
<h3 align="center"><a href="/library/bookservlet?action=add" target="mainFrame">添加</a></h3>
上面的是向bookservlet带参数的请求,只能在doget()中处理
dopost()中处理的是form中的action
一般来说我们是用不到doGet方法的,doGet方法提交表单的时候会在url后边显示提交的内容,所以不安全。而且doGet方法只能提交256个字符。通常我们使用的都是doPost方法,你只要在servlet中让这两个方法互相调用就行了,例如在doGet方法中这样写public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}再把业务逻辑直接写在doPost方法中。servlet碰到doGet方法调用直接就会去调用doPost因为他们的参数都一样。而且doGet方法处理中文问题很困难,要写过滤器之类的。
浏览器提交请求给servlet的时候 有6种方式 get和post是比较常用的 别的基本不用get方式 参数在地址栏中显示 通过?name=""&id=""这种形式传递的 不安全 只能传递2kb的能容post方式 底层是通过流的形式传递 不限制大小 上传的时候必须用Post方式 servlet根据提交请求的方式去调用相应的doGet和doPost的方法嗯 应该就这些
get和post是http协议的两种方法,另外还有head, delete等
这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
|