當前位置:首頁 » 網頁前端 » web第五章編程題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web第五章編程題

發布時間: 2023-02-14 06:15:06

1. JavaWeb 編程習題,求解!最好是工程包

題目太長分數又太少,誰給你做啊

2. web編程問題(階乘演算法)

用js好了,比較簡單var result,temp;function f1(var n){ for(var arg=1;arg<=n;arg++) { temp=1; for(var i=1;i<=arg;i++)temp*=i; result+=temp; } document.write(result);}

3. 有關時鍾的Web編程問題

<html><head><title>數字鍾</title>
<script language="JavaScript">
function aClock(){
var now=new Date();
var hour=now.getHours();
var mins=now.getMinutes();
var sec=now.getSeconds();
var timeStr=""+hour;
timeStr+=((mins<10)?":0":":")+mins;
timeStr+=((sec<10)?":0":":")+sec;
timeStr+=(hour>=12)?" PM.":" AM.";
document.clock_form.clock_text.value=timeStr;
clockId=setTimeout("aClock()",1000);
}
</script></head>
<body onLoad="aClock()"><br><br><br>
<form name="clock_form">
當前時間是:
<input type="text" name="clock_text" value ="">
</form></body></html>

4. 計算機二級《Web程序設計》試題及答案

計算機二級《Web程序設計》試題及答案

1在下列的HTML中,正確產生超鏈接的標記是()。

A.新浪網B.新浪網C.http:///WWW.sina.Corn.cnD.新浪網

參考答案:B

2下面協議中用於在Web瀏覽器和伺服器之間傳輸Web文檔的是()。

A.NFSB.FTPC.HTTPD.DNS

參考答案:C

3在HTTP響應的MIME消息體中,可以同時包含如下類型的數據()。

i .文本數據 ii.圖片數據 iii.視頻數據 iv.音頻數據

A.僅iB.i和iiC.i、ii和iiiD.全都可以

參考答案:D

4HTTP協議是一種()協議。

A.文件傳輸協議B.郵件協議C.遠程登錄協議D.超文本傳輸協議

參考答案:D

5在HTML文檔中使用的注釋符號是()。

A.//…B./*……*/C.D.以上說法均錯誤

參考答案:C

6HTTP請求消息中可以不包含()。

i.開始行 ii.消息頭iii.消息體實體數據

A.僅iB.i和iiC.ii和 iiiD.僅iii

參考答案:C

7下列技術中控制文檔結構的.是()。

A.DOMB.CSSC.JavaScriptD.XMLHttpRequest

參考答案:A

8下列語言編寫的代碼中,在瀏覽器端執行的是()。

A.wt h頁面中的c#代碼

B.Web頁面中的Java代碼

C.Web頁面中的PHP代碼

D.Web頁面中的JavaScript代碼

參考答案:D

9在HTTP/1.1協議中,持久連接選項是()的。

A.默認關閉B.默認打開C.不可協商D.以上都不對

參考答案:B

10以下不是HTTP協議的特點的是()。

A.持久連接B.請求/響應模式C.只能傳輸文本數據D.簡單、高效

參考答案:C

11下列語句中,正確打開名為“window2"的新窗口的JavaScript語句是()。

A.open.new("http://www.sina.COB.cn","window2")

B.new.window("http://www.sina.con.cn","window2")

C.new("http://www.sina.com.cn","window2")

D.window.open("http://www.sina.tom.cn","window2")

參考答案:D

12以下選項中,全部都是表格標記的是()。

參考答案:B

13下列關於ASP.NET的描述中,錯誤的是()。

A.ASP.NET依賴於微軟的.NET框架

B.ASP.NET採用純面向對象語言比採用腳本語言的執行效率高

C.ASP.NET採用代碼分離技術有利於開發協作

D.ASP.NET和ASP都採用了JavaScript編程語言

參考答案:D

14下列函數中能夠把6.25四捨五入為最接近的整數的是()。

A.round(6.25)B.rnd(6.25)C.Math.rnd(6.25)D.Math.round(6.25)

參考答案:D

15目前在Internet上應用最為廣泛的服務是()。

A.FTP服務B.Web服務C.Telnet服務D.Gopher服務

參考答案:B

16下列正確地在CSS文件中插入注釋的語句是()。

A.//this is a commentB.//this is a comment//C./*this is a comment*/D.'this is a comment

參考答案:C

17下列不屬於動態網頁格式的是()。

A.ASPB.JSPC.ASPXD.VBS

參考答案:D

18以下語句中,正確製作電子郵件鏈接的是()。

參考答案:C

19下列哪個樣式能夠顯示這樣一個邊框:上邊框10像素、下邊框5像素、左邊框20像素、右邊框l像素?()

A.border—width:10px 5px 20px 1px

B.border—width:10px 20px 5px 1px

C.border—width:5px 20px l0px 1px

D.border—width:10px 1px 5px 20px

參考答案:D

20CSS 主要用下列哪個HTML標記構建頁面布局?()

參考答案:B

21在下列選項中,正確地產生文本區(textarea)的標記是()。

參考答案:A

22在訪問的URL http://Cms.bit.e.Cn:8080/login.aspx中,http表示()。

A.埠號B.文件名C.訪問協議D.主機名

參考答案:C

23下列標記中不屬於行內元素的是()。

參考答案:D

24在HTML文檔中用於表示頁面標題的標記對是()。

參考答案:D

25下列符合CSS語法的正確語句是()。

A.body:color=blackB.{body;color:black}C.body{color:black;}D.{body:color=black}

參考答案:C


更多計算機二級試題推薦:

1. 2016年9月計算機二級web考試試題及答案

2. 計算機二級《Web程序設計》試題及答案

3. 計算機二級考試WEB試題及答案

4. 2016計算機二級考試《Web程序設計》練習題模擬

5. 2016計算機二級考試高級Office試題及答案

6. 2016最新計算機二級考試試題及答案

7. 2016年計算機二級office高級應用試題【題庫】

8. 2016計算機二級等級考試題型分析

9. 2016下半年計算機二級ps試題及答案

10. 計算機二級Office考試試題及答案

;

5. java web程序設計要學些什麼

一、 HTML CSS Javascript
正如嚴老師所說:「Java Web 的基礎是建立在HTML這套標簽的地基之上的」。所以學習Java Web 就要學習HTML的標簽,開始對HTML的理解並不是很深,本以為作為程序員對HTML的重點掌握無非就是From表單,哦,對了,還有Table,<a herf=」」>,文檔的格式<head><body>等等等等,而對於CSS,更覺得這對於作為程序員的我們沒有什麼太大的必要,那些事情完全是由美工來做的,而對於Javascript則覺得他應當是與vbscript一個時代的腳本語言,其作用無非是給頁面添加一些花哨的動態效果沒有什麼實際意義,但是當我接觸到更多的新技術如AJAX的時候便覺得我所掌握的遠遠不夠,對於AJAX而言你學要知道每個細節從而能夠設計出既美觀又具有人性化的用戶界面。而AJAX所以依託的基礎便是Javascript、CSS、HTML、XML,其思想在於使用XMLHttpRequest實現非同步調用把數據偷偷的下載到客戶端從而使得用戶無需刷新界面從而得到更好的上網體驗,此三種技術在AJAX中發揮的淋漓盡致。這才知道那本OReilly的 「Javascript犀牛書」並不是蓋的。這三個基礎性的東西還是學要好好的學習,老的技術相結合也能煥發出新的光彩。
二、 TomCat
總覺的這是一個讓人頭疼的東西,學習的時候常需要給他進行很多項配置,首先是虛擬路徑,在server.xml文件夾下加上<Context path=」/test」 docBase=」F:\dwb」>,有一次給同學安裝Tomcat6.0把Tomcat5.5裡面老師寫好的server.xml直接粘貼到了Tomcat6.0的cong文件夾下竟不能運行,這才知道版本不同隨便粘貼後果是很可怕的,還是老老實實的把<Context path=」/test」 docBase=」F:\dwb」>這句話粘貼上才是。東西有時命名目錄里的東西已經更改了,TomCat也已經重新啟動了,但網頁上顯示的依舊是以前的東西,還得把C:\Program Files\Apache Software Foundation\Tomcat 5.5\work\Catalina\localhost\這個目錄下的虛擬路徑刪掉(如經典的test目錄)。在做第9、10、11章的例子的時候還要把WEB-INF文件夾放到虛擬目錄的根目錄下否則會找不到WEB-INF文件夾,總之問題多多,問題越多,自己的經驗也就越多。
三、 JSP基本語法
1、 < % %>在jsp頁面中插入Java代碼,<%= %>表達式輸出語句
2、 JSP指令和動作:指令主要是<%@page %>、<%@include %>;動作主要是<jsp:forward>、<jsp:include>、<jsp:usebean>、<jsp:setProperty>、<jsp:getProperty>
3、 四種屬性的作用域page、request、session、appliction,一個比一個大,page只對當前頁面有效,request是在兩個頁面跳轉的時候包括伺服器端的跳轉,seesion只要瀏覽器不關閉,屬性一直存在。Appliction只要伺服器(如Tomcat)不關閉它一直都存在
總之我感覺JSP的基本語法還是很簡單的無非就是幾個標簽指令什麼的,稍需要注意的是<jsp:forward>是伺服器端的跳轉URL地址不變,<%@include %>、<jsp:include>主要是包含靜態和動態的區別。
四、 JSP內置對象
Request:主要作用接受表單傳來的數據,
Response:主要是可以像客戶端發送頭部信息和重定向sendRedirect
Out:輸出一些東西
Exception:一些異常信息
Config:這個對象比較厲害,它能獲得web.xml中的許多信息,如<application>中的值,<servlet>中的parm值等
Session和applicition對象主要是用他們的setAttribute和getAttribute方法存取一些屬性值,不同之處在於他們的作用域
五、 JDBC
資料庫進行連接,這是學習程序的重頭戲,但也不是很難,主要是記住連接資料庫的一些流程
1、 Class.forName(驅動程序字元串)
主要有四種驅動方式,字元串也各不相同,我們常用的是連接access的jdbc odbc bridge字元串為sun.jdbc.odbc.jdbcodbcdriver
2、 DirverManger.getConnection(DBURL)
DBURL字元串為 Jdbc:odbc:數據源名稱
3、新建statement對象
4、執行exectuQuery或exectuUpdata方法
5、逆序關閉資料庫
六、結語:設計模式 與開發框架
DAO模式已經過時了,現在的主流模式是MVC;其中主要用了servlet充當控制層, 還需要在web.xml中配置servlet映射,它主要是起到數據控制流向的作用,現在說有主流的框架都是使用MVC模式,如SSH,但是這些框架都沒有想微軟vasual Studio那樣的可是控制項(雖然JavaBen是一些可復用的類),2005年推出的JSF開發框架彌補了這一缺陷,相信在未來作為SUN官方標准推出的JSF開發框架可能會成為主流框架,因為ESRI的ArcGIS Server就是依託於JSF框架開發的產品,相信JSF會成為以後開發框架的主流!

6. webgl問題 這個代碼是webgl編程指南第5章的MultiAttributeColor.js的示例 一直都出不來結果 幫忙看一下

public void save(){
try {
FileOutputStream outStream=this.openFileOutput("a.txt",Context.MODE_WORLD_READABLE);
outStream.write(text.getText().toString().getBytes());
outStream.close();
Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
return;
}

7. 河南大學java web考試卷,是題庫也可以!謝謝啦😘

《JAVA WEB開發應用》 第 1 頁 共 6 頁

期末考試卷(卷)
課程名稱: JAVA WEB 考試方式:開卷( )閉卷(√)

題號 一 二 三 四 五 六 總分
統分人簽名
得分

考生注意事項:1、本試卷共 4 頁,請查看試卷中是否有缺頁。 2、考試結束後,考生不得將試卷、答題紙帶出考場。
一、 選擇題(每小題1分,共20分)
得分 評卷人

1. 表單中的數據要提交到的處理文件由表單的( )屬性指定。
A.method B. name C. action D. 以上都不對 2. 要運行JSP程序,下列說法不正確的是( )
A. 伺服器端需要安裝Servlet容器,如Tomcat等。 B. 客戶端需要安裝Servlet容器,如Tomcat等。 C. 伺服器端需要安裝JDK。
D. 客戶端需要安裝瀏覽器,如IE等。
3. 當發布Web應用程序時,通常把Web應用程序的目錄及文件放到Tomcat
的( )目錄下。
A.work B. temp C. webapps D. conf 4. 下面有關HTTP協議的說法不正確的是( )
A. HTTP協議是Web應用所使用的主要協議
B. HTTP協議是一種超文本傳輸協議(Hypertext Transfer Protocol),
是基於請求/響應模式的
C. HTTP是無狀態協議
D. HTTP的請求和響應消息如果沒有發送並傳遞成功的話,HTTP可以保存
已傳遞的信息
5. 下面有關Servlet的描述錯誤的是( )。
A. 一個Servlet就是Java中的一個類
B. Servlet是位於Web 伺服器內部的伺服器端的Java應用程序 C. Servlet可以由客戶端的瀏覽器解釋執行
D. 載入Servlet的Web伺服器必須包含支持Servlet的Java虛擬機 6. 下面不屬於JSP指令的是:( )
A. include B. import C. page D. taglib 7. ( )動作用於轉向另一個頁面。
A. next B. forward C. include D. param 8. 在項目中已經建立了一個JavaBean,該類為:bean.Student,該bean具
有name屬性,則下面標簽用法正確的是:( )
A.<jsp:useBean id="student" class="Student" scope="session">
</jsp:useBean>
B.<jsp:useBean id="student" class="Student" scope="session">
</jsp:useBean>
C.<jsp:useBean id="student" class="bean.Student" scope="session">
</jsp:useBean>
D.<jsp:getProperty name="name" property="student"/>
9. 下列選項中,( )可以准確地獲取請求頁面的一個文本框的輸入(文本框的名稱為name)。
A. request.getParameter(name) B. request.getParameter(」name」) C. request.getParameterValues(name)
《JAVA WEB開發應用》 第 2 頁 共 6 頁
D. request.getParameterValues(「name」)
10. 使用response對象進行重定向時,使用的方法是( )。
A. getAttribute B. setContentType C. sendRedirect D. setAttribute
11. session對象中用於設定指定名字的屬性值,並且把它存儲在session對
象中的方法是( )。
A. setAttribute B. getAttributeNames C. getValue D. getAttribute
12. 在application對象中用( )方法可以獲得application對象中的所有
變數名。
A. getServerInfo B. nextElements() C. removeAttribute D. getRealPath 13. 有關struts 2的說法不正確的是( )
A. Struts是一個用於簡化MVC框架(Framework)開發的Web應用框架 B. 應用Struts 2不需要進行配置 C. Struts 2 含有豐富的標簽
D. Struts2採用了WebWork的核心技術 14. Web應用的數據共享方式不包括( )。
A.基於請求的共享 B.基於會話的共享 C.基於頁面的共享 D.基於應用的共享
15. 要在頁面上輸出2+3=${2+3},則對應的程序代碼應為( )。
A. 2+3=\${2+3} B. 2+3=${2+3} C. 2+3=/${2+3} D. 以上都不對
16. 下面有關EL中「.「和「[ ]「兩種存取運算符的說法不正確的是( )
A. 兩者在某些情況下是等效的
B. 「[ ]「運算符主要用來訪問數組、列表或其他集合 C. 如果要動態取值時,兩者都可以實現
D. 當要存取的屬性名稱中包含一些特殊字元,如.或?等並非字母或數字
的符號,就一定要使用「[ ]「
17. 要使用JSTL的核心標簽庫,需要在JSP源文件的首部加入如下聲明語句
( )
A. <%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %> B. <%@ taglib prefix=」x」
uri=」http://java.sun.com/jsp/jstl/xml」%> C. <%@ taglib prefix=」fmt」
uri=」http://java.sun.com/jsp/jstl/fmt」%> D. <%@ taglib prefix=」sql
uri=」http://java.sun.com/jsp/jstl/sql」%>
18. 以下( )標簽用於實現循環功能,類似與Java語句中的for循環。
A. <c:set> B. <c:forEach> B. <c:Tokens> D. <c:import> 19. 以下URL中語法不正確的是( )
A.http://www.bta.net.cn:80/software/home.html B.telnet://bdysseu.bbb.com:70 C.ftp://ftp.btbu.e.cn D.www0.btbu.e.cn
20. page指令用於定義JSP文件中的全局屬性,下列關於該指令用法的描述不
正確的是:( )
A. <%@ page %>作用於整個JSP頁面。
B. 可以在一個頁面中使用多個<%@ page %>指令
《JAVA WEB開發應用》 第 3 頁 共 6 頁
C. 為增強程序的可讀性,建議將<%@ page %>指令放在JSP文件的開頭,但不是必須的。
D. <%@ page %>指令中的屬性只能出現一次。
二、 填空題(每空2分,共20分)
得分 評卷人

1.在編寫Servlet時,需要繼承 類,在Servlet中聲明doGet()和doPost()需要 和 類型的兩個參數。
2.jsp主要內置對象有: 、exception、 pageContext、 request 、 、_____ __、out、config、page。 3.使用useBean動作標記的時候scope屬性有4種選項,作用范圍由小到大是_________、_________、_________、_________,其中_________是指當關閉瀏覽器的時候這個javabean失效, ____ _____是指當關閉伺服器的時候這個javabean失效。
4.三種常用的動態網頁技術是_________、_________、_________,簡稱3P技術。
5.JSP利用JDBC操作資料庫的步驟:(1)載入驅動程序,調用___________將自動載入驅動程序類;(2)建立連接,若連接字元串為:
String url = "jdbc:mysql://localhost/" + dbName +"?user=" +userName +"&password=" +userPwd,其中dbName、userName和userPwd 3個分別代表 、資料庫的 和 ,(3)建立StateMent;(4) 、執行sql語句,其中,查詢資料庫里的表內容是Statement介面使用__ __________方法;(5)關閉資料庫。 三、 簡答題:(每小題6分,共30 分)
得分 評卷人

1. Tomcat伺服器的默認埠是多少?怎樣修改tomcat的埠
2.什麼是cookie? cookie有什麼作用?。

3. 簡述JSP中動態include與靜態include的區別?
4. 簡述表單中POST和GET的區別。
5、MVC中的M、V、C各指的是什麼?請述其各自的作用。 四、編程題(每小題15分,共30分)
《JAVA WEB開發應用》 第 4 頁 共 6 頁
得分 評卷人

1、編寫一個簡單的JavaBean,通過EL的存取運算符訪問其屬性。 答案:文件userLogin.java定義了一個用戶Bean,包含姓名、密碼和電子郵件3個屬性,其代碼如下:
package bean;
public class userLogin { private String userName; private String (1) private String email; public userLogin() { userName = "李平"; password = "123";
email = "[email protected]";
}
public void setuserName(String userName) { this.userName = userName; }
public String getuserName() { return this.userName; }
public void setpassword(String password) { this.password = password; }

public String getpassword() {
return this.password;
}
public void setemail(String email) { this.email = email;
}
public String getemail() { return this.email; }
}
文件accessBean.jsp使用EL的存取運算符獲取JavaBean的屬性,其代碼如下:
<%@ page contentType="text/html; charset=gb2312"%> (2)
<jsp:useBean id="user" class="bean.userLogin" scope="session"> </jsp:useBean> <html> <head>
<title>使用存取運算符訪問JavaBean的屬性</title>
</head> <body> <!--通過EL存取運算符訪問JavaBean的屬性--> 用戶名:(3) <br>
密碼:(4)

<br>
電子郵箱:(5)
《JAVA WEB開發應用》 第 5 頁 共 6 頁

8. 第五章:Web伺服器

5.1各種形狀和尺寸的Web伺服器
Web伺服器會對HTTP請求進行處理並提供響應。術語「Web伺服器」可以用來表示Web伺服器的軟體,也可以用來表示提供Web頁面的特定設備或計算機。
Web伺服器有著不同的風格、形狀和尺寸。有普通的10行Perl腳本的Web伺服器、50MB的安全商用引擎以及極小的卡上伺服器。但不管功能有何差異,所有的 Web伺服器都能夠接收請求資源的 HTTP請求,將內容回送給客戶端(參見圖1-5)。
5.1.1Web伺服器的實現
Web伺服器實現了HTTP和相關的TCP連接處理。負責管理Web伺服器提供的資源,以及對Web伺服器的配置、控制及擴展方面的管理。
Web伺服器邏輯實現了HTTP 協議、管理著Web資源,並負責提供Web伺服器的管理功能。Web伺服器邏輯和操作系統共同負責管理TCP連接。底層操作系統負責管理底層計算機系統的硬體細節,並提供了TCP/IP網路支持、負責裝載Web資源的文件系統以及控制當前計算活動的進程管理功能。

5.3實際的Web伺服器會做些什麼
例5-1顯示的 Perl伺服器是一個Web伺服器的小例子。最先進的商用Web伺服器要比它復雜得多,但它們確實執行了幾項同樣的任務,如圖5-3所示。
(1)建立連接一—接受一個客戶端連接,或者如果不希望與這個客戶端建立連接,就
將其關閉。
(2)接收請求——從網路中讀取一條HTTP請求報文。(3)處理請求——對請求報文進行解釋,並採取行動。(4)訪問資源-———訪問報文中指定的資源。
(5)構建響應——創建帶有正確首部的 HTTP響應報文。(6)發送響應——將響應回送給客戶端。
(7)記錄事務處理過程—-將與已完成事務有關的內容記錄在一個日誌文件中。

5.4第一步——接受客戶端連接
如果客戶端已經打開了一條到伺服器的持久連接,可以使用那條連接來發送它的請求。否則,客戶端需要打開一條新的到伺服器的連接(回顧第4章,復習一下HTTP的連接管理技術)。

5.4.1處理新連接
客戶端請求一條到Web伺服器的TCP連接時,Web伺服器會建立連接,判斷連接的另一端是哪個客戶端,從TCP連接中將IP地址解析出來。'一旦新連接建立起來
並被接受,伺服器就會將新連接添加到其現存Web伺服器連接列表中,做好監視連接上數據傳輸的准備。
Web伺服器可以隨意拒絕或立即關閉任意一條連接。有些Web伺服器會因為客戶端IP地址或主機名是未認證的,或者因為它是已知的惡意客戶端而關閉連接。Web伺服器也可以使用其他識別技術。

5.4.2客戶端主機名識別
可以用「反向 DNS」對大部分Web伺服器進行配置,以便將客戶端IP地址轉換成客戶端主機名。Web伺服器可以將客戶端主機名用於詳細的訪問控制和日誌記錄。但要注意的是,主機名查找可能會花費很長時間,這樣會降低Web事務處理的速度。很多大容量Web伺服器要麼會禁止主機名解析,要麼只允許對特定內容進行解析。
可以用配置指令HostnameLookups啟用Apache的主機查找功能。比如,例5-2中的Apache配置指令就只打開了HTML和CGI資源的主機名解析功能。
例5-2配置Apache,為 HTML和CGI資源查找主機名
HostnameLookups off
<Files ~" - 《html |htmlcgi)$">
HostnameLookups on
</Files>

5.5第二步—接收請求報文
連接上有數據到達時,Web伺服器會從網路連接中讀取數據,並將請求報文中的內容解析出來(參見圖5-5)。
解析請求報文時,Web伺服器會:
·解析請求行,查找請求方法、指定的資源標識符(URI)以及版本號,3各項之
間由一個空格分隔,並以一個回車換行(CRLF)序列作為行的結束,「
·讀取以CRLF結尾的報文首部;
檢測到以CRLF結尾的、標識首部結束的空行(如果有的話)﹔
·如果有的話(長度由content-Length首部指定),讀取請求主體。

解析請求報文時,Web伺服器會不定期地從網路上接收輸入數據。網路連接可能隨時都會出現延遲。Web伺服器需要從網路中讀取數據,將部分報文數據臨時存儲在內存中,直到收到足以進行解析的數據並理解其意義為止。
5.5.1 報文的內部表示法
有些Web伺服器還會用便於進行報文操作的內部數據結構來存儲請求報文。比如,數據結構中可能包含有指向請求報文中各個片段的指針及其長度,這樣就可以將這些首部存放在一個快速查詢表中,以便快速訪問特定首部的具體值了(參見圖5-6)。

5.5.2連接的輸入/輸出處理結構
高性能的 Web伺服器能夠同時支持數千條連接。這些連接使得伺服器可以與世界各地的客戶端進行通信,每個客戶端都向伺服器打開了一條或多條連接。某些連接可能在快速地向Web伺服器發送請求,而其他一些連接則可能在慢慢發送,或者不經常發送請求,還有一些可能是空閑的,安靜地等待著將來可能出現的動作。
因為請求可能會在任意時刻到達,所以Web伺服器會不停地觀察有無新的Web請求。不同的Web伺服器結構會以不同的方式為請求服務,如圖5-7所示。
·單線程Web伺服器(參見圖5-7a)
單線程的Web伺服器一次只處理一個請求,直到其完成為止。一個事務處理結束之後,才去處理下一條連接。這種結構易於實現,但在處理過程中,所有其他連接都會被忽略。這樣會造成嚴重的性能問題,只適用於低負荷的伺服器,以及type-o-serve這樣的診斷工具。
·多進程及多線程Web伺服器(參見圖5-7b)
多進程和多線程Web伺服器用多個進程,或更高效的線程同時對請求進行處理。3可以根據需要創建,或者預先創建一些線程/進程。°有些伺服器會為每條連接分配一個線程/進程,但當伺服器同時要處理成百、上千,甚至數以萬計的連接時,需要的進程或線程數量可能會消耗太多的內存或系統資源。因此,很多多線程Web伺服器都會對線程/進程的最大數量進行限制。
·復用I/O的伺服器(參見圖5-7c)
為了支持大量的連接,很多Web伺服器都採用了復用結構。在復用結構中,要同時監視所有連接上的活動。當連接的狀態發生變化時(比如,有數據可用,或出現錯誤時),就對那條連接進行少量的處理,處理結束之後,將連接返回到開放連接列表中,等待下一次狀態變化。只有在有事情可做時才會對連接進行處理,在空閑連接上等待的時候並不會綁定線程和進程。
·復用的多線程Web伺服器(參見圖5-7d)
有些系統會將多線程和復用功能結合在一起,以利用計算機平台上的多個CPU.多個線程(通常是一個物理處理器)中的每一個都在觀察打開的連接(或打開的連接中的一個子集),並對每條連接執行少量的任務。

5.6第三步———處理請求
一旦Web伺服器收到了請求,就可以根據方法、資源、首部和可選的主體部分來對請求進行處理了。
有些方法(比如POST)要求請求報文中必須帶有實體主體部分的數據。其他一些方法(比如OPTIONS)允許有請求的主體部分,也允許沒有。少數方法(比如GET)禁止在請求報文中包含實體的主體數據。
這里我們並不對請求的具體處理方式進行討論,因為本書其餘大多數章節都在討論這個問題。

5.7第四步——-對資源的映射及訪問
Web 伺服器是資源伺服器。它們負責發送預先創建好的內容,比如HTML頁面或JPEG 圖片,以及運行在伺服器上的資源生成程序所產生的動態內容。

5.7.1 docroot
Web伺服器支持各種不同類型的資源映射,但最簡單的資源映射形式就是用請求URI作為名字來訪問Web伺服器文件系統中的文件。通常,Web伺服器的文件系統中會有一個特殊的文件夾專門用於存放Web內容。這個文件夾被稱為文檔的根目錄(document root,或docroot)。Web伺服器從請求報文中獲取URI,並將其附加在文檔根目錄的後面。
在圖5-8中,有一條對/specials/saw-blade.gif 的請求到達。這個例子中Web伺服器的文檔根目錄為/us/local/httpd/files。Web伺服器會返迴文件/usr/local/httpd/files/specials/saw-blade.gif。

在配置文件httpd.conf中添加一個 DocumentRoot行就可以為Apache Web伺服器設置文檔的根目錄了:
DocumentRoot /usr/ local/httpd/files
伺服器要注意,不能讓相對URL退到docroot之外,將文件系統的其餘部分暴露出來。比如,大多數成熟的Web伺服器都不允許這樣的URI看到Joe的五金商店文檔根目錄上一級的文件:
http://www.joes-hardware.com/ ..

5.8.3重定向
Web伺服器有時會返回重定向響應而不是成功的報文。Web伺服器可以將瀏覽器重定向到其他地方來執行請求。重定向響應由返回碼3XX說明。Location響應首部包含了內容的新地址或優選地址的URI。重定向可用於下列情況。
·永久刪除的資源
資源可能已經被移動到了新的位置,或者被重新命名,有了一個新的URL。Web伺服器可以告訴客戶端資源已經被重命名了,這樣客戶端就可以在從新地址獲取資源之前,更新書簽之類的信息了。狀態碼301 Moved Permanently就用於此類重定向。·臨時刪除的資源
如果資源被臨時移走或重命名了,伺服器可能希望將客戶端重定向到新的位置上去。但由於重命名是臨時的,所以伺服器希望客戶端將來還可以回頭去使用老的URL,不要對書簽進行更新。狀態碼303 See Other以及狀態碼307 TemporaryRedirect就用於此類重定向。

9. web編程題

1、 編寫一個顯示當前時間的JavaScript函數dis_time(),顯示格式為「 時:分:秒 」。

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script language="javascript">
var MyDate = new Date();
document.write("現在時間是:"+MyDate.getHours()+":"+MyDate.getMinutes()+":"+MyDate.getSeconds());
</script></head><body></body></html>

2、編寫一個函數Min(x,y),求出x,y兩個數中的最小值。
要求:x,y的值由用戶通過信息輸入窗口的文本框輸入,結果用警告窗口顯示出最小的值。

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script language="javascript">
var x= prompt("請輸入x的值:","");
var y= prompt("請輸入y的值:","");
alert("最小的數是:"+Math.min(x,y) );
</script></head><body></body></html>

3、有一用戶登錄頁面(如下圖),請設計頁面並編寫JavaScript代碼。
要求:1.驗證用戶名不能為空。
2.驗證密碼長度不能低於6位,高於20位。

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script language="javascript">
function a()
{
var str1 = document.getElementById("a").value ;
var str2 = document.getElementById("b").value ;
if( str1 == "")
{
alert("用戶名不能為空!");return false ;
}
if(str2.length<6||str2.length>20)
{
alert("密碼長度不能低於6位,高於20位!"); return false;
}
}
</script></head><body>
<center>用戶登陸頁面</center>
<center>用戶名:<input id="a" type="text" /><br/></center>
<center> 密 碼:<input id="b" type="password" /><br/></center>
<center><input type="button" value="確定" onclick="return a()" />
</body></html>
4、使用循環語句,讓頁面顯示出如下圖形。

<html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script language="javascript">
for( var i= 0 ;i<=5;i++)
{
for(var j= 0 ;j<i;j++)
{document.write("★");}
document.write("<br/>");
}
</script></head><body></body></html>
5、設計頁面有一個文本框和一個按鈕,當點擊按鈕後在文本框里顯示0到100之間的隨機數,根據以上描述寫出完整代碼。

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script language="javascript">
function a()
{var str =Math.random()*100 ; document.getElementById("abc").value =str;}
</script></head><body><input type="text" id="abc"/>
<input type="button" value="提交" onclick="a();"/>
</body></html>

10. Web編程題,大家幫我看看

web當然全部過濾,自己在過濾器裡面判斷path放過啊,