urljava
‘壹’ java中url和uir有什么区别
URI是URL的一个抽象,它不仅包括了统一资源定位符(URL),还包括了统一资源名(URN).大多数实际应用中使用的URI都是URL,但是许多规范和标准像XML都是用URI来定义的.在java1.4和更新的版本中, URI被java.net.URI 类所表示.这个类与java.net.URL 相比有如下3点重要的区别:
· URI 类只关心资源的标识和对URI的解析.它没有方法来检索它的URI所标识的资源。
· URI 类与URL 类相比,它更能适应相关的规范。
· 一个URI 对象能表示一个相对URI 。URL 类在存放之前,就已经对所有的URI进行了“绝对化”的处理。
看着是不是有点晕?
简单的这么理解吧,URL是统一资源定位符,URI是统一资源标识符,URL是URI的一种,但在Java里面不是一种类型,两个类也没有继承关系,但各自提供了toURL()和toURI()来相互转换,在需要的时候放上相应的类型。
‘贰’ 用java怎么写URL接口
在java中,调用http请求接口,主要通过流的方式进行调用,示例接口如下:
/**
* 程序中访问http数据接口
*/
public String searchLoginService(String urlStr) {
/** 网络的url地址 */
URL url = null;
/** http连接 */
HttpURLConnection httpConn = null;
/**//** 输入流 */
BufferedReader in = null;
StringBuffer sb = new StringBuffer();
try{
url = new URL(urlStr);
in = new BufferedReader( new InputStreamReader(url.openStream(),"UTF-8") );
String str = null;
while((str = in.readLine()) != null) {
sb.append( str );
}
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
} finally{
try{
if(in!=null) {
in.close();
}
}catch(IOException ex) {
logger.error(ex.getMessage(), ex);
}
}
String result =sb.toString();
System.out.println(result);
return result;
}
‘叁’ java如何提取url里的域名
java.net.URL 而不是 java.Net.URL
使用getHost获取到的域名信息存在安全漏洞,例如:http://127.0.0.1\.123.cn/1.htm这个URL使用getHost得到的域名是127.0.0.1\.123.cn。
建议使用正则表达式
‘肆’ java语言里url是什么东西
就是网络资源的路径,通过它就可以引用相关的网络资源。
‘伍’ java如何将字符串转化为URL
将字符串转换成URL可以使用创建一个URL对象,并将字符串赋给这个URL对象。
参考代码如下:
String str = "填写字符串的链接地址";
try {
URL url = new URL(str);
} catch (MalformedURLException e) {
e.printStackTrace();
}
注意,创建URL对象会有异常,所以使用try处理抛出的异常。
‘陆’ java中如何实现URL类
java中实现URL类,可以使用java工具类中的URL的类,实例如下:
importjava.io.*;
importjava.net.*;
publicclassURLTest
{
publicstaticvoidmain(String[]args)
{
try
{
URLurl=newURL("http://sports.163.com:80/nba/");//创建资源类型
Stringprotocol=url.getProtocol();//获取资源类型
Stringhost=url.getHost();//获取域名
intport=url.getPort();//获取端口
Stringfile=url.getFile();//获取路径
System.out.println("url地址的资源类型为:"+protocol+"域名为:"+host+"端口为:"+port+"路径为:"+file);
InputStreamis=url.openStream();//获取页面信息流
BufferedReaderbfr=newBufferedReader(newInputStreamReader(is));//封装成字符流
Stringlen;
while((len=bfr.readLine())!=null)
{
System.out.println(len);
}
bfr.close();
is.close();
}
catch(MalformedURLExceptione)
{
System.out.println("创建URL对象发生异常");
}
catch(IOExceptione)
{
System.out.println("发生IO操作异常");
}
}
}
‘柒’ java怎样获取url参数
如果是javaweb 项目,那么非常简单,直接调用 HttpServletRequest 对象的 .getParamter("参数名称") 方法即可得到。
如果是普通java 项目:
/**
* 获取网址的指定参数值
*
* @param url
* 网址
* @param parameter
* 参数名称
* @author cevencheng
* @return
*/
public static String getParameter(String url, String parameter, String defaultValue) {
try {
final String charset = "utf-8";
url = URLDecoder.decode(url, charset);
if (url.indexOf('?') != -1) {
final String contents = url.substring(url.indexOf('?') + 1);
HashMap<String, String> map = new HashMap<String, String>();
String[] keyValues = contents.split("&");
for (int i = 0; i < keyValues.length; i++) {
String key = keyValues[i].substring(0, keyValues[i].indexOf("="));
String value = keyValues[i].substring(keyValues[i].indexOf("=") + 1);
if (key.equals(parameter)) {
if (value == null || "".equals(value.trim())) {
return defaultValue;
}
return value;
}
map.put(key, value);
}
}
return null;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
‘捌’ 用Java判断一个URL是否有效的两种方法
importjava.io.InputStream;
importjava.net.URL;
publicclassTest{
publicstaticvoidmain(String[]args){
URLurl;
try{
url=newURL("http://www..com");
InputStreamin=url.openStream();
System.out.println("连接可用");
}catch(Exceptione1){
System.out.println("连接打不开!");
url=null;
}
}
}
2
importjava.net.HttpURLConnection;
importjava.net.URL;
/**
*文件名称为:URLAvailability.java
*文件功能简述:描述一个URL地址是否有效
*@authorJason
*@time2010-9-14
*
*/
publicclassURLAvailability{
privatestaticURLurl;
;
privatestaticintstate=-1;
/**
*功能:检测当前URL是否可连接或是否有效,
*描述:最多连接网络5次,如果5次都不成功,视为该地址不可用
*@paramurlStr指定URL网络地址
*@returnURL
*/
(StringurlStr){
intcounts=0;
if(urlStr==null||urlStr.length()<=0){
returnnull;
}
while(counts<5){
try{
url=newURL(urlStr);
con=(HttpURLConnection)url.openConnection();
state=con.getResponseCode();
System.out.println(counts+"="+state);
if(state==200){
System.out.println("URL可用!");
}
break;
}catch(Exceptionex){
counts++;
System.out.println("URL不可用,连接第"+counts+"次");
urlStr=null;
continue;
}
}
returnurl;
}
publicstaticvoidmain(String[]args){
URLAvailabilityu=newURLAvailability();
u.isConnect("http://www..com");
}
}
‘玖’ Java:URL中的#是什么意思呢
#号是客户端参数,#号之后的参数就不会传入到服务端,用于网页位置定位,
比如http://www.example.com/index.html#print
浏览器会自动聚焦到id='print'的区块,网络词条目录就是这么做的,可以看下。
‘拾’ JAVA URLa=1传参方式怎么写 急,最好有实际案例 求组
前台请求--->http://localhost:8080/login/info.do?username=xxxx&password=xxxxx'
后台代码--->@RequestMapping("/info.do")
public void loginInfo(HttpServletRequest request, HttpServletResponse response) throws Exception{
response.setCharacterEncoding("UTF-8");
String username = request.getParameter("username")==null?"0":request.getParameter("username");
String password = request.getParameter("password")==null?"0":request.getParameter("password");
}
这样后台就接收到 username和password这两个参数了
希望能帮到你!!!