URL:统一资源定位符。如:http://www.xxx.com?name=java&age=23#30
通常,我们要分解出URL中的某个部分,比如主机,端口,请求参数等等这些数据。java为我们提供了URL这个类,该封装了很多获取相关数据的方法。
public
class
URLTest {
/**
*
@param
args
* URL 统一资源定位符
*/
public
static
void
main(String[] args) {
try
{
URL url =
new
URL(
"http://10.12.82.66:8080/game/index.html?name=java&age=23#110"
);
//获取主机与端口部分 10.12.82.66:8080
System.
out
.println(url.getAuthority());
//URL的默认端口是 80
System.
out
.println(url.getDefaultPort());
//获取URL的指定的文件 主机部分之后的内容: /资源路径/资源名称?资源参数&资源参数 /game/index.html?name=java&age=23
System.
out
.println(url.getFile());
//获取主机部分 10.12.82.66
System.
out
.println(url.getHost());
//获取资源路径 /game/index.html
System.
out
.println(url.getPath());
//获取端口号 8080
System.
out
.println(url.getPort());
//获取请求的协议 http
System.
out
.println(url.getProtocol());
//获取请求参数,健值对 name=java&age=23
System.
out
.println(url.getQuery());
//获取锚点 110
System.
out
.println(url.getRef());
}
catch
(MalformedURLException e) {
e.printStackTrace();
}
}
}
URLEncoder:
说一个情景,当我们url有一个请求的参数是这样的name=java&c,怎么办?此时就可以通过URLEncoder这个类帮我们解决这类问题。
URLDecoder:
与URLEncoder功能相反,将URLEncoder编码后的数据再解析回来。