javaWeb习题与答案

更新时间:2024-05-28 17:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

(B) 01、WWW的英文全称是___。 A) World Web Wide B) World Wide Web C) Web Wide World D) World Wide Worth

(B) 02、以下__不属于B/S结构特点。 A) 节约成本

B) 维护成本高且投资大 C) 安全 D) 方便

(A) 03、下列__不属于URL的组件部分。 A) 服务器名称 B) 协议类型 C) 路径 D) 文件名

(C) 04、下面关于Html的描述中,错误的是__。

A) HTML文件必须由开头,标记结束。 B) 文档头信息包含在与之间。

C) 在和之间可以包含和<body>等信息。 </p><p> D) 文档体包含在<body>和</body>标记之间 (D) 05、下列__不是HTML的常用标记。 A) <body> B) <head> C) <html> D) <Book> (D) 06、表格在网页中常用于网页的布局排版,下面__不是表格的标记。 A) B) C) D) <th> </p><p>(A) 07、在标记中,*号位置会写上窗口的打开方式。若将内容显示在新的浏览窗口中,应选择__。 A) target=_blank B) target=_parent C) target=_self D) target=_top </p><p>(C) 08、Form表单的method属性能取下列__值。 A) submit B) puts C) post D) out </p><p>(C) 09、在HTML文件中导入一个样式表的正确语法为__。 A) <link href=\rel=\type=\</p><p> B) <input href=\rel=\type=\</p><p> C) <import href=\rel=\type=\ D) <link src=\rel=\type=\</p><p>(C) 10、Http的中文含义为__。 A) 统一资源定位器 B) 简单邮件传输协议 C) 超文本传输协议 D) 网络套接字 </p><p>(A) 11、CSS指的是__。 </p><p> </p><p> A) 层叠样式表 B) 脚本语言 C) 标记语言 D) 扩展标记语言 </p><p>(D) 12、CSS选择器通过被规则指定的标记,对文档中使用该标记的内容进行统一的外观控制。下面__不是CSS选择器。 </p><p> A) 标记选择器 B) 类型选择器 C) ID选择器 D) 名称选择器 </p><p>(A) 13、URL中文名称是__。 A) 统一资源定位器 B) 网络资源 C) 网络协议 D) 数据链接 (A) 14、URL是Internet中资源的命名机制,URL由__三部分构成。 </p><p> A) 协议、主机DNS名或IP地址和文件名 B) 主机、DNS名或IP地址和文件名、协议 C) 协议、文件名、主机名 D) 协议、文件名、IP地址 </p><p>(C) 15、下列__不属于URL的组件部分。 A) 协议 </p><p> B) IP地址或域名 C) 服务器名称 D) 端口号 (B) 16、以下__语句是从表TABLE_NAME中提取前10条记录。 A) select * from TABLE_NAME where rowcount=10 B) select TOP 10 * from TABLE_NAME C) select TOP of 10 * from TABLE_NAME </p><p> D) select * from TABLE_NAME where rowcount<=10 (D) 17、从“员工”表的“姓名”字段中找出名字包含“玛丽”的人,___语句是正确的。 </p><p> A) Select * from 员工 where 姓名 ='玛丽' B) Select * from 员工 where 姓名 ='%玛丽' C) Select * from 员工 where 姓名 like '玛丽%' D) Select * from 员工 where 姓名 like '%玛丽%' (C) 18、下列__完整性中,将每一条记录定义为表中的惟一实体,即不能重复。 A) 域完整性 B) 引用完整性 C) 实体完整性 D) 行列完整性 </p><p>(D) 19、关系模型中实体与实体间的联系的表是通过__。 A) 表 B) 图 C) 树 D) 关系 </p><p>(B) 20、当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个__。 A) 进程 B) 线程 C) 程序 D) 服务 </p><p>(D) 21、以下__不是JSP运行所必须的条件。 A) 操作系统 B) JavaJDK </p><p> C) 支持Jsp的Web服务器 D) 数据库 </p><p>1 </p><p>(C) 22、下列说法中正确的是__。 </p><p> A) Apache用于ASP技术所开发网站的服务器 B) IIS用于CGI技术所开发网站的服务器 C) Tomcat用于JSP技术所开发网站的服务器 D) WebLogic用于PHP技术所开发网站的服务器 (C) 23、Tomcat服务器的默认端口为__。 A) 8888 B) 8001 C) 8080 D) 80 </p><p>(A) 24、Tomcat的端口号可以在__文件中修改。 A) server.xml B) web.xml C) tomcat.xml D) 不能改 </p><p>(D) 25、如果想在tomcat服务器启动时将jar包加载到内存,且该jar包可以被tomcat服务器上所有的应用使用,应该将该jar包复制到tomcat的__目录。 A) common B) server C) common\\lib D) server\\lib </p><p>(C) 26、下列变量声明在__范围内有效。 <%! Date dateTime; int countNum; %> </p><p> A) 从定义开始处有效,客户之间不共享 B) 在整个页面内有效,客户之间不共享 C) 在整个页面内有效,被多个客户共享 D) 从定义开始处有效,被多个客户共享 (C) 27、在“<%!”和“%>”标记之间声明的Java的方法称为页面的成员方法,其在__范围内有效。 A) 从定义处之后有效。 B) 在整个页面内有效。 C) 从定义处之前有效。 D) 不确定。 (B) 28、JSP页面可以在“<%=”和“%>”标记之间放置Java表达式,直接输出Java表达式的值。组成“<%=”标记的各字符之间__。 </p><p> A) 可以有空格 B) 不可以有空格 C) 必须有空格 D) 不确定 </p><p>(A) 29、JSP的Page编译指令的属性Language的默认值是__。 </p><p> A) Java B) C C) C# D) SQL (A) 30、在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为__。 A) .jsp文件 B) .class文件 C) .jar文件 D) web.xml文件 (C) 31、创建JSP应用程序时,配置文件web.xml应该在程序下的__目录中。 A) admin B) servlet C) WEB-INF D) WebRoot </p><p> </p><p>(B) 32、jsp最终被运行的是__文件。 A) java B) class C) HTML D) JSP </p><p>(B) 33、下面___不是JSP本身已加载的基本类。 A) java.lang.* B) java.io.* </p><p> C) javax.servlet.* D) javax.servlet.jsp.* </p><p>(C) 34、对于预定义<%!预定义%>的说法错误的是___。 A) 一次可声明多个变量和方法,只要以“;”结尾就行 B) 一个声明仅在一个页面中有效 C) 声明的变量将作为局部变量 </p><p> D) 在预定义中声明的变量将在JSP页面初始化时初始化 </p><p>(B) 35、include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML网页、文本文件或一段Java代码,但必须保证插入后形成的文件是__。 A) 是一个完整的HTML文件 B) 是一个完整的JSP文件 C) 是一个完整的TXT文件 D) 是一个完整的Java源文件 </p><p>(A) 36、在Jsp页面中,Java程序代码应插入在__标记之间。 </p><p> A) <% 和 %> B) <% 和 /> C) </ 和 %> D) <% 和 !> </p><p>(B) 37、可以在以下__标记之间插入变量与方法声明。 A) <% 和 %> B) <%! 和 %> C) </ 和 %> D) <% 和 !> </p><p>(A) 38、jsp中java表达式的语法格式为__。 A) <%= %> B) <%! %> C) <%@ %> D) <% %> </p><p>(C) 39、下列__注释为隐藏型注释。 </p><p> A) B) C) <%-- 注释内容 --%> </p><p> D) <!—[<%= 表达式 %>] --> </p><p>(A) 40、在JSP中,<%=\将输出__。 A) 1+4 B) 5 C) 14 </p><p> D) 不会输出,因为表达式是错误的 (C) 41、在JSP中,要定义一个方法,需要用到以下__元素。 A) <%= %> B) <% %> C) <%! %> D) <%@ %> </p><p>(C) 42、要在jsp中使用ArrayList,,__做法是正确的。 A) <% import java.util.ArrayList%> B) <%@ import \ C) <%@ page import=\ D) <%@ page package=\(B) 43、在JSP中,page指令的__属性用来引入需要的包</p><p>2 </p><p>或类。 </p><p> A) extends B) import C) languge D) contentType (B) 44、能在浏览器的地址栏中看到提交数据的表单提交方式是__。 </p><p> A) submit B) get C) post D) out </p><p>(D) 45、下面不属于JSP内置对象的是__。 A) out对象 B) respone对象 C) application对象 D) page对象 (A) 46、在JSP页面中,能够完成输出操作的内置对象是__。 A) out </p><p> B) response C) request D) config </p><p>(C) 47、out对象是一个输出流,其输出各种类型数据并换行的方法是__。 </p><p> A) out.print() B) out.newLine() C) out.println() D) out.write() (A) 48、out对象是一个输出流,其输出不换行的方法是__。 A) out.print() B) out.newLine() C) out.println() D) out.write() </p><p>(C) 49、在JSP中的Java脚本中输出数据时可以使用__对象的print()方法。 A) page B) session C) out </p><p> D) application (D) 50、以下__对象提供了访问和放置页面中共享数据的方式。 </p><p> A) pageContext B) response C) request D) session </p><p>(A) 51、如果只希望在多个页面间共享数据,可以使用__作用域。 </p><p> A) request,session </p><p> B) application,session C) request,application D) pageContxt,request (D) 52、编写计数器程序用来记载当前网站的访问量,建议采用JSP中的__对象。 A) page B) session C) request D) application </p><p>(C) 53、sesson对象的__方法用于判断是否为开始新会话。 A) begin() </p><p> B) isNewSessionID() C) isNew() </p><p> </p><p> D) invalidate() (B) 54、在JSP中如果要获取客户端主机名,应使用request对象的__方法。 </p><p> A) getServerName() B) getRemoteHost() C) server() </p><p> D) getRemotePort() (A) 55、可以利用request对象的__方法获取客户端的表单信息。 </p><p> A) request.getParameter() B) request.outParameter() C) request.writeParameter() D) request.handlerParameter() </p><p>(C) 56、调用getCreationTime()可以获取session对象创建的时间,该时间的单位是__。 A) 秒 B) 分秒 C) 毫秒 D) 微秒 (A) 57、可以利用JSP动态改变客户端的响应,使用的语法是__。 </p><p> A) response.setHeader() B) response.outHeader() C) response.writeHeader() D) response.handlerHeader() (C) 58、在WEB应用程序的目录结构中,在WEB-INF文件夹中的lib目录是存放__文件的。 A) .jsp文件 B) .class文件 C) .jar文件 D) web.xml文件 </p><p>(D) 59、在J2EE中,request对象的__方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据。 A) String getParameter(String name) B) String[] getParameter(String name) </p><p> C) String getParameterValuses(String name) D) String[] getParameterValues(String name) (C) 60、使用GET方式提交数据、接收数据时,处理中文最直接有效方式是__。 </p><p> A) request.setCharacterEncoding(\ B) </p><p>response.setContentType(\ C) String name= new </p><p>String(request.getParameter(\859-1\</p><p> D) response.setCharacterEncoding(\(A) 61、在文件上传时,用__对象接收文件。 A) request B) session C) page </p><p> D) MultipartRequest </p><p>(B) 62、JSP页面程序片中可以使用__方法将strNumx=request.getParamter(\得到的数据类型转换为Double类型( )。 </p><p> A) Double.parseString(strNumx) B) Double.parseDouble(strNumx) C) Double.parseInteger(strNumx) D) Double.parseFloat(strNumx) </p><p>(C) 63、JavaScript执行表单验证一般都发生在用户单击</p><p>3 </p><p> </p><p>“提交”按钮后,数据提交服务器之前,onValidate()函数返回值为true时,__。 </p><p> A) 验证不通过,提交数据给服务器 B) 验证不通过,不提交数据给服务器 C) 验证通过,提交数据给服务器 D) 验证通过,不提交数据给服务器 (C) 64、对于<% String (C) 71、用户需要在数据库添加数据行,使用__方法向服务器发送请求。 A) get B) post C) method </p><p> D) 以上都不对 </p><p>(C) 72、在JSP页面中通过<jsp:forward page=urlname/>name=request.getAttribute(\%>,使用__代码可以将name的值显示在页面。 A) response.print(name); </p><p> B) <% request.getOut().print(name)%> C) <%=name%> D) <p>name</p> </p><p>(A) 65、给定test1.jsp代码片断,如下: </p><p> <jsp:include page=\ <jsp:param name=\ </jsp:include> </p><p> 要在test2.jsp中输出参数color中的值,以下__选项是正确的。 </p><p> A) <%=request.getParameter(\ B) <%=request.getAttribute(\ C) <jsp:getParam name=\ D) <jsp:include param=\(C) 66、考虑下面JSP文件代码片断: <HTML> <BODY> </p><p> <jsp:include page=\</p><p> <jsp:param name=\ </jsp:include> </BODY> </HTML> </p><p> 以下__代码片断放置在test2.jsp中不会导致错误。 A) <jsp:getParam name=\ B) <jsp:include param =\</p><p> C) <%=request.getParameter(\ D) <%=request.getAttribute(\</p><p>(A) 67、以下__可用于检索session属性userid的值。 A) session. getAttribute (\ B) session. setAttribute (\ C) request. getParameter (\ D) request. getAttribute (\(A) 68、只能够传递字符串类型数据的方式是__。 A) 表单 URL重写 </p><p> B) session对象 表单 </p><p> C) 隐藏域 setParameter方法 D) 都可以 </p><p>(A) 69、某JSP中有如下代码: </p><p> <% pageContext.setAttribute(\ request.setAttribute(\ session.setAttribute(\</p><p> application.setAttribute(\ 有:${a} </p><p> 则显示结果为:__。 A) page B) request C) session D) application </p><p>(B) 70、在HTTP协议中,用于发送大量数据的方法是__。 A) get B) post C) put D) options </p><p>将本页面请求转发至指定URL指定的文件,则在该URL组件(JSP页面)中,除了__范围,其余均可接收数据。 A) session B) request C) page </p><p> D) application </p><p>(A) 73、<jsp:param>动作元素经常与__元素一起使用。 A) <jsp:include> B) <jsp:useBean> C) <jsp:setProperty> D) <jsp:import> </p><p>(C) 74、jsp指令不包括__指令。 A) page B) taglib C) import D) include </p><p>(B) 75、下面__不属于jsp动作标记。 A) <jsp:attribute/> B) <jsp:forwards/> C) <jsp:include/> D) <jsp:useBean/> </p><p>(D) 76、下列__不属于JSP动作指令标记。 A) <jsp:param> B) <jsp:plugin> C) <jsp:useBean> D) <jsp:javaBean> </p><p>(D) 77、在JSP中可动态导入其他页面的标签是__。 A) <% include/></textarea> B) <%@ include%> C) <jsp:importPage/> D) <jsp:include/> </p><p>(A) 78、在JSP中如果要导入java.io.*包,应该使用__指令。 </p><p> A) page B) taglib C) include D) forward </p><p>(B) 79、如果当前JSP页面不能显示中文,需要设置page指令的__属性。 A) Exception B) contentType C) error </p><p> D) errorPage </p><p>(B) 80、要设置某个JSP页面为错误处理页面,以下page指令正确的是__。 </p><p> A) <%@ page errorPage=\ B) <%@ page isErrorPage=\ C) <%@ page extends=\ D) <%@ page info=\(A) 81、在inc.jsp中包含数行代码与一张图片,现在要创建一个home.jsp,每次浏览home.jsp时都能够以最快的速度显示inc.jsp中的所有内容以及home.jsp自身要显示的</p><p>4 </p><p>内容,应该在home.jsp中使用的语句是__。 A) <%@include file=\</p><p> B) <%@include page=\ C) <jsp:include file=\ D) <jsp:forward page=\</p><p>(D) 82、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是__。 A) <%@ page %>作用于整个JSP页面。 </p><p> B) 可以在一个页面中使用多个<%@ page %>指令。 C) 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。 </p><p> D) <%@ page %>指令中的属性只能出现一次。 (C) 83、JSP中有三大类标签,分别是__。 A) HTML标记 JSP标记 Servlet标记 B) CSS标记 HTML标记 Javascript标记 C) 动作标记 脚本标记 指令标记 D) 指令标记 脚本标记 HTML标记 (A) 84、在JSP中,__动作用于将请求转发给其他JSP页面。 A) forward B) include C) useBean D) setProperty </p><p>(D) 85、可以执行请求转发的操作是__。 </p><p> A) jsp中response内置对象的sendRedirect()方法 B) <jsp:include>标记 </p><p> C) RequestDispatcher对象的include()方法 D) RequestDispatcher对象的forward()方法 (D) 86、__内置对象可以处理jsp页面运行中的错误或者异常。 </p><p> A) pageContext B) page C) session D) exception </p><p>(C) 87、session对象的__方法用于设置会话的超时时间。 A) session.setMaxInactiveInterval(30); B) session.setMaxTime(30); </p><p> C) session.getMaxInactiveInterval(); D) session.setAttribute(\(C) 88、以下__陈述是错误的。 </p><p> A) 在WEB项目的共享数据范围内,application是范围最广泛的 </p><p> B) 当我们在一个JSP页面新开窗口时,新开窗口的页面也共享session范围内的数据 </p><p> C) 当在JSP页面中通过<jsp:forward>指令将页面请求转发到的页面中,可以共享一个page范围内的数据 D) 当用户重新打开一个浏览器窗口时,原session对象不再有效 </p><p>(C) 89、在J2EE中,在web.xml中,有如下代码: <session - config> </p><p> <session - timeout>30</session - timeout> </session - config> </p><p> 上述代码定义了默认的会话超时时长,时长为30__。 A) 毫秒 B) 秒 C) 分钟 D) 小时 </p><p>(C) 90、在J2EE中,重定向到另一个页面,以下__语句是正确的。 </p><p> A) request.sendRedirect(\ B) request.sendRedirect(); </p><p> </p><p> C) response.sendRedirect(\ D) response.sendRedirect(); (A) 91、重向可以使用__方法。 </p><p> A) response.sendRedirect(\ B) request.sendRedirect(\ C) <jsp :forward page=\ D) <forward page=\</p><p>(D) 92、能够保留请求作用域中数据的转向方式是__。 A) response.forward() </p><p> B) response.sendRedirect() C) </p><p>session.getRequestDispatcher().forward(request,response) D) </p><p>request.getRequestDispatcher().forward(request,response) </p><p>(D) 93、给定一个JSP程序源代码如下: </p><p> <jsp:include page=\ <jsp:param name=\ </jsp:include> </p><p> 在two.jsp中使用__代码片段可以输出参数location的值。 </p><p> A) <jsp:getParam name=\</p><p> B) <jsp:getParameter name=\ C) <%=request.getAttribute(\ D) <%=request.getParameter(\(A) 94、JSP的编译指令标记通常是指__。 </p><p> A) Page指令、Include指令和Taglib指令 B) Page指令、Include指令和Plugin指令 C) Forward指令、Include指令和Taglib指令 D) Page指令、Param指令和Taglib指令 </p><p>(B) 95、下列__指令定义在JSP编译时包含所需要的资源。 A) include B) page C) taglib D) forward </p><p>(B) 96、给定include1.jsp文件代码片断,如下: <% pageContext.setAttribute(\ __ //此处填写代码 </p><p> 给定include2.jsp文件代码片断,如下: <%=pageContext.getAttribute(\</p><p> 要求运行include1.jsp时,浏览器上输出:HAHA 要满足以上条件,jsp1.jsp中下划线处应填入以下__语句。 A) <jsp:include page=\flush=\</p><p> B) <%@ include file=\ C) <jsp:forward page=\</p><p> D) <% response.sendRedirect(\null (B) 97、在JSP页面中,类型为HttpServletResponse的内置对象是__。 A) out </p><p> B) response C) request D) config </p><p>(B) 98、__标记指定访问servlet的路径。 A) <servlet-name> B) <servlet-class> C) <url-pattern> </p><p>5 </p><p> </p><p> </p><p>建一个Statement对象 </p><p> C) Statement接口的executeQuery()方法可以发送select语句给数据库 </p><p> D) ResultSet接口表示执行insert语句后得到的结果集 </p><p>(D) 180、使用JDBC访问数据时,下面__不是常用的接口。 D) 8000 </p><p>(B) 188、在HttpSession中写入和读取数据的方法是__。 A) setParameter()和getParameter() B) setAttributer()和getAttribute() C) addAttributer()和getAttribute() D) set()个get() </p><p> A) SQLConnection B) ResultSet C) Statement </p><p> D) PreparedStatement (A) 181、在JDBC连接数据库编程应用开发中,利用__可以实现连接数据库。 A) Connection类 </p><p> B) PreparedStatement类 C) CallableStatement类 D) Statement类 (B) 182、为了实现在Java的程序中调用带参数的SQL语句,应该采用__来完成。 A) Connection类 </p><p> B) PreparedStatement类 C) ResultSet类 D) Statement类 (C) 183、在JDBC连接数据库编程应用开发中,利用__可以实现包装数据库中的结果集。 A) Connection类 </p><p> B) PreparedStatement类 C) ResultSet类 D) Statement类 (C) 184、__是微软公司提供的连接SQL Server 2000的JDBC驱动程序。 </p><p> A) oracle.jdbc.driver.OracleDriver B) sun.jdbc.odbc.JdbcOdbcDriver </p><p> C) com.microsoft.jdbc.sqlserver.SQLServerDriver D) com.mysql.jdbc.Driver (C)185、针对下述JSP页面,在Servlet中需要得到用户选择的爱好的数量,最合适的代码时__。 </p><p> <input type=\网络\网络; </p><p> <input type=\朋友推荐\朋友推荐; </p><p> <input type=\报纸\报纸; </p><p> <input type=\其他\其他; </p><p> A) request.getParameter(\ B) request.getParameter(\</p><p> C) request.getParameterValues(\ D) request.getParameterValues(\(A) 186、用户使用POST方式提交的数据中存在汉字(使用GBK字符集),在Servlet中需要使用下面__个语句处理。 A) request.setCharcterEncoding(\ B) </p><p>request.setContentType(\ C) reponse.setCharcterEncoding(\ D) </p><p>response.setContentType(\(B) 187、Tomcat的默认端口是__。 A) 80 B) 8080 C) 8088 </p><p>(D) 189、下列不属于JSP构成元素的是__。 A) 脚本 B) 声明 C) 表达式 </p><p> D) JavaScript (C) 190、下列注释方式可以在JSP中使用,并且客户端无法查看的是__。 </p><p> A) <!—注释--> B) <%注释%> C) <%--注释--%> D) <%!注释%> </p><p>(C) 191、在JSP页面中有下述代码,第二次访问此页面的输出是______ </p><p> <%! int x=0; %> <% Int y=0; %> <%=x++>,<%=y++> A) 0,0 B) 0,1 C) 1,0 D) 1,1 </p><p>(A) 192、下列useBean标准动作使用正确的是_____ </p><p> A) <jsp:useBean id=\class=\scope=\</p><p> B) <jsp:useBean name=\scope=\ C) <jsp:useBean id=\class=\</p><p> D) <jsp:useBean name=\scope=\(D) 193、两个JSP文件中的代码如下,执行后的输出为__。 1.jsp </p><p> <% request.setAttribute(\ session.setAttribute(\ response.sendRedirect(\ 2.jsp </p><p> <% out.print(request.getAttribute(\ out.print(session.getAttribute(\ A) JSP JSP B) null JSP C) null null D) null JSP (D) 194、假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放在__目录下。 </p><p> A) helloapp/HelloServlet.class </p><p> B) helloapp/WEB-INF/HelloServlet.class </p><p> C) helloapp/WEB-INF/classes/HelloServlet.class D) </p><p>helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class </p><p>(C) 195、设在表单中有一组复选钮标记,如下列代码: </p><p> 如果在register.jsp是取city的值,最适合的方法为__。 </p><p> A) String city=request.getParameter(\ B) String []cities=request.getParameter(\ C) String (AC) 03、HTML标记中 </p><p> A) 表单的名称是form1 </p><p> B) 表单的数据提交的位置是post </p><p> C) 表单提交的数据将会出现在地址栏中 D) 此表单提交数据的大小不受限制 </p><p>12 </p><p> </p><p>(AB) 12、下列关于Servlet的说法正确的是____。(多选) D) 如果JSP页面有错误将不再执行翻译步骤。 A) Servlet是一种动态网站技术 B) Servlet运行在服务端 </p><p> C) Servlet针对每个请求使用一个进程来处理 </p><p> D) Servlet与普通的Java类一样,可以直接运行,不需要环境支持 (ABD) 13、下列关于Servlet的编写方式正确的是____。(多选) </p><p> A) 必须是HttpServlet的子类 </p><p> B) 通常需要覆盖doGet() 和doPost()方法或其一 C) 通常需要覆盖service()方法 </p><p> D) 通常要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素 </p><p>(BC) 14、下列关于Servlet生命周期的说法正确的是___。(多选) </p><p> A) 构造方法只会调用一次,在容器启动时调用 B) init()方法只会调用一次,在第一次请求此Servlet时调用 C) service()方法在每次请求此Servlet时都会被调用 D) destroy()方法在每次请求完毕时会被调用 (ABD) 16、写入和读取Cookie的代码分别是_____。(多选) A) request.addCookies()和response.getCookies(); B) response.addCookie()和request.getCookie(); C) response.addCookies()和request.getCookies(); D) response.addCookie()和request.getCookies(); (AB) 17、HttpServletRequest的____方法可以得到会话。(多选) </p><p> A) getSession() </p><p> B) getSession(Boolean) C) getRequestSession(); D) getHttpSession(); </p><p>(ABCD) 18、下列选项中可以关闭会话的是_____。(多选) A) 调用HttpSession的close方法 </p><p> B) 调用HttpSession的invalidate()方法 C) 等待HttpSession超时 </p><p> D) 调用HttpServletRequest的getSession(false)方法 (ABD) 19、下列关于ServletContext的说法正确的是____。(多选) </p><p> A) 一个应用对应一个ServletContext </p><p> B) ServletContext的范围比Session的范围要大。 C) 第一个会话在ServletContext中保存了数据,第二个会话读取不到这些数据 </p><p> D) ServletContext使用setAttributer()和getAttribute()方法操作数据。 </p><p>(BD) 20、关于HttpSession的getAttibute()和setAttribute()方法,正确的说法是_____。(多选) A) getAttributer()方法返回类型是String B) getAttributer()方法返回类型是Object </p><p> C) setAttributer()方法保存数据时如果名字重复会抛出异常 </p><p> D) setAttributer()方法保存数据时如果名字重复会覆盖以前的数据 (BCD) 21、下列关于JSP执行过程的说法正确的是____。(多选) A) JSP在容器启动时会被翻译成Servlet,并编译为字节码文件。 B) JSP在第一次被请求时会被翻译成Servlet,并编译成字节码文件。 </p><p> C) 在第二次请求时,将不再执行翻译步骤 </p><p>(ABCD) 22、下列JSP表达式的写法正确的是_____。(多选) A) <%=\ B) <%=\</p><p> C) <%=new java.util.Date()%> D) <%=this%> </p><p>(BD) 23、下列page指令的使用正确的是_____。(多选) A) <%@ page import=\ B) <%@ page import=\ C) <%@ page import=\ D) <%@page import=\ <%@page import=\</p><p>(AC) 24、下列setProperty标准动作使用正确的是_____。(多选) </p><p> A) <jsp:setProperty name=\property=\value=\</p><p> B) <jsp:setProperty id=\property=\value=\</p><p> C) <jsp:setProperty name=\property=\value=\</p><p> D) <jsp:setProperty id=\property=\value=\</p><p>(BC) 25、下列关于getProperty标准动作的说法正确的是_____。(多选) </p><p> A、当JavaBean不存在所访问的属性时,显示null B、当JavaBean不存在所访问的属性时,发生异常 C、getProperty标准动作实际上是调用对应属性的get方法 </p><p> D、以上都不对 </p><p>(ABC) 26、下列属于JSP内置对象的是____。(多选) A) request B) response C) session </p><p> D) servletContext </p><p>(BCD) 27、下列request和response内置对象的使用正确的是____。(多选) A) </p><p>request.getRequestDispatcher(\; </p><p> B) response.sendRedirect(\ C) request.getParameterValues(\ D) </p><p>response.setContentType(\(BD) 28、派生HttpSerlet的Servlet子类的doGet方法通常可以抛出__异常。 </p><p> A) InterruptException B) IOException </p><p> C) NullPointException D) SerletException </p><p>(BC) 29、为了在JSP网页中包含同一WEB应用中其它JSP页面,可使用__方法。 A) @import指令 B) @include指令 </p><p> C) <jsp:include>动作 D) <jsp:import>动作 (AC)30、以下关于MVC设计模式中各个组件的作用说法正确的是__。 </p><p> A) MVC设计模式是软件设计中的典型结构之一。MVC是Model/View/Control的缩写。在这种设计结构下,应用程序分为三个组成部分:Model模型、View视图和</p><p>13 </p><p> </p><p>Controller控制器,每个部分负责不同的功能。 C) 调用HttpServletRequest的getParameter方法, B) Controller提供应用业务逻辑,是指对业务数据、提供大小写敏感的参数名作为参数,获得表单数据 业务信息的处理模块,包括对业务数据的存取、加工、综合 D) 调用HttpServletResponse的sendForm方法传送表等; 单数据 C) .View是指用户界面,也就是用户与应用程序交互(ABD) 35、以下__是JSP技术的特性。 的接口。用户可以通过view输入信息,另一方面应用程序 A) 分离业务逻辑和表示 通过view将数据结果以某种形式显示给用户。 B) 编写一次,随处运行 D) Model则负责View和Controller之间的流程控制。 C) 客户端Java资源的高效利用 (ABD) 31、以下__是常用的Web服务器。 D) 可重用的组件和标签库 A) Apache Tomcat (ABC) 36、JSP页面包括以下__元素。 B) Allaire JRun A) JSP指令 C) JBuilder B) JSP Action D) IIS C) JSP脚本 (ABC) 32、一旦初始化了Servlet,Servlet就能随时等候 D) JSP控件 处理请求。对于每一个请求,通常调用service方法。(ACD) 37、JSP生命周期可以分为以下__阶段。 service方法会根据所接收到的HTTP请求的类型调用以下 A) 编译、装载 __方法。 B) 创建、转换 A) doGet() C) 初始化、执行 B) doPost() D) 清理、卸载 C) doPut() (ABD) 38、以下JSP指令说明正确的是__。 D) doCreate() A) JSP指令是JSP页面被编译成servlet时由JSP引(ACD) 33、服务器在删除一个以前装载的servlet实例时会擎处理的指令。 调用servlet 的 destroy方法。通常在这个方法中执行下 B) page指令通过导入类、定制Servlet的超类、设置列__操作。 内容类型等,可以控制Servlet的结构; A) 释放数据库连接 C) include指令可以在JSP文件转换成Servlet时, B) 由可用服务状态转为服务不可用状态 将Servlet类链接到外部文件; C) 停止后台线程 D) taglib指令用于定义定制的标记; D) 关闭文件 (ABC) 39、使用JavaBean的好处有__。 (AC) 34、动态建立Web页面的一个主要动力是使结果基于 A) JavaBean拥有标准化接口的优点,在开发期有可视用户提供的查询数据。Web表单处理即是从Web页面获取信化编程工具的支持,在运行期有JSP和J2EE连接器的支持。 息,将其传送给服务器端应用程序。传送的方式包括以下__ B) JavaBean更明确的把WEB页面的设计和软件的设计两种。 区分开来。 A) 表单数据放置在问号之后,附加在URL的后面,发 C) JavaBean可以在多个应用程序中重用。 送到服务器上 D) JavaBean可以实现安全性、事务行为、并发性和持 B) 表单数据通过嵌入在HTML中的脚本加密传送到服久性。 务器上 </p><p>二、判断题 </p><p>(×)01、Internet和intranet的含义意义相同。 </p><p>(√)02、Web开发技术包括客户端和服务器端的技术。 (√)03、在网页中图形文件与网页文件是分别存储的。 </p><p>(×)04、超级链接可以将文本作为链接对象,但不允许将图像作为链接对象。 (×)05、表单域可以单独使用,不一定非要放在<form>元素中。 (√)06、在网页中图形文件与网页文件是分别存储的。 </p><p>(√)07、绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。 (×)08、当样式定义重复出现的时候,最先定义的样式起作用。 (×)09、一个表单只能有一个提交按钮。 (×)10、JSP也可以使用C#等语言实现。 </p><p>(×)11、JSP页面是采用JavaScript语言实现在服务端代码。 </p><p>(√)12、在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。 (×)13、JSP页面中的指令标记、JSP动作标记统称为脚本元素。 </p><p>(×)14、在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不可以共享。 </p><p>(√)15、程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。 (×)16、页面成员方法不可以在页面的Java程序片中调用。 </p><p>(√)17、程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。 (√)18、在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。 (√)19、JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP标记。 </p><p>(√)20、用户在浏览器中输入http://127.0.0.1:8080/ch2/ch2_1.html即可访问本机上的该页面。 (√)21、在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。 </p><p>14 </p><p> </p><p>(√)22、程序段变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。 (√)23、Post属于表单的隐式提交信息方法。 </p><p>(√)24、jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。 (×)25、<jsp:forward ... >标记的page属性值是相对的URL地址,只能静态的URL。 (×)26、JSP页面只能在客户端执行。 (×)27、JSP页面中不能包含脚本元素。 </p><p>(×)28、Page指令不能定义当前JSP程序的全局属性。 </p><p>(√)29、out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。 (×)30、利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。 (√)31、respone对象主要用于向客户端发送数据。 (×)32、不可以用一个page指令指定多个属性的取值。 </p><p>(√)33、JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。 (×)34、在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。 </p><p>(√)35、jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。 </p><p>(×)36、Tomcat服务器支持直接使用application对象。 </p><p>(×)37、利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。 (√)38、response对象的sendRedirect(URL url)方法可以将当前客户端的请求转到其他页面去。 </p><p>(×)39、contentType属性用来设置JSP页面的MIME类型和字符编码集,取值格式为\类型\或\类型;charset=字符编码集\,response对象调用addHeader方法修改该属性的值。 </p><p>(×)40、JavaBean的属性必须声明为public,方法必须声明为private访问类型。 (√)41、doGet()和doPost()方法分别处理客户端GET和POST方法发送的请求。 </p><p>(√)42、RandomAccessFile类既不是输入流类InputSteam的子类,也不是输出流类OutputStream的子类,但它同时实现了DataInput和DataOutput接口。 (×)43、在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaScript”和“Serlvet”,以Servlet为核心。 </p><p>(×)44、表单信息的验证只能放在服务器端执行。 </p><p>(×)45、网页中只要使用gb2312编码就不会出现中文乱码。 (√)46、表单提交的信息就封装在HTTP请求消息的信息体部分,用户使用request对象的getParameter方法可以得到通过表单提交的信息。 (√)47、同一个客户在同一个Web服务目录中的session对象是相同的,在不同的Web服务目录中的session对象是不相同的。 </p><p>(×)48、session对象是HttpSession接口类的实例,由服务器端负责创建和销毁,所以不同客户的session对象不同。 (×)49、public long session.setMaxInactiveInterval() 设置最长发呆时间,单位毫秒。 (√)50、session对象可以用来保存用户会话期间需要保存的数据信息。 </p><p>(×)51、url重写可以把session对象的id作为url参数传带过去,可以使用request对象的encodeURL(\。 (√)52、application对象对所有用户都是共享的,任何对它的操作都会影响到所有的用户。 (×)53、JSP代码可以直接执行,所以不会被翻译成JAVA代码。 (×)54、JSP里声明一个方法(函数)是用<% %>标签。 </p><p>(√)55、如果两个不同的JSP页面有相同的SessionID,则这两个页面一定是同一个会话。 (×)56、JDBC是用来连接数据的。 (×)57、Servlet是单线程的。 </p><p>(√)58、executeUpdate()是Statement接口的方法。 (×)59、Servlet可以运行在客户端。 </p><p>三、填空题 </p><p>01、动态网站技术采用【B/S】架构。 </p><p>02、在HTML中用【 】标记表示一个空格符号。 </p><p>03、在javaScrpt中window对象的【open()】方法用于打开一个新窗口。 04、在javaScrpt中window对象的【close()】方法用于关闭当前窗口。 </p><p>05、使用JavaScript语言中Document的【document.write()】方法可以在页面上输出字符。 06、Tomcat服务器的默认端口是【8080】。修改Tomcat的端口可以在Tomcat下打开conf文件夹找到【server.xml】文件用记事本打开设置<Connector port=\即可。 </p><p>07、异常的处理,可在该方法的代码段中包含3类代码:【try】、【catch】和finally代码块。 08、Jsp主要内置对象有:【Application】、Session、【Request】、Response、Out、【Exception】、 PageContext、Config、Page。 </p><p>09、如编写一个计数器程序,用来记载当前网站访问量,最好采用JSP中【application】对象。 10、理论上,【GET】是用于获取服务器信息并将其作为响应返回给客户端,【POST】是用于客户端把数据传送到服务器 。 11、【Application】对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而Session对象则是每个客户专用的。 </p><p>15 </p><p></p><p> </p><p>12、JSP页面中的6个基本元素包括声明、表达式、脚本、【指令】、【动作标记】和注释。 13、JDBC的主要任务是:【与数据库建立连接】、【发送SQL语句】、处理结果。 14、一个Bean由三部分组成:实现【java.io.serializable】接口、提供无参数的构造方法、提供【getter()】和【setter()】方法访问它的属性。 </p><p>15、运行servlet需要在【web.xml】文件中注册。 16、Servlet的生命周期分三个时期:【装载Servlet】、创建一个Servlet实例、【销毁】。 17、Jsp开发网站的两种模式分为【Jsp+JavaBean】和【Jsp+JavaBean+Servlet】。 18、在tomcat上发布javaweb应用时的默认目录是【webapps】目录。 19、javaweb应用的部署描述符是指【web.xml】文件。 </p><p>20、在tomcat中访问helloapp应用的login.html文件时,在浏览器地址栏应写的url为: 【http://localhost:8080/helloapp/login.html】。 </p><p>21、Servlet容器启动每一个web应用时,都会为它创建一个唯一的【ServletContext】对象,该对象和web应用有相同的生命周期。 </p><p>22、请求转发源组件的响应结果【不会】发送到客户端,包含【会】发送到客户端。(填“会”或“不会”) 23、jsp中实现请求转发的标记为:【jsp:forward>】。 </p><p>24、在JSP中,request内置对象代表请求消息,response内置对象代表响应消息,【session】内置对象代表会话。 25、如果使用第四类jdbc驱动器连接数据库,jar文件的存放位置为“web应用/【WEB-INF】/lib”。 26、Servlet容器为每个HttpSession对象分配唯一标识符,叫做【SessionID】。 27、javaweb在mvc设计模式下,【javabean】是模型,【jsp】是视图,【servlet】是控制器。 28、指令标识通常以【<%@】标记开始,以【%>】标记结束。 </p><p>29、如果想在JSP页面中调用exception对象输出错误信息,需要将页面指令的【isErropage】属性设置为true。 30、页面指令的【import】属性可出现多次。 </p><p>31、表达式用于向页面输出信息,其使用格式是以【<%=】标记开始,以【%>】标记结束。 32、在页面中通过声明标识声明的变量和方法的有效范围为【整个页面】,他们将成为JSP页面被转换成Java类后类中的【属性】和【方法】。 </p><p>33、通常应用【<jsp:useBean>】动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。 </p><p>34、在JSP中通过虚拟目录获取真实的物理目录的方法为【request.getRealPath()】。 35、在JSP内置对象中,【request】对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的【getparameter】方法可以获取客户端表单中某输入框提交的信息。 36、在JSP内置对象中,【response】对象提供了设置HTTP响应报头的方法。 37、JSP内置对象的有效范围由小到大为【page】、【request】、【session】和【application】。 38、按功能JavaBean可以分为【可视化JavaBean】和【非可视化JavaBean】。 </p><p>39、通常情况下通过java.lang.Class类的【forName(String className)】方法加载要连接数据库的Driver类。 40、当今比较流行的技术研发模式是【C/S】和【B/S】的体系结构来实现的。 41、如果要获取请求客户端的IP地址,应使用【request】对象。 </p><p>42、URL是Uniform Resource Locator的缩写,中文称之为【统一资源定位器】。 43、JSP页面的基本构成元素,其中变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为【JSP脚本元素】。 44、“<%!”和“%>”之间声明的方法在整个页面内有效,称为【页面的成员方法】。 45、JSP页面中,输出型注释的内容写在【<!--】和【-->】之间。 46、Page指令的属性Language的默认值是【Java】。 47、表单的提交方法包括【post】和【get】方法。 </p><p>48、out对象的【out.flush()】方法,功能是输出缓冲的内容。 </p><p>49、使用Bean首先要在JSP页面中使用【import】指令将Bean引入。 </p><p>50、创建JavaBean的过程和编写Java类的过程基本相似,可以在任何Java的编程环境下完成【编写、编译和发布】。 51、response对象的【setContentType()】用来定义服务器发送给客户端的MIME类型。 </p><p>52、Servlet中使用Session对象的步骤为:调用【HttpServletRequest.getSession()】得到Session对象,查看Session对象,在会话中保存数据。 </p><p>53、在Tomcat服务器中部署Web应用程序时,静态页面和一般资源存放到tomcat服务的【webapps】目录中。 54、在Servlet中用来接收客户表单数据的两个常用方法为【get】、【post】。 55、控制器主要负责两方面的动作:【把用户的请求分发到相应的模型】;【将模型的改变及时反映到视图上】。 56、在DOM接口规范中,有四个基本接口:【Node】、【Nodelist】、【NamedNodeMap】和【Document】。 57、在一个应用程序中不同的页面共享数据时,最好的JSP内置对象为【application】。 58、动态include标记里面可以加【<jsp:param>】动作标记,用来传递参数。 </p><p>59、session对象能否和客户建立起一一对应关系依赖与客户的浏览器是否支持【cookie】。 60、JDBC中【connection】接口用于连接数据库。 </p><p>61、ResulSet接口的【next()】方法可以使结果集指针指向下行数据。 </p><p>62、javabean与一般的java类的最大区别是javabean里面必须有【setter】和【getter】方法,并且与属性相对应。 63、查询数据库里的表内容是Statement接口使用【executeUpdate()】方法。 </p><p>16 </p><p> </p><p>64、JSP连接数据库的时候第一步是【加载驱动程序】。 </p><p>65、使用useBean动作标记的时候scope属性有4种选项,作用范围由小到大是【page】、【request】、【session】、【application】,其中【session】是指当关闭浏览器的时候这个javabean失效,【application】是指当关闭服务器的时候这个javabean失效。 </p><p>66、在Servlet中转发使用RequestDespacher接口的【forward()】方法实现。重定向由HttpServletResponse接口的【sendRedirect()】方法实现。 </p><p>67、使得HttpSession失效的三种方式是:【关闭浏览器】、调用session的invalidate方法和【等待session超时】。 68、JavaBean是一种JAVA语言写成的可重用组件。JavaBean的类必须是具体的和【公有的】,并且具有【无参数】的构造方法。 </p><p>69、JDBC的接口分为两个层次:一个是程序开发人员的JDBC【API】,另一个是底层的JDBC【Driver API】。 </p><p>四、简答题 </p><p>01、jsp有哪些内置对象?作用分别是什么? 答:(1) Out对象代表提供输出流的访问。 </p><p> (2) Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文。 (3) Response对象允许直接访问HttpServletResponse对象。 (4) Session对象可能是状态管理上下文中使用最多的对话。 </p><p> (5) application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。 (6) Config对象允许将初始化数据传递给一个JSP页面。 </p><p> (7) Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。 (8) Page对象代表JSP页面对应的Servlet类实例。 </p><p> (9) PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性。 </p><p>02、jsp有哪些动作?作用分别是什么? 答:JSP共有以下6种基本动作 </p><p> (1) jsp:include:在页面被请求的时候引入一个文件。 (2) jsp:useBean:寻找或者实例化一个JavaBean。 (3) jsp:setProperty:设置JavaBean的属性。 </p><p> (4) jsp:getProperty:输出某个JavaBean的属性。 (5) jsp:forward:把请求转到一个新的页面。 </p><p> (6) jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记 </p><p>03、简述JSP的处理过程。 </p><p>答:(1) 客户端通过浏览器向服务器发出请求,该请求中包含了请求的资源的路径 (2) 服务器根据被加载的客户端的请求加载被请求的JSP页面 (3) Web服务器中的JSP引擎把被加载的JSP页面转换成servlet (4) JSP引擎把生成的JSP页面编译成class文件 (5) 服务器执行这个class文件 </p><p> (6) 服务器把执行结果发送给浏览器显示 </p><p>04、在JSP中有哪几种注释的方法? 答:主要有以下四种注释方法: (1) <%-- 注释 --%> (2) // 注释 </p><p> (3) /** 注释 **/ (4) <!—注释 --> </p><p>05、简述JSP页面中的组成元素。 JSP页面主要有6类基本元素组成: </p><p>(1) JSP指令:用来向JSP容器提供编译信息。 (2) JSP声明:用于在JSP页面中定义变量和方法。 </p><p>(3) JSP表达式:用于将Java表达式的运行结果输出在页面中。 (4) JSP脚本:用于在JSP页面中插入Java代码。 (5) JSP动作:实现一些常见的特定功能。 (6) JSP注释 </p><p>06、Servlet的基本架构 </p><p>答:public class ServletName extends HttpServlet { </p><p> public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } </p><p>17 </p><p> </p><p> public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } </p><p>07、Servlet执行时一般实现哪几个方法? </p><p>答:(1) public void init(ServletConfig config) (2) public ServletConfig getServletConfig() (3) public String getServletInfo() </p><p> (4) public void service(ServletRequest request,ServletResponse response) (5) public void destroy() </p><p>08、表单提交方式中的get和post有什么区别? </p><p>答:Form 中的 get 和 post 方法,在数据传输过程中分别对应了 HTTP 协议中的GET 和 POST 方法。二者主要区别如下: 1)Get 是用来从服务器上获得数据,而 Post 是用来向服务器上传递数据; </p><p>2)Get 将表单中数据按照 variable=value 的形式,添加到 action 所指向的URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将表单中的数据放在 form 的数据体中,按照变量和值相对应的方式,传递到 action所指向 URL; </p><p>3)Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的; </p><p>4)Get 传输的数据量小,这主要是因为受 URL 长度限制;而 Post 可以传输大量的数据,所以在上传文件只能使用 Post; 5)Get 限制 Form 表单的数据集必须为 ASCII 字符,而 Post 支持整个 ISO10646字符集; 6)Get 是 Form 的默认方法。 </p><p>09、Java Servlet的主要功能和作用是什么? </p><p>答:Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet ,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet 。装入后, Servlet 继续运行直到其它客户机发出请求。 Servlet 的功能涉及范围很广。例如, Servlet 可完成如下功能: </p><p> (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。 (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面( HTML 片段)。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。 </p><p> (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如, Servlet 可以是多参与者的游戏服务器。 </p><p> (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至 applet 的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下, applet 也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 </p><p> (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。 </p><p> (7) 将定制的处理提供给所有服务器的标准例行程序。例如, Servlet 可以修改如何认证用户。 </p><p>10、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? </p><p>答:JSP技术是建立在Servlet技术基础之上的,本质上是Servlet的简易方式,更强调应用的外表表达。 JSP编译后是“类servlet”,所有的JSP页面最终都要被转换成Servlet来运行。 目前,一个web应用往往由多个servlet和jsp组成。 Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。 而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。 </p><p> JSP侧重于视图,负责显示工作完成;Servlet主要用于控制逻辑,负责流程控制功能。 </p><p>11、HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同? </p><p>答:HttpServletResponse类的sendRedirect方法可以把用户重新定向到其他页面或servlet,但是不能将用户对当前JSP页面或servlet的请求和响应 (HttpServletRequest对象和HttpServletResponse对象)传递给所重新定向JSP页面或servlet。 </p><p>RequestDispatcher对象使用forward方法可以把用户对当前JSP页面或servle的 请求转发给另一个JSP页面或servlet,而且将用户对当前JSP页面或servlet的请 求和响应(HttpServletRequest对象和HttpServletResponse对象)传递给所转发的JSP页面或servlet。也就是说,当前页面所要转发的目标页面或servlet对象可以使用request获取用户提交的数据。 </p><p>12、简述四种会作用域page/request/session/application。 答:(1) page范围:具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个范围内的对象,只能在创建对象的页面中访问。可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。当Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。 </p><p>18 </p><p> </p><p> (2) request范围:具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在调用forward()方法转向的页面或者调用include()方法包含的页面中,都可以访问这个范围内的对象。要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象 </p><p> (3) session范围:具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问session范围内的对象。 </p><p> (4) application范围:具有application范围的对象被绑定到javax.servlet.ServletContext中,可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象 </p><p>13、简述Servlet的生命周期。 </p><p>答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 </p><p> 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 </p><p>14、JSP中动态INCLUDE与静态INCLUDE的区别? 答:(1) 动态INCLUDE用jsp:include动作实现 </p><p> <jsp:include page=\flush=\/>它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数 </p><p> (2) 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=\ </p><p>15、两种跳转方式分别是什么?有什么区别? 答:有两种,分别为: </p><p> (1) <jsp:include page=\ (2) <jsp:forward page= \</p><p> 前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。 </p><p>16、简述请求转发和请求重定向的区别。 答:进行请求转发时,存储在request对象中的信息会被保留并带到目标页面中;请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。 </p><p>17、JSP 和 Servlet 中的请求转发分别如何实现? </p><p>答:JSP 中的请求转发可利用 forward 动作实现:<jsp:forward />;Serlvet 中实现请求转发的方式为:getServletContext().getRequestDispatcher(path).forward(req,res)。 </p><p>18、JSP中Model2的工作原理是什么? </p><p>JSP的Model2实际上就是引入了MVC设计模式,采用Servlet+JavaBean+JSP进行开发。 </p><p>Model2采用Servlet作为控制器(Controller)负责接收客户端Web浏览器发送来的所有请求,并依据处理的不同结果,转发到对应的JSP页面(Viewer)实现在浏览器客户端的显示。 </p><p>通常在Servlet中只包含了控制逻辑和一些简单的处理逻辑,更加复杂的业务处理逻辑则借助特定的JavaBean(Model)具体实现。 </p><p>19、简述include指令标识和<jsp:include>动作标识的差异。 答:(1) inlcude指令通过file属性来确定被包含的页面,将file属性值看做一个实际存在的文件路径,所以该指令不支持任何表达式;<jsp:include>动作标识通过page属性确定被包含的页面,支持JSP表达式。 (2) include指令包含的文件,内容会原封不动的插入到该指令的位置,与该指令合成进行编译,若改变了被包含文件,主文件要重新编译;<jsp:include>动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的文件,并将执行结果输出到浏览器中,然后返回到包含文件继续执行后面的代码,JSP编译器对两个文件分别进行编译,被包含文件改动不会影响源文件。 </p><p>20、简述内置对象session和application的区别。 </p><p>答:Session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个对象。 </p><p>19 </p><p> </p><p>21、在Servlet的doGet()和doPost()方法中,如何得到与JSP内置对象out、request、rsponse、session、application分别对应的对象? </p><p>答:(1)可以通过以下代码获取out对象:PrintWriter out = response.getWriter(); (2)Servlet直接继承了HttpServlet类,可以直接使用request和response对象 </p><p> (3)可以通过以下代码获取session对象:HttpSession session=request.getSession(); (4) application是javax.servlet.ServletContext类的对象 </p><p> Application对象需要通过ServletConfig.getServletContext()来获取。 </p><p> Servlet自动定义了ServletConfig对象。故可以使用以下代码获取application对象 ServletContext application =this.getServletContext(); 或者: </p><p> ServletConfig config=getServletConfig(); </p><p> ServletContext application=config.getServletContext(); </p><p>22、简述数据库连接池的实现原理。 </p><p>答:(1) 预先创建一定数量的连接,存放在连接池中。 (2) 当程序请求一个连接时,连接池是为该请求分配一个空闲连接,而不是去重新建立一个连接;当程序使用完连接后,该链接将重新回到连接池中,而不是直接将连接释放。 (3) 当连接池中的空闲连接数量低于下限时,连接池将根据管理机制追加创建一定数量的连接;当空线连接数量高于上限时,连接池将释放一定数量的连接。 </p><p>23、forward和redirect的区别 </p><p>答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 </p><p>redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 </p><p>24、有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?分别是什么? </p><p>答:(1) 最常用的方法是用form中的text,<input type=text name=username value=admin>,然后在b.jsp页面中这样获取:String username=request.getParameter(\</p><p> (2) 直接在Url地址栏里面输入第一个页面的地址,在后加问号,然后把要传的参数及值写在后面,如有多个用&隔开,然后在下一页面用:request.getParameter(\参数名\来获取。 如:在b.jsp中可用这样获取: </p><p> String username=request.getParameter(\ String username=request.getParameter(\</p><p> (3) 在form中放hidden,如:<input type=hidden name=username value=admin>,获取方法同上。 </p><p>25、JSP页面是如何被执行的?JSP执行效率比Servlet低吗? 答:当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。 </p><p>JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。 </p><p>26、HttpServlet类中的主要方法都有哪些? </p><p>答:HttpServlet的主要方法有 doGet, doPost, doPut, doDelete, doTrace等等。 </p><p>27、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? </p><p>答:JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。JSP 编译后是\类 servlet\。Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来 。而 JSP 的情况是 Java 和 HTML 可以组合成一个扩展名为.jsp 的文件。 JSP 侧重于视图,Servlet 主要用于控制逻辑。 </p><p>五、编程题 </p><p>01、请依次写出下面表单对象的HTML代码。 </p><p> </p><p><input type=\</p><p><input type=\ </p><p>20 </p><p></p><p> </p><p><input type=\<select name=\</p><p> <option selected>aaa</option> <option>bbb</option> <option>ccc</option> </select> </p><p>02、提交表单前验证表单输入是否为空(JavaScript) </p><p> </p><p>03、编写一个简单的登录程序,要求登录页面index.jsp中输入用户名(username)、密码(password),用户点击提交后,验证用户是否输入了用户名、密码。如果用户名为aaa,密码为aaa,则转到登录成功页面,否则显示index.jsp页面。 <body> </p><p> </body> </p><p>04、用Application对象实现一个简单的网页计数器 <%@page contentType=\<HTML><BODY> </p><p><% Integer number=(Integer)application.getAttribute(\ if (number==null) </p><p> { number=new Integer(1); </p><p> application.setAttribute(\ else </p><p> { number=new Integer(number.intValue()+1); application.setAttribute(\%> </p><p>您是第<%=(Integer)application.getAttribute(\个访问本站的客户。 </BODY> </HTML> </p><p>21 </p><p> </p><p> </p><p>05、编写一个输出\程序。 import java.io.*; </p><p>import javax.servlet.*; </p><p>import javax.servlet.http.*; </p><p>//创建一个Servlet类,继承HttpServlet public class Hello extends HttpServlet { // 重写doGet() </p><p> public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应到客户端的文本类型为HTML response.setContentType(\ // 获取输出流 </p><p> PrintWriter out = response.getWriter(); out.println(\ } } </p><p>06、编写一个简单的Servlet程序,通过Servlet向浏览器输出文本信息“Servlet简单应用”。要求写出相应的Servlet类及配置文件。 </p><p>public class print extends HttpServlet { </p><p> public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { </p><p> response.setContentType(\ PrintWriter out = response.getWriter(); out.println(\简单应用\ } 配置文件 </p><p><?xml version=\<web-app > <servlet> </p><p> <servlet-name>MyServlet</servlet-name> <servlet-class>print</servlet-class> </servlet> </p><p> <servlet-mapping> </p><p> <servlet-name>MyServlet</servlet-name> <urlpattern>/textServlet</urlpattern> </servlet-mapping> </web-app> </p><p>07、第一个Servlet1文件,读取两个请求参数first和second,将其转换为int值后相加,和存放在请求范围内,然后把请求转发第二个Servlet2.。第二个Servlet2文件(url为output),向客户输出Servlet1计算的结果。 public class Servlet1 extends HttpServlet { </p><p> public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException { //读取两个请求参数,并将其转换为int值 </p><p> int first = Integer.valueOf(request.getParameter(\ int second=Integer.valueOf(request.getParameter(\ //将两个数字相加 </p><p> int sum=first+second; </p><p> //在request对象中添加sum属性 </p><p> request.setAttribute(\ //把请求转发给Servlet2 </p><p> ServletContext context = getServletContext(); </p><p> RequestDispatcher dispatcher =context.getRequestDispatcher(\ dispatcher.forward(request, response); } } </p><p>public class Servlet2 extends HttpServlet { </p><p>22 </p><p> </p><p> public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException { //读取请求范围内Servlet1计算出的和 </p><p> String sum=(String)request.getAttribute(\ //向客户端输出和 </p><p> PrintWriter out=response.getWriter(); out.print(\ } } </p><p>08、编写一个JSP页面“1.jsp”,向该JSP页面的文本框中输入一个数字,单击按钮提交该页面给另一个页面“2.jsp”进行处理,显示在原页面中输入数字的奇偶性。(如果输入非自然数的字符,请用异常进行处理。) 【2.jsp】 </p><p><% String num = (String)request.getParameter(\ try { int n = Integer.parseInt(num); if (n%2==0) </p><p> request.setAttribute(\偶数\ else </p><p> request.setAttribute(\奇数\</p><p> request.getRequestDispatcher(\ } catch(Exception e){ e.printStackTrace(); } %> </p><p>【1.jsp】 </p><p><%@ page contentType=\</p><p><% String type = (String)request.getAttribute(\<html> </p><p><head><title>页面一

${type }

09、设计Servlet代码实现以post方法获取参数password参数的功能,并将此参数值放置在请求对象中,同时完成对表单多选框jobs参数值的读取和显示。 import javax. servlet.*;

import javax. servlet.http.*;

public class Servlet1 extends 【HttpServlet】

{ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String password= request.getParameter(\ request.【setAttribute】(\ String jobs[]=request. getParameterValues(\ for(int i;i

10、编写jsp程序完成网页计数器的设计。要求: counter.java完成后台java bean的网页计数器设计,其中计数器的值保存在文件中,test.jsp文件调用计数器显示在浏览器中。 【counter.java】

public class counter extends Object {

private String currentRecord = null; //保存文本的变量

private BufferedReader file; //BufferedReader对象,用于读取文件数据 private String path; //文件完整路径名 public counter() { }

//ReadFile方法用来读取文件filePath中的数据,并返回这个数据

public String ReadFile(String filePath) throws FileNotFoundException

23

{ path = filePath;

file = new BufferedReader(new FileReader(path)); //创建新的BufferedReader对象 String returnStr =null; try

{ currentRecord = file.readLine();//读取一行数据并保存到currentRecord变量中 } catch (IOException e) { System.out.println(\读取数据错误.\ if (currentRecord == null) returnStr = \没有任何记录\ else

{ returnStr =currentRecord; }

return returnStr; //返回读取文件的数据 }

//ReadFile方法用来将数据counter+1后写入到文本文件filePath中 //以实现计数增长的功能

public void WriteFile(String filePath,String counter) throws FileNotFoundException { path = filePath;

int Writestr = Integer.parseInt(counter)+1;

try { PrintWriter pw = new PrintWriter(new FileOutputStream(filePath)); pw.println(Writestr); pw.close();

} catch(IOException e) { System.out.println(\写入文件错误\ } }

【test.jsp】

< !--创建并调用bean(counter)-- >

< jsp:useBean id=\< /jsp:useBean >

< % String cont=counter.ReadFile(\ counter.WriteFile(\

您是第< font color=\位访问者

11、Access数据库db.mdb中有数据表biao(编号(自动编号),name(c20)),要求不设置数据源,采用JDBC_ODBC方式连接数据库显示表中的所有内容。

<% // ******* 数据库连接代码 开始 ***** try //异常处理语句

{ String spath = \数据库路径

String dbpath = application.getRealPath(spath);//转化成物理路径 String dbname = \数据库用户名,没有则为空 String user = \数据库密码,没有则为空 //数据库连接字符串

String url =\ //加载驱动程序

Class.forName(\ //建立连接

Connection conn= DriverManager.getConnection(url); //创建语句对象

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); // **** 数据库连接代码 结束 ******

//********* 测试数据代码开始 ****** String sql = \ ResultSet rs = stmt.executeQuery(sql); while(rs.next())

{ int vid=rs.getInt(\编号\

out.print(\记录:\ }

out.print(\恭喜你!数据库连接成功!\

rs.close(); //关闭记录集对象 stmt.close(); //关闭语句对象

24

conn.close(); //关闭连接对象 } catch(Exception e){ out.print(e.getMessage()); } %>

12、编写简单的Servlet程序,通过index.jsp页面从文框框输入圆的半径,提交后由Servlet中的circleArea.java处理求出圆面积,并转回index.jsp输出结果。 【index.jsp】

<% if(request.getAttribute(\

out.print(request.getAttribute(\ %>

【circleArea.java】 package bao;

// import ? 此处略

public class circleArea extends HttpServlet { public circleArea() { super(); }

public void destroy() { super.destroy(); }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String radius=request.getParameter(\

double s=3.14*Double.parseDouble(radius)*Double.parseDouble(radius); request.setAttribute(\

request.getRequestDispatcher(\}

13、下面是一个简单的Jsp注册程序的部分代码,请编写Register.java注册类的JavaBean代码,完成对注册信息的验证,其中要求用户名是6-15位字母或数字,年龄必须是数字。 【index.jsp:注册页面】

<%@page import=\

【check.jsp:验证输入的信息页面】

【success.jsp:注册成功显示页面】

login success!!!

用户名:

【Register.java注册类JavaBean代码】 package Testbean;

public class Register { private String name; private String age; private String error; //注册方法

25

public Register() { this.name=\ this.age=\

this.error=\ //注册数据验证

public boolean isValidate() { boolean flag=true;

if(!this.name.matches(\ { flag=false; this.name=\

this.error=\用户名必须为6到15位字母或数字!\ }

if(!this.age.matches(\ { flag=false; this.age=\

this.error=\年龄只能为数字\ }

return flag; }

public String getAge() { return age; }

public void setAge(String age) { this.age=age; } public String getName() { return name; }

public void setName(String name) { this.name=name; } }

14、编写自定义标签,并调用该标签显示当前的系统日期和系统时间。要求写出标签类(继承自TagSupport)、标签库表述文件并写出JSP页面引用自定义的标签显示系统日期和系统时间。 package com;

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*; inport java.util.*;

public class ShowData extends TagSurpport{ public int doStartTag() throws JspException{ JspWriter out=pageContext.getOut(); try{

Data dt=new Data();

java.sql.Data data=new java.sql.Data(dt.getTime()); out.print(data);

}catch(Exception e){

System.out.println(\显示系统日期时出现异常:\return(SKIP_BODY);}} 标签库中表述文件:

显示当前日期 showData

com.ShowData empty

在web.xml中加入自定义标签库的引用:

showDataUri

/WEB-INF/showData.tid 在页面中引用

<%@ page language=\<%@ taglib uri=\

自定义标签的应用 今天是

26

15、在Ajax技术之中,最核心的技术就是XMLHttpRequest,为了提高程序的兼容性,请创建一个跨浏览器的XMLHttpRequest对象。

if (window.XMLHttpRequest)

{ http_request=new XMLHttpRequest(); } else if (window.ActiveXObject) { try {

http_request=new ActiveXObject(“Msxm12.XMLHTTP”); } catch(e) { try {

http_request=new ActiveXObject(“Microsoft.XMLHTTP”); } catch (e) { } } }

16、假设创建Servlet的类是star.flower.Dalian,创建的Servlet对象的名 字是myservlet,应当怎样配置web.xml文件?

myservlet

star.flower.Dalian

27

本文来源:https://www.bwwdw.com/article/ih37.html

Top