package com.babyDuncan.java;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ipServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ip = getRemoteAddress(request);
System.out.println(ip);
System.out.println(getMACAddress(ip));
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public String getRemoteAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
ip = request.getRemoteAddr();
}
return ip;
}
public String getMACAddress(String ip) {
String str = "";
String macAddress = "";
try {
Process p = Runtime.getRuntime().exec("nbtstat -A " + ip);
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC Address") > 1) {
macAddress = str.substring(
str.indexOf("MAC Address") + 14, str.length());
break;
}
}
}
} catch (IOException e) {
e.printStackTrace(System.out);
}
return macAddress;
}
}
访问地址:
http://hanvon-babydunc:8080/testServlet/servlet/ipServlet
运行结果:
192.168.10.18
00-26-C7-21-65-46
分享到:
相关推荐
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
使用intellij idea java开发软件,通过servlet获取访问用户的真实ip地址
servlet获取json的小例子
包含了servlet获取url的各种参数,可以得到url里面任何信息
客户端提交的信息可能有问板框、密码框、选择框、单选框、复选框以及文本域,这里做出了详细的解释,并有例子可供参考,全部原创,希望对大家有用;
主要介绍了java servlet获得客户端相关信息的简单代码,有需要的朋友可以参考一下
使用servlet读取客户端浏览器中的cookie数据
Servlet获取初始化参数.doc Servlet获取初始化参数.doc
比如从请求信息中可以获取客户端的ip,用户提交的信息等等,从响应信息中可以获取客户端的输出流,响应类型等等,当然中间的过程是由servlet容器封装好的,等我们开发servlet时会直接使用这些接口来编写具体的业务...
所有的信息都包括请求的地址、请求的参数、提交的数据、上传的文件,客户端的ip甚至客户端的os都包含在HttpServletRequest对象中。 客户端提交的信息可能有问板框、密码框、选择框、单选框、复选框以及文本域,所以...
以Android端为客户端和servlet为服务端的实时通讯的登录注册
1.通过Servlet的HttpRequest对象获取Ip地址。 2.通过Reactive的ServerHttpRequest对象获取Ip地址。
servlet-api.jar 下载地址servlet-api.jar 下载地址servlet-api.jar 下载地址servlet-api.jar 下载地址servlet-api.jar 下载地址
android客户端配套的一个服务器,用java servlet 编写,集成mysql数据库
编写一个 Servlet ,当用户请求该 Servlet 时,显示用户于哪年哪月哪日几时几分几秒从哪个 IP 地址连接至服务器。 原创文章 698获赞 1706访问量 78万+ 关注 私信 展开阅读全文 作者:进阶的JFarmer
本实验报告的主要目的是掌握 Servlet 应用,熟悉 web 开发的 MVC 模式,了解 servlet 的工作流程和作用,并掌握 servlet 的方法 init()、destory()、doGet()、doPost()。 一、实验目的 1. 掌握 Servlet 应用,熟悉...