继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

Qyou
关注TA
已关注
手记 255
粉丝 52
获赞 361

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>


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP