Servlet如何得到客户端机器的信息


Posted in 面试题 onOctober 17, 2014
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
}
}

Tags in this post...

面试题 相关文章推荐
Java面试题:请问一下代码输出是什么
May 27 面试题
包装类的功能、种类、常用方法
Jan 27 面试题
Java里面如何创建一个内部类的实例
Jan 19 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
Nov 26 面试题
如何在Oracle中查看各个表、表空间占用空间的大小
Oct 31 面试题
.NET程序员的几道面试题
Jun 01 面试题
简述DNS进行域名解析的过程
Dec 02 面试题
如何开启linux的ssh服务
Jun 03 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
Jun 22 面试题
UNIX文件类型
Aug 29 面试题
创联软件面试题笔试题
Oct 07 面试题
SOA的常见陷阱或者误解是什么
Oct 05 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
Mar 16 #面试题
Servlet如何得到服务器的信息
Dec 22 #面试题
Servlet方面面试题
Sep 28 #面试题
介绍一下javax.servlet.Servlet接口及其主要方法
Nov 30 #面试题
如何现实servlet的单线程模式
Aug 05 #面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
Oct 02 #面试题
Java Servlet的主要功能和作用是什么
Feb 14 #面试题
You might like
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
浅谈Angular4中常用管道
2017/09/27 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
python实现下载文件的三种方法
2017/02/09 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
三分钟英语演讲稿
2014/04/24 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript
Java实现带图形界面的聊天程序
2022/06/10 Java/Android