Servlet如何得到客户端机器的信息

2023-07-06   


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
  
  


相关内容:

  1. Servlet如何得到服务器的信息
  2. Java Servlet的主要功能和作用是什么
  3. Java Servlet API中forward() 与redirect()的区别
  4. Java Servlet API中forward() 与redirect()的区别
  5. J2EE系统只能是基于web
  6. 什么是servlet