struts2 获取request

HttpServletRequest requet=ServletActionContext.getRequest();

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

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

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

1、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();
}

java中获取服务器的IP和端口的更多相关文章

  1. jfinal获取服务器的IP和端口

    String serverIp = getRequest().getServerName(); Integer serverPort = getRequest().getServerPort();

  2. Java Web 获取客户端真实IP

    Java Web 获取客户端真实IP 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP.一般分为两种情况: 方 ...

  3. JAVA中获取路径

    内容来自于snannan_268 关键字: java中获取路径 JAVA中获取路径: 1.jsp中取得路径:   以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.get ...

  4. JAVA中获取当前系统时间及格式转换

    JAVA中获取当前系统时间   一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; publi ...

  5. Java中获取键盘输入值的三种方法

    Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...

  6. java中获取日期和时间的方法总结

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...

  7. JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStrin ...

  8. java中获取路径中的空格处理(%20)问题

    在java中获取文件路径的时候,有时候会获取到空格,但是在中文编码环境下,空格会变成“%20”从而使得路径错误. 解决办法: String path = Parameter.class.getReso ...

  9. java中获取系统属性以及环境变量

    java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户 ...

随机推荐

  1. jquery刷新页面指定部位

    做好好几次了,经常忘记格式,这次记下来 $("#baseInfo").load("/KnowledgeLib/Personalization/QuestionUpdate ...

  2. JDK源码分析之concurrent包(二) -- 线程池ThreadPoolExecutor

    上一篇我们简单描述了Executor框架的结构,本篇正式开始并发包中部分源码的解读. 我们知道,目前主流的商用虚拟机在线程的实现上可能会有所差别.但不管如何实现,在开启和关闭线程时一定会耗费很多CPU ...

  3. java 常用的几个配置

    1.保存代码格式化,打勾即可 2.如何让eclipse像vs那样自动提示,在打勾的地方加入 abcdefghijklmnopqrstuvwxyz.即可

  4. Eclipse 介绍

    设置背景的插件: Darkest Dark Theme 添加 properties 插件: Properties Editor Git 插件: Egit 常用快捷键 command + 1 : 代码提 ...

  5. 使用 Python 编写 vim 插件

    使用 Python 编写 vim 插件 - 技术翻译 - 开源中国社区 code {margin: 0;padding: 0;white-space: pre;border: none;backgro ...

  6. tornado.web.StaticFileHandler

    tornado.web.StaticFileHandler 源代码中的解释 class StaticFileHandler(RequestHandler): """A s ...

  7. 小木虫emuch遭封禁,新域名muchong.com尚可用

    各位虫友: 因为小木虫站点个别虫子违反论坛规定,擅自上传了政治擦边的违规资源.导致小木虫域名 emuch.net 被通信局封禁! 我们第一时间对违规资源进行了删除处理,接下来.我们也将大批量的对站内的 ...

  8. win10下安装TensorFlow(CPU only)

    TensorFlow安装过程 1 环境 我的安装环境:win10 + 64位 +miniconda2+miniconda创建的python3.5.5环境+pip 由于目前TensorFlow在wind ...

  9. Mahout介绍-炼数

    Mahout的中文含义:象夫

  10. Java泛型二:通配符的使用

    原文地址http://blog.csdn.net/lonelyroamer/article/details/7927212 通配符有三种: 1.无限定通配符   形式<?> 2.上边界限定 ...