導航:首頁 > 編程語言 > java動態html

java動態html

發布時間:2024-08-24 14:16:13

java爬蟲 怎麼動態的獲取html

很多網站是用js或Jquery 生成數據的,到後台獲取到數據以後,用 document.write()或者("#id").html="" 的方式 寫到頁面中,這個時候用瀏覽器查看源碼是看不到數據的。

HttpClient是不行的,看網上說HtmlUnit,說 可以獲取後台js載入完後的完整頁面
不過並沒什麼用

⑵ 如何在java中實現自動生成html

創建一個StringBuilder對象,通過append方法來為其添加html語句。
StringBuilder sb = new StringBuilder();
Properties fileProperties = getProperties("file");
Properties sqlProperties = getProperties("sql");
PrintStream printStream = new PrintStream(new FileOutputStream(
"report.html"));
sb.append("<html>");
sb.append("<head>");
sb.append("<title>每日運營報表</title>");
sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
sb.append("<style type=\"text/css\">");
sb.append("TABLE{border-collapse:collapse;border-left:solid 1 #000000; border-top:solid 1 #000000;padding:5px;}");
sb.append("TH{border-right:solid 1 #000000;border-bottom:solid 1 #000000;}");
sb.append("TD{font:normal;border-right:solid 1 #000000;border-bottom:solid 1 #000000;}");
sb.append("</style></head>");
sb.append("<body bgcolor=\"#FFF8DC\">");
sb.append("<div align=\"center\">");
sb.append("<br/>");
sb.append("<br/>");
List<Map<String, Object>> result1 = getRpt(sqlProperties
.getProperty("sql1"));
for (Map.Entry<String, Object> m : result1.get(0).entrySet()) {
sb.append(fileProperties.getProperty("file1"));
sb.append(m.getValue());
}
sb.append("<br/><br/>");

輸出
sb.append("</div></body></html>");
printStream.println(sb.toString());

⑶ java中靜態資源和動態資源的區別

靜態資源:html,屬於客戶端

動態資源:jsp/servlet屬於伺服器端

一、靜態web頁面:

1、在靜態Web程序中,客戶端使用Web瀏覽器(IE、FireFox等)經過網路(Network)連接到伺服器上,使用HTTP協議發起一個請求(Request),告訴伺服器我現在需要得到哪個頁面,所有的請求交給Web伺服器,之後WEB伺服器根據用戶的需要,從文件系統(存放了所有靜態頁面的磁碟)取出內容。之後通過Web伺服器返回給客戶端,客戶端接收到內容之後經過瀏覽器渲染解析,得到顯示的效果。

2、為了讓靜態web頁面顯示更加好看,使用javascript/VBScript/ajax(AJAX即「Asynchronous
Javascript And
XML」(非同步JavaScript和XML),是指一種創建互動式網頁應用的網頁開發技術。)但是這些特效都是在客戶端上藉助於瀏覽器展現給用戶的,所以在伺服器上本身並沒有任何的變化。

3、靜態web無法連接資料庫;

4、靜態web資源開發技術:HTML;

5、由於現在的web頁面中,大量使用JS,導致瀏覽器打開頁面,就會佔用大量的內存,服務端的壓力是減輕了,但壓力轉移到了客戶端。

二、動態web頁面:

動態WEB中,程序依然使用客戶端和服務端,客戶端依然使用瀏覽器(IE、FireFox等),通過網路(Network)連接到伺服器上,使用HTTP協議發起請求(Request),現在的所有請求都先經過一個WEB Server來處理。

如果客戶端請求的是靜態資源(*.htm或者是*.htm),則將請求直接轉交給WEB伺服器,之後WEB伺服器從文件系統中取出內容,發送回客戶端瀏覽器進行解析執行。

如果客戶端請求的是動態資源(*.jsp、*.asp/*.aspx、*.php),則先將請求轉交給WEB
Container(WEB容器),在WEB
Container中連接資料庫,從資料庫中取出數據等一系列操作後動態拼湊頁面的展示內容,拼湊頁面的展示內容後,把所有的展示內容交給WEB伺服器,之後通過WEB伺服器將內容發送回客戶端瀏覽器進行解析執行。

為什麼需要web伺服器?(web server)

1)不管什麼web資源,想被遠程計算機訪問,都必須有一個與之對應的網路通信程序,當用戶來訪問時,這個網路通信程序讀取web資源數據,並把數據發送給來訪者。

2)WEB伺服器就是這樣一個程序,它用於完成底層網路通迅,處理http協議。使用這些伺服器,We應用的開發者只需要關注web資源怎麼編寫,而不需要關心資源如何發送到客戶端手中,從而極大的減輕了開發者的開發工作量。

常用動態web資源開發技術:JSP/Servlet、ASP、PHP等。

三、關於兩者區別的簡單直接的描述

1、靜態頁面就是設計者把頁面上所有東西都設定好、做死了,然後放上去,不管是誰在任何時候看到的頁面內容都是一樣的,一成不變(除非手動修改頁面內容)。靜態html頁面文件,可以直接用本地的瀏覽器打開。比如:file:///Users/Phil/Documents/DevOps/HBuilderProjects/testJSP/index.html。

2、動態頁面的內容一般都是依靠伺服器端的程序來生成的,不同人、不同時候訪問頁面,顯示的內容都可能不同。網頁設計者在寫好伺服器端的頁面程序後,不需要手工控制,頁面內容會按照頁面程序的安排自動更改變換。

⑷ 誰做過java自動生成html 原理講下

大概就是一樓的那個意思 給你個小例子你看下;
先創建一個html模板:
<html>
<head>
<title>###title###</title>
<meta http- equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="../css.css" rel=stylesheet type=text/css>
</head>
<body>
<table width="500" border="0" align="center" cellpadding="0"
cellspacing="2">
<tr>
<td align="center">
###title###
</tr>
<tr>
<td align="center">
作者:###author###
</tr>
<tr>
<td align="center">
###content###
</td>
</tr>
</table>
</body>
</html>

java代碼
import java.util.*;
import java.io.*;

public class HtmlFile {
public static void main(String[] args) {
try {
String title = "Make Html";
String content = "小樣,還搞不定你?";
String editer = "秋水";
//模板路徑
String filePath = "leon.html";
System.out.print(filePath);
String templateContent = "";
FileInputStream fileinputstream = new FileInputStream(filePath);// 讀取模板文件
int lenght = fileinputstream.available();
byte bytes[] = new byte[lenght];
fileinputstream.read(bytes);
fileinputstream.close();
templateContent = new String(bytes);
System.out.print(templateContent);
templateContent = templateContent.replaceAll("###title###", title);
templateContent = templateContent.replaceAll("###content###",
content);
templateContent = templateContent
.replaceAll("###author###", editer);// 替換掉模板中相應的地方
System.out.print(templateContent);

// 根據時間得文件名
Calendar calendar = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis())
+ ".html";
fileame = "/" + fileame;// 生成的html文件保存路徑。
FileOutputStream fileoutputstream = new FileOutputStream(fileame);// 建立文件輸出流
System.out.print("文件輸出路徑:");
System.out.print(fileame);
byte tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
} catch (Exception e) {
System.out.print(e.toString());
}
}
}

閱讀全文

與java動態html相關的資料

熱點內容
三星桌面文件夾顏色 瀏覽:813
動態規劃演算法代碼 瀏覽:300
ice伺服器號碼怎麼看 瀏覽:296
python爬蟲相關視頻 瀏覽:173
贛州雲伺服器大概費用 瀏覽:203
教我折解壓玩具超簡單 瀏覽:137
伺服器錯誤操作失敗怎麼辦 瀏覽:246
如何從多個文件夾中批量提取文檔 瀏覽:60
無法解壓伺服器域名 瀏覽:915
老馬點金指標源碼安裝 瀏覽:726
mysql連接資料庫命令 瀏覽:106
cmdsvn命令 瀏覽:340
linux伺服器怎麼設置系統 瀏覽:447
centosapache重啟命令 瀏覽:462
冰箱壓縮機qd91h 瀏覽:138
單片機反匯編修改文字 瀏覽:866
網站部署python 瀏覽:1000
kettlelinux教程 瀏覽:679
地理科學pdf 瀏覽:149
單片機數據讀取 瀏覽:394