『壹』 jsp頁面和html頁面有什麼區別,html頁面能寫java代碼

一、區別如下:

1、HTML能直接打開,jsp只能發布到Tomact等伺服器上才能打開 。

2、定義上HTML頁面是靜態頁面可以直接運行,JSP頁面是動態頁它運行時需要轉換成servlet。

3、他們的表頭不同,這個是JSP的頭「 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>」在表頭中有編碼格式和倒入包等。

4、在jsp中用<%%>就可以寫Java代碼了,而html沒有<%%>

二、在html裡面是無法進行java編寫的。原因:JSP頁面是動態頁,HTML是靜態的。所以不支持。

定義:

1、JSP:全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。

2、HTML:超級文本標記語言是標准通用標記語言下的一個應用,也是一種規范,一種標准,它通過標記符號來標記要顯示的網頁中的各個部分。


(1)java靜態html擴展閱讀:

jsp與servlet的聯系:

JSP是Servlet技術的擴展,本質上就是Servlet的簡易方式。JSP編譯後是「類servlet」。

Servlet和JSP最主要的不同點在於:
Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML里分離開來。
而JSP的情況是Java和HTML可以組合成一個擴展名為.jsp的文件。

JSP側重於視圖,Servlet主要用於控制邏輯
Servlet更多的是類似於一個Controller,用來做控制。

『貳』 求JAVA生成靜態頁面 並且給出實例 100分送上

java輸出靜態頁面與框架沒有任何關系,也無需特殊配置,非常簡單的... = =!
以下是我寫的例子,希望對你有幫助!公司不給開Q,網路Hi即可!

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.ArrayList;
import java.util.Date;
import java.net.URL;
import java.net.URLConnection;
import java.io.*;

public class JspToHtml {
private static String title ="標題測試";
private static String context ="標題測試";
private static String editer ="標題測試";

/**
* 根據本地模板生成靜態頁面
* @param JspFile jsp路經
* @param HtmlFile html路經
* @return
*/
public static boolean JspToHtmlFile(String filePath, String HtmlFile) {
String str = "";
long beginDate = (new Date()).getTime();
try {
String tempStr = "";
FileInputStream is = new FileInputStream(filePath);//讀取模塊文件
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while ((tempStr = br.readLine()) != null)
str = str + tempStr ;
is.close();
} catch (IOException e) {
e.printStackTrace();
return false;
}
try {

str = str.replaceAll("###title###",
title);
str = str.replaceAll("###content###",
context);
str = str.replaceAll("###author###",
editer);//替換掉模塊中相應的地方

File f = new File(HtmlFile);
BufferedWriter o = new BufferedWriter(new FileWriter(f));
o.write(str);
o.close();
System.out.println("共用時:" + ((new Date()).getTime() - beginDate) + "ms");
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}

/**
* 根據url生成靜態頁面
*
* @param u 動態文件路經 如:http://www.163.com/x.jsp
* @param path 文件存放路經如:x:\\abc\bbb.html
* @return
*/
public static boolean JspToHtmlByURL(String u, String path) {
//從utl中讀取html存為str
String str = "";
try {
URL url = new URL(u);
URLConnection uc = url.openConnection();
InputStream is = uc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while (br.ready()) {
str += br.readLine() + "\n";

}
is.close();
//寫入文件
File f = new File(path);
BufferedWriter o = new BufferedWriter(new FileWriter(f));
o.write(str);
o.close();
str = "";
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

/**
* 根據url生成靜態頁面
*
* @param url 動態文件路經 如:http://www.163.com/x.jsp
* @return d
*/
public static StringBuffer getHtmlTextByURL(String url) {
//從utl中讀取html存為str
StringBuffer sb = new StringBuffer();
try {
URL u = new URL(url);
URLConnection uc = u.openConnection();
InputStream is = uc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while (br.ready()) {
sb.append(br.readLine() + "\n");
}
is.close();
return sb;
} catch (Exception e) {
e.printStackTrace();
return sb;
}
}

/**
* 測試main 函數
*
* @param arg
*/
public static void main(String[] arg) {
long begin = System.currentTimeMillis();
//循環生成20個html文件
for (int k = 0; k < 20; k++) {
String url = "E:\\workspace\\oa\\golatel\\utils\\Temp\\mb.htm";//模板文件地址
String savepath = "d:/" + k + ".html";//生成文件地址
JspToHtmlFile(url, savepath);
}
System.out.println("用時:" + (System.currentTimeMillis() - begin) + "ms");
}

}

//模板文件名稱 leon.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>

『叄』 緊急,是有關HTML+CSS+JAVA靜態網頁設計的內容

HTML+css+Javascript吧?Java就涉及後台了,那就不是靜態網頁了,你這個要求,確實很簡單,分分鍾搞定的事情了,呵呵。。主要看你想做多復雜的東西,

『肆』 java中如何HTML靜態頁面語言

<html>

<head>

<title>我的第抄一襲個HTML程序</title>//title是第一頁面的標題

</head>

<body>

<h1>這是一個靜態頁面</h1>//h1是一種字體標記

</body>

</html>

『伍』 Java,頁面靜態化是什麼意思,怎麼做的

JavaWeb可以利用第三方提供的模板引擎,如Velocity/FreeMarker來動態處理HTML,比JSP的各種標簽要更高效簡潔;
要靜態話的話就是直接觸發生成html或者任務觸發生成html。一般是搭配CMS來實現,比說說某篇文章內容更新後直接調用靜態化html服務來實現。

『陸』 java開發如何將動態頁面轉化為靜態頁面發布

java生成靜態頁面無需特殊配置,非常簡單的,下面有各種輸出需求,看你要哪種就拿去用吧

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.ArrayList;
import java.util.Date;
import java.net.URL;
import java.net.URLConnection;
import java.io.*;

public class JspToHtml {
private static String title ="標題測試";
private static String context ="標題測試";
private static String editer ="標題測試";

/**
* 根據本地模板生成靜態頁面
* @param JspFile jsp路經
* @param HtmlFile html路經
* @return
*/
public static boolean JspToHtmlFile(String filePath, String HtmlFile) {
String str = "";
long beginDate = (new Date()).getTime();
try {
String tempStr = "";
FileInputStream is = new FileInputStream(filePath);//讀取模塊文件
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while ((tempStr = br.readLine()) != null)
str = str + tempStr ;
is.close();
} catch (IOException e) {
e.printStackTrace();
return false;
}
try {

str = str.replaceAll("###title###",
title);
str = str.replaceAll("###content###",
context);
str = str.replaceAll("###author###",
editer);//替換掉模塊中相應的地方

File f = new File(HtmlFile);
BufferedWriter o = new BufferedWriter(new FileWriter(f));
o.write(str);
o.close();
System.out.println("共用時:" + ((new Date()).getTime() - beginDate) + "ms");
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}

/**
* 根據url生成靜態頁面
*
* @param u 動態文件路經 如: http://www.163.com/x.jsp
* @param path 文件存放路經如:x:\\abc\bbb.html
* @return
*/
public static boolean JspToHtmlByURL(String u, String path) {
//從utl中讀取html存為str
String str = "";
try {
URL url = new URL(u);
URLConnection uc = url.openConnection();
InputStream is = uc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while (br.ready()) {
str += br.readLine() + "\n";

}
is.close();
//寫入文件
File f = new File(path);
BufferedWriter o = new BufferedWriter(new FileWriter(f));
o.write(str);
o.close();
str = "";
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

/**
* 根據url生成靜態頁面
*
* @param url 動態文件路經 如: http://www.163.com/x.jsp
* @return d
*/
public static StringBuffer getHtmlTextByURL(String url) {
//從utl中讀取html存為str
StringBuffer sb = new StringBuffer();
try {
URL u = new URL(url);
URLConnection uc = u.openConnection();
InputStream is = uc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while (br.ready()) {
sb.append(br.readLine() + "\n");
}
is.close();
return sb;
} catch (Exception e) {
e.printStackTrace();
return sb;
}
}

/**
* 測試main 函數
*
* @param arg
*/
public static void main(String[] arg) {
long begin = System.currentTimeMillis();
//循環生成20個html文件
for (int k = 0; k < 20; k++) {
String url = "E:\\workspace\\oa\\golatel\\utils\\Temp\\mb.htm";//模板文件地址
String savepath = "d:/" + k + ".html";//生成文件地址
JspToHtmlFile(url, savepath);
}
System.out.println("用時:" + (System.currentTimeMillis() - begin) + "ms");
}

}

//模板文件名稱 leon.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頁面靜態化技術是什麼概念

就是伺服器在請求來之前把已經固定好的東西先編譯好了,等請求來了再動態的填數據,不要等請求來了什麼都沒做忙得半死

『捌』 java中靜態資源和動態資源的區別

靜態資源:,屬於客戶端

動態資源: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中頁面靜態化是什麼意思

package com.yancms.util;

import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;

/**
* 靜態頁面引擎技術(突亂了亂碼問題UTF-8)
* @author 吳彥文
*
*/
public class HtmlGenerator extends BaseLog {
HttpClient httpClient = null; //HttpClient實例
GetMethod getMethod =null; //GetMethod實例
BufferedWriter fw = null;
String page = null;
String webappname = null;
BufferedReader br = null;
InputStream in = null;
StringBuffer sb = null;
String line = null;
//構造方法
public HtmlGenerator(String webappname){
this.webappname = webappname;

}

/** 根據模版及參數產生靜態頁面 */
public boolean createHtmlPage(String url,String htmlFileName){
boolean status = false;
int statusCode = 0;
try{
//創建一個HttpClient實例充當模擬瀏覽器
httpClient = new HttpClient();
//設置httpclient讀取內容時使用的字元集
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
//創建GET方法的實例
getMethod = new GetMethod(url);
//使用系統提供的默認的恢復策略,在發生異常時候將自動重試3次
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
//設置Get方法提交參數時使用的字元集,以支持中文參數的正常傳遞
getMethod.addRequestHeader("Content-Type","text/html;charset=UTF-8");
//執行Get方法並取得返回狀態碼,200表示正常,其它代碼為異常
statusCode = httpClient.executeMethod(getMethod);
if (statusCode!=200) {
logger.fatal("靜態頁面引擎在解析"+url+"產生靜態頁面"+htmlFileName+"時出錯!");
}else{
//讀取解析結果
sb = new StringBuffer();
in = getMethod.getResponseBodyAsStream();
//br = new BufferedReader(new InputStreamReader(in));//此方法默認會亂碼,經過長時期的摸索,下面的方法才可以
br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
while((line=br.readLine())!=null){
sb.append(line+"\n");
}
if(br!=null)br.close();
page = sb.toString();
//將頁面中的相對路徑替換成絕對路徑,以確保頁面資源正常訪問
page = formatPage(page);
//將解析結果寫入指定的靜態HTML文件中,實現靜態HTML生成
writeHtml(htmlFileName,page);
status = true;
}
}catch(Exception ex){
logger.fatal("靜態頁面引擎在解析"+url+"產生靜態頁面"+htmlFileName+"時出錯:"+ex.getMessage());
}finally{
//釋放http連接
getMethod.releaseConnection();
}
return status;
}

//將解析結果寫入指定的靜態HTML文件中
private synchronized void writeHtml(String htmlFileName,String content) throws Exception{
fw = new BufferedWriter(new FileWriter(htmlFileName));
OutputStreamWriter fw = new OutputStreamWriter(new FileOutputStream(htmlFileName),"UTF-8");
fw.write(page);
if(fw!=null)fw.close();
}

//將頁面中的相對路徑替換成絕對路徑,以確保頁面資源正常訪問
private String formatPage(String page){
page = page.replaceAll("\\.\\./\\.\\./\\.\\./", webappname+"/");
page = page.replaceAll("\\.\\./\\.\\./", webappname+"/");
page = page.replaceAll("\\.\\./", webappname+"/");
return page;
}

//測試方法
public static void main(String[] args){
HtmlGenerator h = new HtmlGenerator("webappname");
h.createHtmlPage("http://localhost:8080/yanCms/three/three?parent_id=10&id=103&type=10","c:/a.html");
System.out.println("靜態頁面已經生成到c:/a.html");

}

}

『拾』 java開發如何將動態頁面轉化為靜態頁面發布

如果是偽靜態只要想辦法包裝一下url,讓他看起來像個靜態地址就行。
如果想要真靜態,可以通過io,把頁面寫到一個真實的html文件中,以後可以直接訪問這個這個文件地址。