本文目錄一覽:
java中如何實現URL類?
import java.io.*;
import java.net.*;
public class URLTest
{
public static void main(String[] args)
{
try
{
URL url=new URL(“”);//創建資源類型
String protocol=url.getProtocol();//獲取資源類型
String host=url.getHost();//獲取域名
int port=url.getPort();//獲取埠
String file=url.getFile();//獲取路徑
System.out.println(“url地址的資源類型為:”+protocol+”域名為:”+host+”埠為:”+port+”路徑為:”+file);
InputStream is=url.openStream();//獲取頁面信息流
BufferedReader bfr=new BufferedReader(new InputStreamReader(is));//封裝成字元流
String len;
while((len=bfr.readLine())!=null)
{
System.out.println(len);
}
bfr.close();
is.close();
}
catch(MalformedURLException e)
{
System.out.println(“創建URL對象發生異常”);
}
catch(IOException e)
{
System.out.println(“發生IO操作異常”);
}
}
}
用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下載MP3保存到本地?
Java如何利用url下載MP3保存的方法:
1 /** ;
2 * TODO 下載文件到本地 ;
3 * @author nadim ;
4 * @date Sep 11, 2015 11:45:31 AM ;
5 * @param fileUrl 遠程地址 ;
6 * @param fileLocal 本地路徑 ;
7 * @throws Exception ;
8 */ ;
9 public void downloadFile(String fileUrl,String fileLocal) throws Exception {;
10 URL url = new URL(fileUrl);
11 HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
12 urlCon.setConnectTimeout(6000);
13 urlCon.setReadTimeout(6000);
14 int code = urlCon.getResponseCode();
15 if (code != HttpURLConnection.HTTP_OK) {
16 throw new Exception(“文件讀取失敗”);
17 }
18 //讀文件流;
19 DataInputStream in = new DataInputStream(urlCon.getInputStream());
20 DataOutputStream out = new DataOutputStream(new FileOutputStream(fileLocal));
21 byte[] buffer = new byte[2048];
22 int count = 0;
23 while ((count = in.read(buffer)) 0) {;
24 out.write(buffer, 0, count);
25 }
26 out.close();
27 in.close();
28 }。
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行複雜的編程 。
java怎樣獲取url參數
解析url,本想用正則表達式處理,但正則表達式速度較慢。用split處理一下就可以了。
package RequestPackage;
import java.util.HashMap;
import java.util.Map;
public class CRequest {
/**
* 解析出url請求的路徑,包括頁面
* @param strURL url地址
* @return url路徑
*/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split(“[?]”);
if(strURL.length()0)
{
if(arrSplit.length1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
return strPage;
}
/**
* 去掉url中的路徑,留下請求參數部分
* @param strURL url地址
* @return url請求參數部分
*/
private static String TruncateUrlPage(String strURL)
{
String strAllParam=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split(“[?]”);
if(strURL.length()1)
{
if(arrSplit.length1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/**
* 解析出url參數中的鍵值對
* 如 “index.jsp?Action=delid=123″,解析出Action:del,id:123存入map中
* @param URL url地址
* @return url請求參數部分
*/
public static MapString, String URLRequest(String URL)
{
MapString, String mapRequest = new HashMapString, String();
String[] arrSplit=null;
String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每個鍵值為一組
arrSplit=strUrlParam.split(“[]”);
for(String strSplit:arrSplit)
{
String[] arrSplitEqual=null;
arrSplitEqual= strSplit.split(“[=]”);
//解析出鍵值
if(arrSplitEqual.length1)
{
//正確解析
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
}
else
{
if(arrSplitEqual[0]!=””)
{
//只有參數沒有值,不加入
mapRequest.put(arrSplitEqual[0], “”);
}
}
}
return mapRequest;
}
}
測試類
package RequestPackage;
import java.util.Map;
public class TestCRequest {
/**用於測試CRequest類
* @param args
*/
public static void main(String[] args) {
// 請求url
String str = “index.jsp?Action=delid=123sort=”;
//url頁面路徑
System.out.println(CRequest.UrlPage(str));
//url參數鍵值對
String strRequestKeyAndValues=””;
MapString, String mapRequest = CRequest.URLRequest(str);
for(String strRequestKey: mapRequest.keySet()) {
String strRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+=”key:”+strRequestKey+”,Value:”+strRequestValue+”;”;
}
System.out.println(strRequestKeyAndValues);
//獲取無效鍵時,輸出null
System.out.println(mapRequest.get(“page”));
}
}
java URL 添加參數的幾種簡單方式
主要有三種方式,先給大家第一種managed-bean,必須 scope設置為request
managed-bean
managed-bean-namenameBean/managed-bean-name
managed-bean-classdemo.NameBean/managed-bean-class
managed-bean-scoperequest/managed-bean-scope
managed-property
property-nameuserName/property-name
value#param.name/value
/managed-property
…
….
/managed-bean
第二種方式:缺點是無法往後台傳數據,當然你用javascript做一下動作也可以
h:inputHidden id=”userName” value=”#{nameBean.userName}”/
第三種方式,是直接在bean中獲得,我認為這種應該是最實用、保險的方式。
public static String getRequestParameter(String name) {
return (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(name);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280731.html