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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦