当前位置:首页 > CN2资讯 > 正文内容

Java 获取服务器 java 获取服务器域名

7小时前CN2资讯


访问网页的主机ip为:123.10.23.12

部署网页的服务器ip为:10.0.4.214

JAVA获取域名或者ip相关信息的方法

request.getServerName()

返回被请求服务器域名,如果没有域名则返回IP地址:10.0.4.214

request.getServerPort()

返回被请求服务器端口:8081

request.getRemoteHost()

返回远程主机(客户端)域名,没有域名就返回IP:123.10.23.12,如果服务端和客户端在同一台机子上且使用了localhost进行访问,那么此处得到的将是0:0:0:0:0:0:0:1,这是由于host文件导致的。

request.getRemoteAddr()

返回远程主机(客户端)IP地址:123.10.23.12,同上

request.getLocalName()

返回本地(服务端)域名,没有域名就返回IP:10.0.4.214,如果服务端和客户端在同一台机子上且使用了localhost进行访问,那么此处得到的将是0.0.0.0,这是由于host文件导致的。

request.getLocalAddr()

返回本地(服务端)域名,没有域名就返回IP:10.0.4.214,同上

request.getLocalPort()

返回本地(服务端)端口:8081

InetAddress.getLocalHost().getAddress()

返回本地(服务端)IP(数组形式):[10, 0, 2, 88]

此处需要注意:如果服务器用的是windows那么可以正确获取到IP,但,如果服务器是linux,则只能获取到[127, 0, 0, 1] 。

request.getRequestURL()

获取请求的网址全路径:https://10.0.4.214:8081/vasportal/index.action

request.getRequestURI()

获取工程名和请求路径:vasportal/index.action

request.getContextPath()

获取当前请求的上下文(可以理解为工程名): /vasportal

request.getServletContext().getRealPath("/temp")

获取项目中webapp下的temp文件夹

request.getServletPath()

得到当前服务器servlet映射的路径:index.action

request.getProtlcol()

得到当前请求的协议版本:HTTP/1.1

request.getScheme()

得到当前请求的协议类型:https

使用方式--后端

@Controller

@RequestMapping(value="/test")

public class TestControllor { Logger logger = Logger.getLogger(TestControllor.class); @ResponseBody @RequestMapping(value="/blog", method=RequestMethod.GET) public String operation(HttpServletRequest request){ String url = "http://" + request.getServerName() //服务器地址 + ":" + request.getServerPort()//端口号 + httpRequest.getContextPath() //项目名称 + httpRequest.getServletPath() //请求页面或其他地址 + "?" + (httpRequest.getQueryString()); //参数 System.out.println(url); return ""; } }

使用方式--前端

满足条件则显示本行文字

有时候我们需要在jsp页面获取当前地址。(非js获取)

获取浏览器地址栏输入的地址

EL表达式获取

${requestScope['javax.servlet.forward.request_uri']}

或者

${pageContext.request.getAttribute("javax.servlet.forward.request_uri")}

java脚本获取

ps注意事项

Tomcat和Was7对servlet标准的实现不尽相同的。差异很大,导致最终结果也有些差异了。本文中要说的request.getAttribute("javax.servlet.forward.request_uri")调用结果就是其中的一个差异。

在Tomcat环境下javax.servlet.forward.request_uri存放的是当前请求路径,但在was7下存放的却是上一个请求的路径。

获取浏览器地址栏输入地址的请求参数

例如:http://localhost:8080/test/hello?name=joe获取name

EL表达式获取

${}

java脚本获取

获取当前页面绝对路径

java脚本

或者

String url=request.getScheme()+"://";

url+=request.getHeader("host");

url+=request.getRequestURI();

if(request.getQueryString()!=null)

url+="?"+request.getQueryString();

EL表达式

${pageContext.request.requestURL}

获取服务器的相关信息

EL表达式

${pageContext.request} |取得请求对象

${pageContext.session} |取得session对象

${pageContext.request.queryString} |取得请求的参数字符串

${pageContext.request.requestURL} |取得请求的URL的服务器路径,但不包括请求之参数字符串

${pageContext.request.contextPath} |服务的web application的名称

${pageContext.request.method} |取得HTTP的方法(GET、POST)

${pageContext.request.protocol} |取得使用的协议(HTTP/1.1、HTTP/1.0)

${pageContext.request.remoteUser} |取得用户名称

${pageContext.session.new} |判断session是否为新的,所谓新的session,表示刚由server产生而client尚未使用

${} |取得session的ID

${header["User-Agent"]}|用户浏览器的版本

${header["Host"]}|IP

${pageContext.request.remoteAddr } |取得用户的IP地址

${pageContext.servletContext.serverInfo}|取得主机端的服务信息

${pageContext.request.serverPort}|端口信息

${pageContext.request.serverName}|服务器名称

${pageContext.request.remoteHost}|客户机名称

java脚本

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31943.html

    分享给朋友:

    “Java 获取服务器 java 获取服务器域名” 的相关文章

    Atlantic VPS:高性能、灵活性与安全性的理想选择

    什么是Atlantic VPS? Atlantic VPS由Atlantic.net提供,这是一家在VPS托管服务领域中的资深者,已经经营了近29年。创建之初,Atlantic.net就定位于高性能和灵活性,以满足企业和开发者日益增长的需求。他们的目标是提供一种可靠的解决方案,让用户在自己的业务上更...

    如何高效使用测速脚本监测网络性能

    在互联网的快速发展中,网络测速变得越来越重要。作为一个互联网用户,了解自己的网络性能是否稳定,以及在不同时间与地点的表现,能帮助我们更好地选择服务和进行问题排查。网络速度直接影响了我们的在线体验,无论是看视频、玩游戏,还是进行远程办公,网络性能都扮演着至关重要的角色。 测速脚本出现在这样的背景下,它...

    轻云互联:助力企业数字化转型的云计算解决方案

    轻云互联是隶属于广州轻云网络科技有限公司的云计算服务提供商。自成立以来,轻云互联专注于云计算领域,提供一系列全方位的一体化解决方案。这些解决方案涵盖了云计算产品、租用托管服务、云服务器、裸金属服务器、云虚拟主机以及游戏云服务等。走进轻云互联,你会发现这里不仅是一个技术创新的平台,更是一个通过边缘计算...

    Lightlayer在菲律宾的应用与优势:智能光电解决方案

    光电技术的迅速发展让我们有机会迎接许多新概念和新技术,其中Lightlayer便是一个值得关注的例子。在我第一次听到“Lightlayer”这个词时,它似乎蕴含了科技的无限可能。Lightlayer简单来说是一个光电解决方案,能够通过创新的方式来管理和优化光源。它不仅在设计上追求完美,更在功能上实现...

    使用getenforce命令管理SELinux执行模式的技巧与经验

    getenforce的基本概念 当我开始接触Linux系统的时候,SELinux这个名字总是让我感到神秘。经过逐渐的探索,我了解到SELinux(Security-Enhanced Linux)是一个强大的安全模块,它为Linux系统提供了细致的访问控制。这时候,getenforce命令便进入了我的...

    甲骨文云无法选择ARM架构的原因及解决方案

    在如今这个信息化的时代,云计算技术已经成为了各类企业和个人用户的重要工具。而甲骨文云服务器正是众多云服务中的一员,凭借其强大的计算能力和灵活的可扩展性,吸引了越来越多的用户。甲骨文云服务器为用户提供了一种高效、灵活的解决方案,让他们能够在不同的业务需求下,快速部署和管理自己的应用程序。 当谈到甲骨文...