導航:首頁 > 文件教程 > 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生成靜態文件相關的資料

熱點內容
oppo手機怎麼連接電腦傳輸數據 瀏覽:624
word刪除章節附註分隔符 瀏覽:773
公告質疑需要哪些文件 瀏覽:608
資料庫模型是干什麼的 瀏覽:404
win10的驅動怎麼安裝驅動 瀏覽:320
word文件水印怎麼取消 瀏覽:443
rhel6的鏡像文件在哪裡下載 瀏覽:571
成功正能量微信頭像 瀏覽:848
wps表格如何恢復數據 瀏覽:264
linuxc靜態庫創建 瀏覽:838
u盤有微信文件但微信恢復不了 瀏覽:585
蘋果的網站數據是什麼 瀏覽:22
ps滾字教程 瀏覽:237
win7網路鄰居如何保存ftp 瀏覽:186
安卓客戶端代理伺服器 瀏覽:572
編程用蘋果 瀏覽:659
51虛擬機的文件管理在哪裡 瀏覽:13
win10系統有沒有便簽 瀏覽:722
java引用傳遞和值傳遞 瀏覽:109
oracle下載安裝教程 瀏覽:854

友情鏈接