当前位置:首页 » 网页前端 » 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放过啊,