使用servlet处理HTTP请求

  • Post author:
  • Post category:其他



1 HttpServletReques是ServletRequest

的子接口。

是专门针对

http


协议书写的接口,由容器实现,由用户调用。用户根据接口调用方法,可以屏蔽容器的差异。


2get




post


区别:


提交数据类型: 文本       文本、二进制文本


提交数据长度:

255字符


无限制


提交数据可见性:作为

URL


地址的一部分显示在浏览器地址栏    作为请求的消息体,不可见


提交数据缓存   缓存在浏览器

url


历史状态中

不会被浏览器缓存


总结:


Get

方式主要作用时资源的查找。


Post

方式主要作用时数据的传输


3 url/uri

区别


url:

包含请求地址


uri:

不包含


4

:请求头


HttpServletReques

利用


getHeader()





getHeader()


得到请求头,同样只对


http


协议有效。


5

:上传图片:


1




post


提交


2




enctype=





multipart/form-data





;


在Form元素的语法中,EncType表明提交数据的格式,用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型表单中 enctype=”multipart/form-data”的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x- www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。


6

:请求转发


//

得到请求转发对象


RequestDispatcher d=request.getRequestDispatcher(


“two”


);【要转发的servlet路径】


//

内部转发指定的页面或



servlet


,客户端只发出一次请求。资源在服务器内部调用


d.forward(request, response);


//b

包含另一个



servlet


输出的结果


d


.include(request, response);


两种方法来包含不同的资源,以及将请求转发到不同资源:


1


forward


()把请求和响应派发给别的资源后,就不会再去做任何处理了。


2


include


()把请求发送给另一个服务器资源(通常是另一

servlet


)来完成工作,然后再返回给发送者。


//

封装数据到


request


,只在一次请求范围内有效


request.setAttribute(


“ff”


,


“11”


);



7

重定向和内部转发的区别


1

:重定向由


response


发出,内部转发由


requestDispatcher


发出。


2

:重定向发出二次请求,内部转发发出一次请求。内部转发可以取出


request


中封转的数据。而重定向不行。(每次请求会产生新的


request


对象)。


3

:内部转发只能在一台服务器中作资源调用。重定向可以在第二次请求时请求另外的服务器。


8


M


yeclipse

开发时,部署名和工程名默认一致。但也可以不一致。

9

改变部署名:

右键单击工程

—properties—myeclipse—web—web context-root

10




form


表单的


action


中如果直接写路径,表示在当前目录下查找。

如果在

action


中先书写


/


。表示回到


webapps


根目录。这时必须在


/


后加上部署名。





版权声明:本文为It231123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。