我使用不同的服务器和配置。获得scheme:// host:[如果不是端口80的端口]的最佳Java代码方法是什么。
这是我使用过的一些代码,但是不知道这是否是最好的方法。(这是伪代码)
HttpServletRequest ==请求
String serverName = request.getServerName().toLowerCase();
String scheme = request.getScheme();
int port = request.getServerPort();
String val = scheme + "://" + serverName + ":" port;
这样val返回:
http(s)://server.com/
要么
http(s)://server.com:7770
基本上,我需要查询字符串和“上下文”之外的所有内容。
我也考虑使用URL:
String absURL = request.getRequestURL();
URL url = new URL(absURL);
url.get????
试试这个:
URL serverURL = new URL(request.getScheme(), // http
request.getServerName(), // host
request.getServerPort(), // port
""); // file
编辑
隐藏 http 和 https 上的默认端口:
int port = request.getServerPort();
if (request.getScheme().equals("http") && port == 80) {
port = -1;
} else if (request.getScheme().equals("https") && port == 443) {
port = -1;
}
URL serverURL = new URL(request.getScheme(), request.getServerName(), port, "");
本文向大家介绍JavaScript 数字的字符串表示形式,包括了JavaScript 数字的字符串表示形式的使用技巧和注意事项,需要的朋友参考一下 示例 JavaScript具有从Number到String表示形式的本地转换,从2到36的任何基数。 十进制(以10为底)之后最常见的表示形式是十六进制(以16为底),但本节的内容适用于范围内的所有底。 为了将数字从十进制(以10为底)转换为十六进制(
问题内容: 我有一个C python扩展名,我想打印一些诊断信息。 我收到一个字符串作为PyObject *。 获取此对象的字符串表示形式(使其可用作const char *)的规范方法是什么? 更新: 澄清以强调访问为const char *。 问题答案: 使用(模仿Python的函数)或(模仿),然后调用get (您可以并且通常应该将其用作,例如: 任何人都可以使用此方法。如果您完全确定是Py
问题内容: 我有一些仅由数字组成的,并且我想在字符更改时将其拆分。 例如: 前往: 去 去 去 去 去 我想要一个好方法。 我知道两种解决方法:仅是强行强制执行,或者逐节添加。或者,我可以删除所有0并替换为0,然后在字符更改时添加0,然后对0进行拆分,但是这两种方式都显得很愚蠢。如果有人对更好/更美的方法,正则表达式或逻辑有任何想法,那就太好了。 问题答案: 这似乎像您期望的那样工作 测试: 输出
顾名思义,我必须以表单数据的形式将post请求与请求体存根在一起。没有json、字符串或xml。我用的是junit和wiremock的java api。 我正在做如下事情: 有什么想法可以放在代码中而不是注释中吗? 谢谢大家!
问题内容: 为什么在切换情况下无法将枚举值用作字符串?(或者这有什么问题:) 问题答案: 您只能使用编译时已知的字符串。编译器无法确定该表达式的结果。 也许你可以尝试
问题内容: 在Python 3.x中,字符串由Unicode序数项组成。(请参见下面的语言参考引号。)Unicode字符串的内部表示是什么?是UTF-16吗? 字符串对象的项目是Unicode代码单元。Unicode代码单元由一项的字符串对象表示,并且可以保存表示Unicode序数的16位或32位值(序数的最大值在sys.maxunicode中给出,并且取决于Python的方式在编译时配置)。代理