如何在jsp中读取远程机器的Properties 文件和ip地址

---摘自互联网

This  servlet  could  be  used  for  basic  security  in  servlet.
When  you  want  to  limit  the  computers  that  can  call  a  specific  servlet.
You  read  the  valid  IP  address  from  a  properties  file.
The  IP  of  the  computer  calling  the  servlet  (static  IP)  is  compared  with  value  in  the  property  file.

If  the  values  are  the  same  then  it  is  called  from  the  correct  computer.
Otherwise  a  message  is  displayed  showing  the  error.

For  demonstration  purposes  the  IP  Addresses  are  displayed.

Save  the  file  as  GetIPAddressServlet.java

Create  text  file  called  readip.props
Inside  the  file  type:
ip=xxx.xxx.xx.xx
replace  the  'x'  with  the  actual  IP  address  you  want  to  store.  This  will  be  used  to  compare  with  the  IP  address  of  the  computer  calling  the  servlet.

Copy  the  readip.props  file  into  a  directory  which  the  servlet  will  be  able  to  find.  For  example,  c:\winnt\system32

Compile  the  servlet.
javac  GetIPAddressServlet.java

Copy  the  servlet  class  file  into  the  servlet  directory  on  the  webserver  (read  vendor's  documentation).

Call  the  servlet  http://localhost/GetIPAddressServlet
and  it  should  display  the  IP  addresses  and  the  results  of  the  comparison.


import  java.io.*;
import  java.lang.*;
import  java.util.*;
import  javax.servlet.*;
import  javax.servlet.http.*;


public  class  GetIPAddressServlet  extends  HttpServlet
{
protected  void  doGet(HttpServletRequest  request,
HttpServletResponse  response)
throws  ServletException,  IOException
{

response.setContentType("text/html");
ServletOutputStream  out  =  response.getOutputStream();
out.println("<HTML><HEAD><TITLE>");
out.println("Get  IP  Address  Servlet");
out.println("</TITLE></HEAD>");
out.println("<BODY>");

//  Read  properties  file.
Properties  properties  =  new  Properties();
try
{
properties.load(new  FileInputStream("readip.props"));
}
catch(IOException  e)
{
e.printStackTrace();
}
String  ipAddress  =  "";
String  remoteIPAddress  =  "";
//  Read  the  value  of  key  -  ip
ipAddress  =  properties.getProperty("ip");

out.println("ip  address  (from  properties  file)  ="  +  ipAddress);
out.println("<br>");
//  read  the  (remote)  IP  address  of  the  requesting  computer
remoteIPAddress  =  request.getRemoteAddr();
request.
out.println("remote  ip  address  ="  +  remoteIPAddress);
out.println("<br>");

if  (ipAddress.equals(remoteIPAddress))
{
out.println("Same  IP  Address");
}
else
{
out.println("Sorry,  this  is  not  the  same  IP  Address");
}

out.println("</BODY></HTML>");
out.close();

}
}