2011-10-19

 

Servlet的应用--Referer请求和参数传递

1.referer的应用

1)利用Referer请求头阻止“盗链” 

  第一步:

  建一个MyHtml.html,内容为

  <a href = “http://localhost:8080/demoWeb/test”>retr</a>

 第二步:在servlet中判断是否是本地访问

//获取请求消息封装的referer头字段的值

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

   //用getServerName()获取localhost

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

//判断获取的地址是否为空,如果为空,则跳转页到dowm.html,如果不为空,输出

if(referrer!=null && referrer.startsWith(sitePart)){

out.println("deading downding");

}else{

RequestDispatcherrequest.

getRequestDispatcher("/down.html");

rd.forward(request, response);

}

第三步:通过地址栏访问

    在第一步有一个超链接,当运行MyHtml.html时,这个页面显示出来之后,点击超链接,应该是跳转到另一个界面。

请求消息包含referer头字段,超链接所在的html页面的url地址

Referrer:http://localhost:8080/demohtmlWeb/MyHtml.Html

如果输入的地址是http://localhost:8080/demohtmlWeb/test

则输入的地址不包含请求消息头字段referer,为空

注: 

点击超链接的时候,是向web服务器第二次发送了一个servlet请求

servlet中:获取请求消息封装的referer头字段的值

如果referer字段的值为空:

如果不为空

String name = http://+request.getServerName();

利用referer可以隐藏javascript 代码:

Test.js

Document.wirte(“假设这是很多的js代码”);

Page1.html

<script type=”text/javascript” src=”test.js”>

</script>

利用servlet

浏览器传递参数信息的细节:

get方法

提交  重置

没有名字的文本框在地址栏是没有输出的

复选框没有value属性   系统自动设为on

隐藏表单字段

图片

列表框

没有做出选择的列表框的信息不会作为参数提交

设置属性区别对待每一个选项

彻底删除和删除

Sring str = request.getParameter(“button1”);

If(str.equals(“彻底删除”)){

}else{

}

要彻底删除要在数据库中

Delete from 表名

Where id in(‘01’,’02’,’03’);

只是删除

Update 表名

Set flag=1

Where id in(‘01’,’02’,’03’);

获取复选框中的所有制

<input type=”checkbox” value=”001”,name=”booklist”/>

<input type=”checkbox” value=”002”,name=”booklist”/>

<input type=”checkbox” value=”003”,name=”booklist”/>

<input type=”checkbox” value=”004”,name=”booklist”/>

<input type=”checkbox” value=”005”,name=”booklist”/>

String arr[] = request.getParameterValues(“booklist”):

String s = “”;

For(int 0 =0;i<arr.length;i++){

String s[] =arr[i];

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值