1. java中.html文件和.java文件的用途及運行環境
您好,這樣的:
解析HTML文檔的Java程序
下面是一個解析HTML字元串,網路上下載的HTML文件,以及本地文件系統中的HTML文件的完整的Java程序。你可以使用Eclipse IDE或者別的IDE甚至命令來運行這個程序。在Eclipse裡面則很簡單,拷貝這份代碼,新建一個Java工程,在src包上右鍵並粘貼進去就可以了。Eclipse會去創建正確的包及同名的Java源文件的,因此工作量最小。如果你已經有一個Java示例工程了,那麼僅需一步就可以了。下面的這個Java程序展示了解析及遍歷HTML文件的三個不同例子。第一個例子中,我們直接解析了一個內容為HTML的字元串,第二個例子中我們解析了一個從URL中下載的HTML文件,第三個中我們從本地文件系統中載入了一個HTML文檔並進行解析。第一和第三個例子中都用到了parse方法來獲取一個Document對象,你可以查詢它來提取出任何的標簽值或者屬性值。第二個例子中,我們用到了Jsoup.connect方法,它會去創建URL的連接,下載HTML並進行解析。這個方法也會返回Document,它可以用於後續的查詢及獲取標簽或者屬性的值。
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
/**
[*] Java Program to parse/read HTML documents from File using Jsoup library.
[*] Jsoup is an open source library which allows Java developer to parse HTML
[*] files and extract elements, manipulate data, change style using DOM, CSS and
[*] JQuery like method.
[*]
[*] @author Javin Paul
[*]/
public class HTMLParser{
public static void main(String args[]) {
// Parse HTML String using JSoup library
String HTMLSTring = "<!DOCTYPE html>"
+ "<html>"
+ "<head>"
+ "<title>JSoup Example</title>"
+ "</head>"
+ "<body>"
+ "|[b]HelloWorld[/b]"
+ ""
+ "</body>"
+ "</html>";
Document html = Jsoup.parse(HTMLSTring);
String title = html.title();
String h1 = html.body().getElementsByTag("h1").text();
System.out.println("Input HTML String to JSoup :" + HTMLSTring);
System.out.println("After parsing, Title : " + title);
System.out.println("Afte parsing, Heading : " + h1);
// JSoup Example 2 - Reading HTML page from URL
Document doc;
try {
doc = Jsoup.connect("http://google.com/").get();
title = doc.title();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Jsoup Can read HTML page from URL, title : " + title);
// JSoup Example 3 - Parsing an HTML file in Java
//Document htmlFile = Jsoup.parse("login.html", "ISO-8859-1"); // wrong
Document htmlFile = null;
try {
htmlFile = Jsoup.parse(new File("login.html"), "ISO-8859-1");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // right
title = htmlFile.title();
Element div = htmlFile.getElementById("login");
String cssClass = div.className(); // getting class form HTML element
System.out.println("Jsoup can also parse HTML file directly");
System.out.println("title : " + title);
System.out.println("class of div tag : " + cssClass);
}
}
輸出:
Input HTML String to JSoup :<!DOCTYPE html><html><head><title>JSoup Example</title></head><body><table><tr><td><h1>HelloWorld</h1></tr></table></body></html>
After parsing, Title : JSoup Example
Afte parsing, Heading : HelloWorld
Jsoup Can read HTML page from URL, title : Google
Jsoup can also parse HTML file directly title : Login Page
class of div tag : simple
Jsoup的好處就是它的健壯性很強。Jsoup HTML解析器會對你提供的HTML進行盡量干凈的解析,而不去考慮這個HTML是否是格式良好的。它可以處理如下這些錯誤:未閉合的標簽(比如,Java <p>Scala to <p>JavaScala),隱式標簽(比如,一個裸的|Java is Great被封裝到了|裡面),它總能創建出一個文檔結構(包含head及body的HTML,並且head里只會包含正確的元素)。這就是在Java中如何進行HTML的解析。Jsoup是一個優秀的健壯的開源庫,它使得讀取HTML文檔,body片段,HTML字元串,以及直接從WEB中解析HTML內容都變得相當簡單。在這篇文章中,我們學習了如何在Java中獲取一個特定的HTML標簽,正如第一個例子中我們將title及H1標簽的值提取成了文本,而第三個例子中我們學習到了如何通過提取CSS屬性來從HTML標簽中獲取屬性值。除了強大的jQuery風格的html.body().getElementsByTag("h1").text()方法,你還可以提取任意的HTML標簽,它還提供了像Document.title()和Element.className()這樣便捷的方法,你可以快速獲取到標題及CSS類。希望JSoup能讓你玩得愉快,很快我們將會看到關於這個API的更多的一些例子。
2. 我的java小應用程序載入到HTML文件中時 打開時提示安全設置已阻止本地應用程序的運行 怎麼解決
如果是谷歌內核的瀏覽器,進入設置>>高級設置>>隱私設置>>內容設置>>插件>>停用單個插件,找到「Java(TM) 」,勾選「始終允許」。IE設置Internet選項-->高級 找到"允許活動內容在我的計算機上的文件中運行" 打上勾;Internet選項-->程序-->管理載入項 找到「Java(tm)Plug……」啟用如果不想出現「為了有利於保護安全性,Internet 已限制網頁運行可以訪問計算機的腳本……」,需要在安全選項-->自定義級別-->Activex控制項和插件,勾選啟用
3. html運行java代碼
java是服務端代碼,html是不能夠直接調用java代碼的,但是可以用javascript做出類似的效果。
4. 運行JAVA applet時,用瀏覽器打開html文件,彈出application block提示
運行JAVA applet時,彈出「application block」提示,解決方法如下:將安全級別調至最低即可,如圖所示: