为了账号安全,请及时绑定邮箱和手机立即绑定

RequestListener 学习笔记-记录来访者IP

标签:
JavaScript

import java.util.HashMap;import java.util.Map;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;import javax.servlet.http.HttpServletRequest;public class CallListener implements ServletRequestListener {    private static Map<String, String> map = new HashMap<String, String>();    // 实例变量    private int counter;    static {        map.put("127.0.0.1", "北京");        map.put("192.168.11.96", "深圳");        map.put("192.168.11.113", "中山");        map.put("192.168.11.124", "珠海");    }    @Override    public void requestInitialized(ServletRequestEvent sre) {        // 取得事件源,即ServletRequest对象        HttpServletRequest request = (HttpServletRequest) sre                .getServletRequest();        // 取得客户端IP        String ip = request.getRemoteAddr();        // 通过ip查询归属地        String address = map.get(ip);        if (address == null) {            address = "北京";        }        // 通过ip查询归属地        request.setAttribute("ip", ip);        request.setAttribute("address", address);    }    @Override    public void requestDestroyed(ServletRequestEvent sre) {    }}

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">    <title>My JSP 'index.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->  </head>  <body>   您的IP地址:${ip }<br/>   归属地:${requestScope.address}<br/>  </body></html>


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
数据库工程师
手记
粉丝
52
获赞与收藏
361

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消