導航:首頁 > 文件教程 > javajsp生成靜態文件

javajsp生成靜態文件

發布時間:2023-12-30 01:49:09

『壹』 jsp是什麼

JSP是一種動態網頁技術標准,這種技術可以根據客戶端的請求,生成動態或者靜態網頁,然後發送給客戶端的請求者。

不少的朋友經常會在電腦科普網站上看到jsp這個概念,究竟這個jsp是什麼意思?jsp又有什麼作用和特點呢?下面讓我們一起去了解吧。

詳細內容

『貳』 java靜態資源(靜態方法,靜態屬性)是程序一運行就載入到jvm中,還是當被調用的時候才進行載入呢

java靜態資源(靜態方法,靜態屬性)是程序一運行就載入到jvm中的。

1、類中的靜態屬性會被加入到類對象(也可以叫做類的模板,是類的描述) 的構造器中,靜態方法也會被加入到類對象中。

2、當第一次使用類時,JVM會通過類載入器,載入類對象,從而初始化靜態屬性,並裝入類的方法,包括靜態方法和實例方法(方法不會被調用,只是載入,從這個意義上來說,靜態方法和實例方法是類似的)。

3、當創建類的實例對象時,JVM會調用類的構造器,從而初始化類的屬性。

(2)javajsp生成靜態文件擴展閱讀:

JVM 類載入機制

JVM類載入機制分為五個部分:載入,驗證,准備,解析,初始化,下面我們就分別來看一下這五個過程。

1、載入

載入是類載入過程中的一個階段,這個階段會在內存中生成一個代表這個類的java.lang.Class對象,作為方法區這個類的各種數據的入口。注意這里不一定非得要從一個Class文件獲取,這里既可以從ZIP包中讀取(比如從jar包和war包中讀取),也可以在運行時計算生成(動態代理),也可以由其它文件生成(比如將JSP文件轉換成對應的Class類)。

2、驗證

這一階段的主要目的是為了確保Class文件的位元組流中包含的信息是否符合當前虛擬機的要求,並且不會危害虛擬機自身的安全。

3、准備

准備階段是正式為類變數分配內存並設置類變數的初始值階段,即在方法區中分配這些變數所使用的內存空間。

4、解析

解析階段是指虛擬機將常量池中的符號引用替換為直接引用的過程。符號引用就是class文件中的:

CONSTANT_Class_info

CONSTANT_Field_info

CONSTANT_Method_info

等類型的常量。

5、初始化

初始化階段是類載入最後一個階段,前面的類載入階段之後,除了在載入階段可以自定義類載入器以外,其它操作都由JVM主導。到了初始階段,才開始真正執行類中定義的Java程序代碼。初始化階段是執行類構造器<client>方法的過程。

『叄』 高分求jsp轉html問題和jsp轉do問題

若是HTML,一種方法是偽靜態,一種方法是直接生成靜態頁面。
若是do,一種是URL重寫(和上面偽靜態方法一樣),把xxx.do重定向為xxx.jsp
另一種方法是直接批量JSP文件為.do文件,然後在伺服器配置里設置.do格式的用JSP格式解析。

『肆』 如何將jsp頁面轉換成靜態頁面

將jsp頁面轉換成靜態頁面的步驟:

1、在jsp頁面中加入servlet.代碼如下:

public class ToHtml extends HttpServlet {


public void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String url = "";

String name = "";


ServletContext sc = getServletContext();


String file_name = request.getParameter("file_name");// 你要訪問的jsp文件名,如index,不包括擴展名


// 則你訪問這個servlet時加參數.如http://localhost/test/toHtml?file_name=index


url = "/" + file_name + ".jsf";// 你要生成的頁面的文件名。我的擴展名為jsf .


name = ConfConstants.CONTEXT_PATH+"\"+ file_name + ".htm";// 這是生成的html文件名,如index.htm.文件名字與源文件名相同。擴展名為htm


//ConfConstants.CONTEXT_PATH為你的應用的上下文路徑。


RequestDispatcher rd = sc.getRequestDispatcher(url);


final ByteArrayOutputStream ōs = new ByteArrayOutputStream();


final ServletOutputStream stream = new ServletOutputStream() {

public void write(byte[] data, int offset, int length) {

os.write(data, offset, length);

}


public void write(int b) throws IOException {

os.write(b);

}

};


final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));


HttpServletResponse rep = new HttpServletResponseWrapper(response) {

public ServletOutputStream getOutputStream() {

return stream;

}


public PrintWriter getWriter() {

return pw;

}

};

rd.include(request, rep);

pw.flush();

FileOutputStream fos = new FileOutputStream(name); // 把jsp輸出的內容寫到xxx.htm

os.writeTo(fos);

fos.close();

PrintWriter ōut = response.getWriter();

out

.print("<p align=center><font size=3 color=red>頁面已經成功生成!single<br>http://www.agilejava.org/space/? 233</font></p>");

}

}

2、配置web.xml

<servlet>

<servlet-name>toHtml</servlet-name>

<servlet-class>mj.util.html.ToHtml</servlet-class>//你的servlet的類。

</servlet>

<servlet-mapping>

<servlet-name>toHtml</servlet-name>

<url-pattern>/toHtml</url-pattern>

</servlet-mapping>

3、運行servlet。如:http://localhost:8080/test/toHtml?file_name=index

在test項目的根目錄下,生成了一個index.htm的靜態文件。

『伍』 jsp頁面轉換成HTML

你可以新建一個jsp頁面,將html中<html></html>標簽中的內容替換jsp頁面中
<html></html>內容即可。但注意jsp頁面中的第內一行:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 改為:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
這行意容思是你用到了包和頁面中顯示的是中文。

『陸』 JSP如何生成靜態的html頁面

public class HTMLMaker {
final static Object lock = new Object();
public static void makeHtml(String page, String filePath){
makeHtml(page,filePath,"UTF-8");
}

public static void makeHtml(String page, String filePath,String chartset) {
synchronized (lock) {
HttpURLConnection huc = null;
BufferedReader br = null;
BufferedWriter bw = null;
try {
huc = (HttpURLConnection)new URL(page).openConnection();
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
huc.connect();
InputStream stream = huc.getInputStream();
bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(filePath),chartset));
br = new BufferedReader(new InputStreamReader(stream, chartset));
String line;
while((line = br.readLine())!= null){
if(line.trim().length() > 0){
bw.write(line);
bw.newLine();
}
}
}catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
bw.close();
huc.disconnect();
}catch (Exception e) {
e.printStackTrace();
}
}
}
}

}
參數解釋:
page:jsp頁面的網路地址,比如http://localhost:8080/xxx/index.jsp
filePath:生成的html文件的保存路徑
chartset:編碼,不填默認utf-8。

思想:
把jsp文件開流讀入,再用輸出流寫入到目標文件。

『柒』 關於Javaweb的問題,Jsp和Servlet各自的應用場景

JSP(JavaServer Pages)和Servlet是兩種用於開發Web應用程序的伺服器端技術。

JSP是一種動態Web頁面技術,它使用Java代碼來生成HTML、XML或其他類型的文檔。JSP頁麵包含特殊的JSP標記,這些標記被解析並轉換為Java代碼,然後執行。JSP通常被用來創建動態的Web頁面,例如顯示資料庫內容或處理表單數據。

Servlet是一種Java類,它運行在Web伺服器上,並處理來自瀏覽器的請求。Servlet可以生成動態的HTML內容,也可以執行其他類型的任務,例如處理表單數據或連接資料庫。

JSP和Servlet有許多相似之處,但各自有不同的應用場景。JSP更適合用於生成靜態的Web內容,例如HTML、XML或其他文檔。Servlet更適合用於執行動態的任務,例如處理表單數據或連接資料庫。

總的來說,JSP通常被視為更為高級的技術,因為它可以在Web頁面中嵌入Java代碼,但是Servlet可以提供更多的靈活性和控制。因此,在選擇使用JSP或Servlet時,應該根據自己的需求和應用場景來決定。

閱讀全文

與javajsp生成靜態文件相關的資料

熱點內容
aspnet資料庫操作 瀏覽:378
電子編程在哪裡下載 瀏覽:682
核桃編程如何新建目標文件夾 瀏覽:348
移動網路架構 瀏覽:349
文件放哪個盤里好 瀏覽:794
經檢測網速正常為什麼網路還卡 瀏覽:430
怎麼創建一個Linux腳本文件 瀏覽:150
xbox2011年自製版本 瀏覽:788
熱門花卡app有哪些 瀏覽:374
js64位編碼上傳圖片 瀏覽:525
緊急通知升級新域名 瀏覽:918
id為什麼下載不得app 瀏覽:658
列印機掃描的文件路徑怎麼修改 瀏覽:876
編程在哪裡做兼職 瀏覽:804
為什麼總是復制隱藏文件 瀏覽:203
穩捷網路 瀏覽:908
網頁列印保存pdf文件怎麼打開 瀏覽:150
編譯文件路徑不能包含空格 瀏覽:44
linux打開文件系統檢查失敗 瀏覽:624
用什麼網站能接室內翻新的活 瀏覽:235

友情鏈接