设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[面试题库] Servlet如何得到客户端机器的信息

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-30 17:03:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Servlet可以使用getRemoteAddr()和getRemoteHost()来得到客户端的IP地址和host, 代码如下所示:

public String ServletRequest.getRemoteAddr()
public Stirng ServletRequest.getRemoteHost()

用这些方法来访问客户端有所限制,如下代码实现了对客户端配置进行检查并把相关消息发送到客户端的功能:

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class DemoExportRestriction extends HttpServlet{

public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException{

res.setContentType("text/plain");
PrintWriter out= res.getWriter();

//得到客户端的hostname
String remoteHost = req.getRemoteHost();

//查看客户端是否允许这样的操作
if(!isHostAllowed(remoteHost)){
out.println("Access ACCESS DENIED ");
} else{
out.println("access granted");
}
}
private boolean isHostAllowed(String host) {
return(host.endsWith(".com"))||
(host.indexOf('.')==-1);//没有域名 ok
}
}
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-5 09:46 , Processed in 0.155299 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表