⑴ java獲取html
Java訪問網路url,獲取網頁的html代碼
方式一:
一是使用URL類的openStream()方法:
openStream()方法與制定的URL建立連接並返回InputStream類的對象,以從這一連接中讀取數據;
openStream()方法只能讀取網路資源。
二是使用URL類的openConnection()方法:
openConnection()方法會創建一個URLConnection類的對象,此對象在本地機和URL指定的遠程節點建立一條HTTP協議的數據通道,可進行雙向數據傳輸。類URLConnection提供了很多設置和獲取連接參數的方法,最常用到的是getInputStream()和getOutputStream()方法。
openConnection()方法既能讀取又能發送數據。
列如:
public static void main(String args[]) throws Exception {
try {
//輸入url路徑
URL url = new URL("url路徑"); InputStream in =url.openStream(); InputStreamReader isr = new InputStreamReader(in); BufferedReader bufr = new BufferedReader(isr); String str; while ((str = bufr.readLine()) != null) { System.out.println(str); } bufr.close(); isr.close(); in.close(); } catch (Exception e) { e.printStackTrace(); } }
⑵ java怎麼獲取html中的文本域中的內容
<input type="text" name="name" ><input type="button" value="確定">
定義一個變數通過request.getParameter("name")取得,其中name 是標簽名稱
另外在javascript中可以
先在標簽里加回上一個id 如<input type="text" name="name" id="name">
再通過document.getElementById("name").value 取得標簽中的值答
⑶ java如何讀取html頁面的表單
額,1樓在誤導LZ,樓主根本沒學過struts,所以就別再讓他使用ActionForm啦!而且用ActionForm的話,還得回自己去建form的po,很麻煩。答 還有2樓的朋友,你看看他貼出來到代碼,他用的是struts1而不是struts2,所以不會有那些屬性的get和set方法了。
你要取得表單的值,直接在execute方法裡面用request.getParameter()這個方法去取就行了,比如:
String userName = requestgetParameter("userName");
後面的那個userName是頁面表單組件裡面的name屬性,比如:
<input type="text" name="userName" size="30" />
其它的值都是以此類推的。 在Java中取得form表單里的值是很簡單的,只是你不熟悉而已,熟悉了就知道了。 希望對你能有所幫助!
⑷ 怎麼使用Java提取html表單元素
參考下面代碼:
實現代碼:
<form action="input.do" name="formkk">
<table>
<tbody>
<tr>
<td>text:</td>
<td>
<input type="text" name="text">
</td>
</tr>
<tr>
<td>password:</td>
<td>
<input type="password" name="pass">
</td>
</tr>
<tr>
<td>radio:</td>
<td>
<input type="radio" name="xingbie" value="1">
男
<input type="radio" name="xingbie" value="2">
女
</td>
</tr>
<tr>
<td>checkbox:</td>
<td>
足球:<input type="checkbox" name="hobby" value="1" />
籃球:<input type="checkbox" name="hobby" value="2" />
拍球:<input type="checkbox" name="hobby" value="3" />
斗球:<input type="checkbox" name="hobby" value="4" />
</td>
</tr>
<tr>
<td>hidden:</td>
<td>
<input type="hidden" value="123" name="hidden"/>
</td>
</tr>
<tr>
<td>option:</td>
<td>
<select name="opt" id="opt">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</td>
</tbody>
</table>
<input type="button" value="提交" onclick="javascript:check()"/>
</form>String[] hobbys = request.getParameterValues("hobby"); //checkbox
String text = request.getParameter("text"); //text
String password = request.getParameter("password"); //password
String xingbie = request.getParameter("xingbie"); //radio
request.getParameter("hidden");
request.getParameter("opt"); //select
⑸ java獲取html內的內容
簡單實現:
HtmlRequest類的內容:
[java] view plain
package com.capinfotech.net;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HtmlRequest {
public static void main(String[] args) throws IOException {
URL url = new URL("http://www.163.com/");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
InputStream inputStream = conn.getInputStream(); //通過輸入流獲得網站數據
byte[] getData = readInputStream(inputStream); //獲得網站的二進制數據
String data = new String(getData, "gb2312");
System.out.println(data);
}
public static byte[] readInputStream(InputStream inputStream) throws IOException {
byte[] buffer = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((len = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.close();
return bos.toByteArray();
}
}
這樣就能獲得http://www.163.com的內容,在控制台會列印輸出
⑹ 求JAVA讀取html文件table裡面的內容!
public classReadHtml2 { publicstatic void main(String[] args) throws IOException {//String strUrl=" https://passport..com/?reg&tpl=mn"; /// URL url=new URL(strUrl); File f=new File("fortest.htm"); //輸入流 //InputStreamReader isr=newInputStreamReader(url.openStream()); InputStreamReader isr1=newInputStreamReader(new FileInputStream(f)); BufferedReader br=new BufferedReader(isr1); //獲取html轉換成String String s; String AllContent=""; while((s=br.readLine())!=null) { AllContent=AllContent+s; } //使用後HTML Parser 控制項 Parser myParser; NodeList nodeList = null; myParser =Parser.createParser(AllContent, "utf-8"); NodeFilter tableFilter = newNodeClassFilter(TableTag.class); OrFilter lastFilter = newOrFilter(); lastFilter.setPredicates(newNodeFilter[] { tableFilter }); try { //獲取標簽為table的節點列表 nodeList =myParser.parse(lastFilter); //循環讀取每個table for (int i = 0; i <=nodeList.size(); i++) { if (nodeList.elementAt(i)instanceof TableTag) { TableTag tag = (TableTag)nodeList.elementAt(i); TableRow[] rows =tag.getRows(); System.out.println("----------------------table "+i+"--------------------------------"); //循環讀取每一行 for (int j = 0; j <rows.length; j++) { TableRow tr =(TableRow) rows[j]; TableColumn[] td =tr.getColumns(); //讀取每行的單元格內容 for (int k = 0; k< td.length; k++) { System.out.println(td[k].getStringText());//(按照自己需要的格式輸出) } } } } } catch (ParserException e) { e.printStackTrace(); }}}
⑺ java打開html文件
你的意思是用java代碼模擬訪問一個html網頁? 可以用URLConnection
URL url = new URL("你的html文件的http地址");
URLConnection URLconnection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) URLconnection;
InputStream urlStream = httpConnection.getInputStream();
另外如果html里有js的話 是不能模擬訪問js的