基于Jave的Web服務(wù)工作機制7_JSP教程
推薦:浮動菜單是如何作出來的mouse事件這個問題由我來做一個最終解答吧。我以前也同樣驚異于閃光地帶的這個特效,苦惱于不知如何實現(xiàn)。我在經(jīng)典提問,有一位網(wǎng)友熱心解答了我的問題,但只是局限于如何加入和“
sendStaticResource 方法是非常簡單的。它首先傳遞父路徑和子路徑給File類的構(gòu)造器,從而對java.io.File類進行了實例化。
File file = new File(HttpServer.WEB_ROOT, request.getUri());
然后它檢查文件是否存在。如果存在,sendStaticResource 方法通過傳遞File對象來構(gòu)造一個java.io.FileInputStream對象。然后調(diào)用FileInputStream 的read方法,將字節(jié)流寫如到OutputStream輸出。注意這種情況下, 靜態(tài)資源的內(nèi)容也被作為原始數(shù)據(jù)被發(fā)送給了瀏覽器。
if (file.exists()) {
fis = new FileInputStream(file);
int ch = fis.read(bytes, 0, BUFFER_SIZE);
while (ch != -1) {
output.write(bytes, 0, ch);
ch = fis.read(bytes, 0, BUFFER_SIZE);
}
}
如果這個文件不存在,sendStaticResource 方法發(fā)送一個錯誤消息給瀏覽器。
String errorMessage = "HTTP/1.1 404 File Not Found\r\n"
"Content-Type: text/html\r\n"
"Content-Length: 23\r\n"
"\r\n"
"
File Not Found
";output.write(errorMessage.getBytes());
編譯和運行應(yīng)用程序
為了編譯和運行應(yīng)用,你首先需要解壓包含本文應(yīng)用程序的.zip文件。你解壓的目錄成為工作目錄(working directory),它有三個子目錄: src/, classes/, 和 lib/。 要編譯應(yīng)用程序需要在工作目錄輸入如下語句:
javac -d . src/ex01/pyrmont/*.java
這個-d 選項參數(shù)將結(jié)果寫到當(dāng)前目錄,而不是src/ 目錄。
要運行應(yīng)用程序,在工作目錄中輸入如下語句:
java ex01.pyrmont.HttpServer
要測試你的應(yīng)用程序,打開瀏覽器,在地址欄中輸入如下URL:
http://localhost:8080/index.html
你將可以看到瀏覽器中顯示的index.html 頁面。
Figure 1. The output from the web server
在控制臺(Console),你能看到如下內(nèi)容:
GET /index.html HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Host: localhost:8080
Connection: Keep-Alive
GET /images/logo.gif HTTP/1.1
Accept: */*
Referer: http://localhost:8080/index.html
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Host: localhost:8080
Connection: Keep-Alive
概要總結(jié)
在本文中,你了解了一個簡單的WEB服務(wù)器的工作機制。本文附帶的應(yīng)用程序源代碼只包含三個類,但并不是所有的都有用。盡管如此,它還是能被作為一種很好的學(xué)習(xí)工具為我們服務(wù)。
分享:JSP新手入門初級教程之JSP概述JSP(IAVA SERVER PAGES)是由Sun 公司在java語言上開發(fā)出來的一種動態(tài)網(wǎng)頁制作技術(shù),其可使您可以將網(wǎng)頁中的動態(tài)部分和靜態(tài)的HTML相分離。您可以使用平常得心應(yīng)手的工具并按照平常的方式來
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-基于Jave的Web服務(wù)工作機制7
。