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...

面试题 相关文章推荐
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
Dec 13 面试题
委托与事件是什么关系?为什么要使用委托
Apr 18 面试题
名词解释型面试题(主要是网络)
Dec 27 面试题
常用UNIX 命令(Linux的常用命令)
Jul 10 面试题
介绍一下Linux文件的记录形式
Apr 18 面试题
Linux内核产生并发的原因
Nov 08 面试题
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
Nov 04 面试题
Python面试题集
Mar 08 面试题
Java程序开发中如何应用线程
Mar 03 面试题
JAVA程序设计笔试题面试题一套
Jul 28 面试题
怎样声明一个匿名的内部类
Jun 01 面试题
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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
基于initPHP的框架介绍
2013/04/18 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
javascript常用方法汇总
2014/12/02 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
python修改字典键(key)的方法
2019/08/05 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
医院领导班子整改方案
2014/10/01 职场文书
中学生学习保证书
2015/02/26 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js
如何利用python创作字符画
2022/06/25 Python