`
heipark
  • 浏览: 2097209 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java解析URL中domain、端口和协议的两种方法

    博客分类:
  • Java
 
阅读更多

 

	@Test
	public void parseDomain() throws IOException {
		for (int i = 0; i < 10000000; i++) {
			String urlAddress = "http://www.roseindia.net/jsf/JSFLoginApplication.shtml";
			URL url = new URL(urlAddress);
			assertEquals("www.roseindia.net", url.getHost());
			assertEquals("/jsf/JSFLoginApplication.shtml", url.getPath());
			assertEquals(-1, url.getPort()); // -1 if not set
			assertEquals("http", url.getProtocol());
		}
	}

	@Test
	public void parseDomainByStringUtils() {
		for (int i = 0; i < 10000000; i++) {
			String urlAddress = "http://www.roseindia.net/jsf/JSFLoginApplication.shtml";
			assertEquals("www.roseindia.net", StringUtils.split(urlAddress, ":/")[1]);
			assertEquals("http", StringUtils.split(urlAddress, ":/")[0]);
		}
	}

 

 

代码可读性比较:使用URL类更优雅

性能比较:URL类解析7s, StringUtils解析使用18s

 

why not URL class?

 

--end 

 

 

分享到:
评论

相关推荐

    一站式学习Java网络编程 全面理解BIO:NIO:AIO1

    URL 由协议、主机名、端口号、路径、查询字符串和 片段组成。 DNS(Domain Name System)是一种域名解析系统,负责将域名解析为 IP 地址。DNS 解析过程包括递归查询和迭代查询两种方式。 三、java.io 专业术语 ...

    pcap4j 实现本地抓包以及解析DNS

    3. **处理DNS查询和响应**: DNS报文分为查询和响应两种类型。查询通常由客户端发起,请求将域名转换为IP;响应则由服务器返回,提供查询结果。解析DNS报文后,可以根据需要提取出这些信息。 4. **应用DNS解析结果**...

    Js检测判断URL网址输入是否正确

    一个标准的URL通常包括以下部分:协议(scheme)、子域名(subdomain)、主域名(domain name)、顶级域名(top-level domain, TLD)、端口号(port)、路径(path)、查询字符串(query string)和锚点(fragment)...

    java-servlet-api.doc

    当客户端发出请求时,Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象,这两个对象作为参数传递到service()方法中。 Servlet也可以执行ServletRequest接口和ServletResponse接口。...

    java面试题

    如何控制两种框架中的单例模式? 74 73. Spring 75 73.1. Spring 简介 75 73.2. 为什么要用Spring? 76 73.3. spring工作机制或工作原理 76 73.4. Spring是什么?根据你的理解详细谈谈你的见解。 76 73.5. 项目中如何...

    超级有影响力霸气的Java面试题大全文档

     Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型 封装类 boolean Boolean char Character ...

    Java网络编程

    当前主要有两种类型的IP地址:IPv4和IPv6。 - **IPv4**:由四个字节组成,表现为`X.X.X.X`格式,每个`X`为0到255的整数,用点分隔。理论上有2^32个地址,即约43亿个地址空间,但实际上由于保留地址和网络划分等原因...

    JAVA程序员面试题7

    根据给定的文件信息,以下是对JAVA程序员面试中常见的基础问题进行分类汇总的知识点解析: ### 1. 客户端调用EJB对象的基本步骤 客户端调用EJB(Enterprise JavaBeans)对象通常需要遵循以下步骤: - **设置JNDI...

    JS验证URL函数 正则

    - 只支持基本的URL结构,包括协议头、一级域名和顶级域名。 - 不支持IP地址、子域名、端口号等复杂结构。 - 对于简单的URL格式校验来说足够。 ##### 函数三:checkUrl 这个函数提供了基本的验证功能,并通过弹窗...

    解决跨域问题方案实例

    本文将详细解析跨域问题及其解决方案,重点关注JavaScript中的Ajax请求,并结合Java环境下的处理策略。 首先,我们需要理解“浏览器限制”是什么。浏览器出于安全考虑,实施了一项名为同源策略(Same-Origin Policy...

    weblogic集群

    WebLogic集群的架构设计可以根据不同的需求和场景进行调整,主要分为两种类型: 1. **单层混合型集群架构**:在这种架构下,所有Web应用程序及相关的服务均部署在同一组WebLogic Server实例上,形成单一的集群。其...

    完整版在线查询IP地址.rar

    IP地址分为IPv4和IPv6两种类型,IPv4地址资源已接近枯竭,因此现在越来越多地采用IPv6地址。 DNS(Domain Name System)是域名系统,它负责将人类可读的域名转换为对应的IP地址。当你在浏览器中输入一个网站地址...

    学习笔记1

    访问Web项目时,需输入由域名和端口号组成的URL,或者通过修改服务器端口设置来隐藏默认的8080端口号。 总结:本篇内容介绍了如何使用Eclipse集成微博SDK进行OAuth2.0授权,以及如何在Tomcat服务器上部署Java Web...

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    内部共有60多个业务系统,这些系统包括两个不同版本的SAP的ERP系统,12个不同类型和版本的数据库系 统,8个不同类型和版本的操作系统,以及使用了3种不同的防火墙技术,还有数十种互相不能兼容的协议和标准,你相信...

    LNS_PPT_CHAP5_V1.0.ppt

    DNS(Domain Name System)即域名系统,是一种组织成域层次结构的计算机和网络服务命名系统,用于实现IP地址与主机名之间的相互转换服务。通过DNS,用户可以方便地通过易于记忆的域名来访问互联网上的各种资源。 ##...

    网络安全面试题(六).docx

    - **同源策略**是浏览器的一种安全措施,规定只有在两个资源具有相同的协议、域名和端口号时,才允许脚本跨域访问资源。 - **绕过方法**: - **Internet Explorer 8及早期版本**:可通过修改`document.domain`属性...

Global site tag (gtag.js) - Google Analytics