java中获取服务器的IP和端口

struts2 获取requestjava

HttpServletRequest requet=ServletActionContext.getRequest();linux

requet.getScheme()+"://"+requet.getServerName()+":"+requet.getServerPort()web

(例如)结果为:http://localhost:8080/服务器

 

request.getHeader("User-Agent");    //就是取得客户端的系统版本     
request.getRemoteAddr();    //取得客户端的IP     
request.getRemoteHost()     //取得客户端的主机名     
request.getRemotePort();    //取得客户端的端口     
request.getRemoteUser();    //取得客户端的用户     
request.getLocalAddr();    //取得服务器IP     
request.getLocalPort();    //取得服务器端口app

 

一、JSP中得到当前应用的相对路径和绝对路径
  根目录所对应的绝对路径:request.getRequestURI()
  文件的绝对路径  :application.getRealPath(request.getRequestURI());
  当前web应用的绝对路径 :application.getRealPath("/");
  取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()

2 Servlet中得到当前应用的相对路径和绝对路径
  根目录所对应的绝对路径:request.getServletPath();
  文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())   
  当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
  (ServletContext对象得到几种方式:
  javax.servlet.http.HttpSession.getServletContext()
  javax.servlet.jsp.PageContext.getServletContext()
  javax.servlet.ServletConfig.getServletContext()
  )

3.Java类中得到绝对路径
  根据java.io.File的Doc文挡,可知: 默认状况下new File("/")表明的目录为:System.getProperty("user.dir")。
 
扩展: 上面的获取IP方法,只能获取到127.0.0.1,无语 在window下使用 InetAddress.getLocalHost().getHostAddress() 这种方法在linux却只能取到127.0.0.1这个让人无奈的地址。。。这简直是让人不能忍受的啊。。。这种地址不用获取,咱们谁不知道。。。  在网上搜索了不少,发现说这个问题的并很少,因此,我把找到的一段代码分享给你们。。。固然这段代码须要jdk1.5以上版本  Java代码  Enumeration<NetworkInterface> netInterfaces = null;    try {        netInterfaces = NetworkInterface.getNetworkInterfaces();        while (netInterfaces.hasMoreElements()) {            NetworkInterface ni = netInterfaces.nextElement();            System.out.println("DisplayName:" + ni.getDisplayName());            System.out.println("Name:" + ni.getName());            Enumeration<InetAddress> ips = ni.getInetAddresses();            while (ips.hasMoreElements()) {                System.out.println("IP:"               + ips.nextElement().getHostAddress());            }        }    } catch (Exception e) {        e.printStackTrace();    }   Enumeration<NetworkInterface> netInterfaces = null; try {         netInterfaces = NetworkInterface.getNetworkInterfaces();         while (netInterfaces.hasMoreElements()) {                 NetworkInterface ni = netInterfaces.nextElement();                 System.out.println("DisplayName:" + ni.getDisplayName());                 System.out.println("Name:" + ni.getName());                 Enumeration<InetAddress> ips = ni.getInetAddresses();                 while (ips.hasMoreElements()) {                         System.out.println("IP:"                         + ips.nextElement().getHostAddress());                 }         } } catch (Exception e) {         e.printStackTrace(); }
相关文章
相关标签/搜索