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

HttpServletRequest细节小结。。。

2007-08-08 15:51 288 查看
1:获取请求行的相关信息

请求方式, 资源路径,HTTP协议版本

比如:getMethod/getRequestURI

2:获取网络信息

3:获取请求头信息

4:利用Referer请求头来阴止“盗链”,这里所说的盗链就是一些诸如获取别人服务器上的东西,别人的页面的超链接指向自己的资源,来看看下面这段代码:

String referer = request.getHeader("referer");

String sitePart == "http://"+request.getServerName()

再来个判断是否同样是以相同的主机名。。。

referer.startsWith(sitePart);

5:利用Referer请求头隐藏javascript源代码

6:浏览传递参数信息

通常这里有两种方式来传递参数:get/post

对于get,它是以URL方式来传递的,这就需要你注意:一些安全性和最长长度的问题

即,如果是一些秘密的信息就不要使用GET,这样会将这些信息保存到很多地方。

一个URL的最长长度为1024B,另外它的消息头不能处理编码

至于post

它是作为HTTP实体部分传给WEB服务器 

Get是向服务器发索取数据的一种请求;而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。也就是说比如,想到数据库查询数据,就可以用GET,如果你想插入数据库,你应该用POST。

几个小细节。。。。

<input type="submit" name="submit" value="fdas">这个提交会将这个name也提交上去,这样服务器端就可以根据获取的提交按钮的值来判断用户单击是哪一个提交按钮。

输入框提交后,不管有没有值,它都会提交,如:text=&textarea=

单选与复选框的参数传递细节:见以下这个串就可以明白其中的道理了

checkBox=1&checkBox=2&radio=on

隐藏表单是在客户端的,正好与javascript合上拍

javascript防止重复表单提交:if (!isCommitted)

下面就来点如何获取请求参数

getParameter(...)/getParameterValues()

7.利用请求域属性传递信息:setAttribute()它有一个好处是,它可以传递各种类型的对象

8:请求参数的中文读取问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: