《青岛理工大学JavaWeb开发技术期末复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《青岛理工大学JavaWeb开发技术期末复习题及参考答案.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、选择题(B)01s WWW的英文全称是一。A) World Web WideWorld Wide WebB) Web Wide WorldWorld Wide Worth(8) 02、以下不属于B/S结构特点。A)节约本钱版权所有:超越高度B)维护本钱高且投资大C)平安D)方便(A) 03s以下不属于URL的组件局部。A)服务器名称B)协议类型C)路径D)文件名版权所有:超越高度(C)04、下面关于Html的描述中,错误的选项是A) HTML文件必须由html开头,/html标记结束。B)文档头信息包含在head与/head之间。C)在11631和/head之间可以包含和body等信息。D
2、)文档体包含在body和/body标记之间(A)05、在a href= : *标记中,*号位置会写上窗口的翻开方式。假设将内容显示在新 的浏览窗口中,应选择A) target二_blanktarget=_parentB) target=_selftarget=_top(C) 06. 的中文含义为一。A)统一资源定位器B)简单邮件传输协议C)超文本传输协议D)网络套接字(A) 07s CSS 指的是A)层叠样式表B)脚本语言C)标记语言D)扩展标记语言08s CSS选择器通过被规那么指定的标记,对文档中使用该标记的内容进行统一的外观控制。下面一不 是CSS选择器。A)标记选择器B)类型选择器C)
3、 ID选择器D)名称选择器(A) 09s URL中文名称是A)统一资源定位器B)网络资源C)网络协议D)数据链接) 10. URL是Internet中资源的命名机制,URL由_三局部构成。A)协议、主机DNS名或IP地址和文件名B)主机、DNS名或IP地址和文件名、协议Q协议、文件名、主机名D)协议、文件名、IP地址(011、以下不属于URL的组件局部。A)协议IP地址或域名C)服务器名称D)端口号答:进行请求转发时,存储在request对象中的信息会被保存并带到目标页面中;请求重定向是重新生成 一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息
4、都不存在了。 11、JSP中Model2的工作原理是什么?JSP的Model2实际上就是引入了 MVC设计模式,采用Servlet+JavaBean+JSP进行开发。Model2采用Servlet作为控制器(Controller)负责接收客户端Web浏览器发送来的所有请求,并依据处理的 不同结果,转发到对应的JSP页面(Viewer)实现在浏览器客户端的显示。通常在Servlet中只包含了控制逻辑和一些简单的处理逻辑,更加复杂的业务处理逻辑那么借助特定的 JavaBean (Model)具体实现。12、简述include指令标识和jsp:include动作标识的差异。答:inlcude指令通过
5、file属性来确定被包含的页面,将file属性值看做一个实际存在的文件路径,所以 该指令不支持任何表达式;jsp:include动作标识通过page属性确定被包含的页面,支持JSP表达式。include指令包含的文件,内容会原封不动的插入到该指令的位置,与该指令合成进行编译,假设改变了 被包含文件,主文件要重新编译;jsp:include动作标识包含文件时,当该标识被执行时,程序会将请求 转发到被包含的文件,并将执行结果输出到浏览器中,然后返回到包含文件继续执行后面的代码,JSP编 译器对两个文件分别进行编译,被包含文件改动不会影响源文件。13、简述内置对象session和applicatio
6、n的区别。答:Session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是 相同的一个对象,即共享这个对象。14、在 Servlet 的 doGet()和 doPost。方法中,如何得到与 JSP 内置对象 out、requestx rsponse、sessionx application分别对应的对象?答:可以通过以下代码获取out对象:Printwriter out = response.getWriter();(2)Servlet直接继承了 Servlet类,可以直接使用request和response对象可以通过以下代码获取 ses
7、sion 对象: Session session=request.getSession();application javax.servlet.ServletContext 类的对象Application 对象需要通过 ServletConfig.getServletContext。来获取。Servlet自动定义了 ServletConfig对象。故可以使用以下代码获取application对象ServletContext application =this.getServletContext();或者:ServletConfig config=getServletConfig();Servl
8、etContext application=config.getServletContext();15、简述数据库连接池的实现原理。答:预先创立一定数量的连接,存放在连接池中。(2)当程序请求一个连接时,连接池是为该请求分配一个空闲连接,而不是去重新建立一个连接;当程序 使用完连接后,该链接将重新回到连接池中,而不是直接将连接释放。当连接池中的空闲连接数量低于下限时,连接池将根据管理机制追加创立一定数量的连接;当空线连 接数量高于上限时,连接池将释放一定数量的连接。16、forward 和 redirect 的区别答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL
9、的响应内容读取过来,然 后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是 原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才 请求的所有参数重新请求,所以session,request参数都可以获取。17、有两个页面a.jsp和b.jsp,要从a.jsp传值至U b.jsp有几种方法?分别是什么?答:最常用的方法是用 form 中的 text,input type=text name=username value=admin,然后在 b.jsp 页面 中这样获取:String user
10、name=request.getParameter(username);(2)直接在Uri地址栏里面输入第一个页面的地址,在后加问号,然后把要传的参数及值写在后面,如有多 个用&隔开,然后在下一页面用:request.getParameter(参数名”)来获取。如:在b.jsp中可用这样获取:String username=request.getParameter(username);String username=request.getParameter(password);(3)在 form 中放 hidden, 如:input type=hidden name=username valu
11、e=admin, 获取方法同上。18、JSP页面是如何被执行的? JSP执行效率比Servlet低吗?答:当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求 时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以 JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。19、 Servlet类中的主要方法都有哪些?答: Servlet 的主要方法有 d
12、oGet, doPost, doPut, doDelete, doTrace 等等。20、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是“类 servleto Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中 的HTML里别离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视 图,Servlet主要用于控制逻辑。五、编程题1、编写一个简单的登录程序,要求登录页面index
13、.jsp中输入用户名(username)、密码(password),用户点 击提交后,验证用户是否输入了用户名、密码。如果用户名为aaa,密码为aaa,那么转到登录成功页面,否 那么显示index.jsp页面0用户登录用户名:密石马:input typesubmit” value二”登录”% else %2、用Application对象实现一个简单的网页计数器您是第 个访问本站的客户。3、编写一个输出“Hello World!Servlet 程序。import java.io.*;import javax.servlet.*;import javax.servlet. .*;创立一个 Serv
14、let 类,继承 Servletpublic class Hello extends Servlet 重写 doGet ()public void doGet( ServletRequest request, ServletResponse response)throws ServletException, lOException 设置响应到客户端的文本类型为HTMLresponse.setContentType(text/html);/获取输出流Printwriter out = response.getWriter();out.println(Hello World);)4、编写一个简单的
15、Servlet程序,通过Servlet向浏览器输出文本信息“Servlet简单应用”。要求写出相 应的Servlet类及配置文件。public class print extends Servlet public void doGet( ServletRequest request, ServletResponse response) throws ServletException, lOException response.setContentTypeCtext/html);Printwriter out = response.getWriter();out.println(Servlet
16、简单应用);)配置文件MyServletprintMyServlet/textServlet5、编写一个JSP页面“l.jsp,向该JSP页面的文本框中输入一个数字,单击按钮提交该页面给另一个页 面“2.jsp”进行处理,显示在原页面中输入数字的奇偶性。(如果输入非自然数的字符,请用异常进行处 理。)2.jspl.jsp 页面一请输入一个数字:(input type=text name=num /$type6、设计Servlet代码实现以post方法获取参数password参数的功能,并将此参数值放置在请求对象中, 同时完成对表单多项选择框jobs参数值的读取和显示。import javax.
17、 servlet.*;import javax. servlet. .*;public class Servletl extends Servlet public void doPost( ServletRequest request, ServletResponse response)throws ServletException, lOException String password= request.getParameter(password);request. setAttribute (password, password);String jobs=request. getPara
18、meterValues(jobs);for(int i;ijobs. Iength() ;i+) out.print(jobs=+jobsi);7、Access数据库db.mdb中有数据表biao(编号(自动编号),name(c20),要求不设置数据源,采用 JDBC.ODBC方式连接数据库显示表中的所有内容。% / *数据库连接代码开始 *try 异常处理语句 String spath = db.mdb;/Access 数据库路径String dbpath = application.getRealPath(spath);转化成物理路径String dbname =/Acvess数据库用户名
19、,没有那么为空String user =/Access数据库密码,没有那么为空数据库连接字符串String url =jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=+dbpath;加载驱动程序Class.forName(sun.jdbc.odbcJdbcOdbcDriver);建立连接Connection conn= DriverManager.getConnection(url);创立语句对象Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Res
20、ultSet.CONCUR_UPDATABLE);/*数据库连接代码结束*/*测试数据代码开始*String sql = select * from biao;ResultSet rs = stmt.executeQuery(sql);while(rs.next()int vid = rs.getlnt(编号)out.print(恭喜你!数据库连接成功! ”);rs.close();关闭记录集对象stmt.close();关闭语句对象conn.close();关闭连接对象 catch(Exception e) out.print(e.getMessage(); %8、编写简单的Servlet程
21、序,通过index.jsp页面从文框框输入圆的半径,提交后由Servlet中的 circleArea.java处理求出圆面积,并转回index.jsp输出结果。index.jspcircleArea.javapackage bao;/ import 此处略public class circleArea extends Servlet public circleArea() super();public void destroy() super.destroy();public void doPost( ServletRequest request, ServletResponse respon
22、se) throws ServletException, lOException String radius=request.getParameter(r);double s=3.14*Double.parseDouble(radius)*Double.parseDouble(radius);request.setAttribute(rt7 s+);request.getRequestDispatcher(index.jsp).forward(request, response);)(C) 12,以下完整性中,将每一条记录定义为表中的惟一实体,即不能重复。A)域完整性B)引用完整性C)实体完整
23、性D)行列完整性(D) 13.关系模型中实体与实体间的联系的表是通过A)表B)图C)树D)关系14.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个A)进程B)线程Q程序D)服务(D)15、以下不是JSP运行所必须的条件。A)操作系统B)JavaJDKC)支持Jsp的Web服务器D)数据库(B) 16,以下说法中正确的选项是Apache用于ASP技术所开发网站的服务器A) IIS用于CGI技术所开发网站的服务器Tomcat用于JSP技术所开发网站的服务器B) WebLogic用于PHP技术所开发网站的服务器(B)17、JSP页面可以在“”标记之间放置Java表达式,直接输
24、出Java表达式的值。组成 “%二”标记的各字符之间A)可以有空格B)不可以有空格C)必须有空格D)不确定(A) 18.在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为_。A) .jsp文件.class 文件B) .jar文件web.xml 文件(B) 19、include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML网页、文本文件 或一段Java代码,但必须保证插入后形成的文件是A)是一一个完整的HTML文件B)是一个完整的JSP文件C)是一个完整的TXT文件D)是一个完整的Java源文件20,以下注释为隐藏型注释。A) !-注释内容B)C) !%=表
25、达式习一(A)21、在 JSP 中, 将输出A) 1+4B)514D)不会输出,因为表达式是错误的) 22、以下对象提供了访问和放置页面中共享数据的方式。A) pageContextresponseB) requestsession(A) 23、如果只希望在多个页面间共享数据,可以使用作用域。A) request,sessionapplication,sessionB) request,applicationpageContxt,request(C) 24、JavaScript执行表单验证一般都发生在用户单击“提交”按钮后,数据提交服务器之前, onValidate。函数返回值为true时,_
26、。A)验证不通过,提交数据给服务器一B)验证不通过,不提交数据给服务器C)验证通过,提交数据给服务器D)验证通过,不提交数据给服务器(C)25、JSP中有三大类标签,分别是HTML标记JSP标记Servlet标记A) CSS 标记 HTML 标记 Javascript 标记Q动作标记脚本标记指令标记D)指令标记脚本标记HTML标记26、JSP的编译指令标记通常是指A) Page指令、Include指令和Taglib指令Page指令、Include指令和Plugin指令B) Forward 指令、Include 指令和 Taglib 指令Page指令、Param指令和Taglib指令(A) 27
27、、以下指令定义在JSP编译时包含所需要的资源。A) includeB)pageC) taglibforward(B)28、给定includel.jsp文件代码片断,如下:此处填写代码给定include2.jsp文件代码片断,如下:要求运行includel.jsp时,浏览器上输出:HAHA要满足以上条件,jspljsp中下划线处应填入以下一语句。A) null HAHAB) null null(B) 29.在JSP页面中,类型为 ServletResponse的内置对象是_。A) outresponseB) requestconfig30、标记指定访问servlet的路径。A) B) (A) 3
28、1、Servlet程序的入口点是init()A) main()service()B) doGet()(B) 32,给定一个Servlet程序的代码片段,如下:Public void doPost( ServletRequest request, ServletResponse response) throws ServletException request.getSession().getAttribute(A); 第二行)假定第二行返回的对象引用不是null,那么这个对象存储在一范围中。A) pagesessionB) requestapplication(A) 33、请求Servlet的
29、时候,Servlet的对象由A)服务器负责实例化B)由开发人员在请求中实例化Servlet会自动实例化C) Servlet只加载,无需实例化(C)34、Servlet的运行过程是A)当请求Servlet时,服务器会即时加载Servlet类,然后对该类进行实例化,调用相应的方法处理请求B)首先对Servlet进行配置,然后服务器在处理请求时,将配置过的Servlet类找到,然后实例化处理请求C)在服务器启动时,会加载Servlet,然后在处理请求的时候,实例化Servlet对象处理请求D) Servlet是一个具有接受请求和响应功能的类,在被请求时,Servlet早就被实例化好了,可以直接处理请
30、 求(A)35、Servlet接受请求时,会调用serviceA) doGetdoPostB) init(A)36、下面Servlet的一方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次它就会被调用 一次。A) service()init()B) doPost()destroy()(A) 37、有关servlet的生命周期说法错误的选项是servlet的生命周期由servlet实例控制A) init()方法在创立完servlet实例后对其进行初始化,传递的参数为实现servletContext借口的对象service。方法响应客户端的请求B) destroy。方法释放
31、servlet实例38、阅读下面代码片段:RequestDispatcher dispatcher=request.getRequestDispatcher(a.jsp);dispatcher.forward(request,response);关于该段代码的作用,以下表达是正确的。A)页面重定向到a.jsp页面B)将请求转发到a.jsp页面C)从a.jsp定向到当前页面D)从a.jsp转发到当前页面(B)39、一个servlet的生命周期不包括一方法。A) init()invalidate()B) service()destroy()(C) 40.在Servlet过滤器的生命周期方法中,每当
32、传递请求或响应时,web容器会调用方法。A) initserviceB) doFilterdestroy(D)41、下面对servlet中重定向说法描述错误的选项是A)使用的是 ServletResponse 接口的 sendRedirect()方法B)源组件的响应结果不会发送给客户端C) sendRedirect()方法后的代码仍会执行D)源组件和目标组件共享ServletRequest对象(C)42、Servlet中, ServletResponse的一方法用来把一个 请求重定向到另外的URLOA) sendURL()redirectURL()B) sendRedirect()redire
33、ctResponse()(C) 43. J2EE中,以下关于 Servlet的说法错误的选项是 Servlet是一个抽象类A) Servlet 类扩展了 GenericServlet 类 Servlet类的子类必须至少重写service方法B) Servlet 位于 javax.servlet. 包中(C) 44、下面选项不是 响应的一局部。A)响应头B)响应正文C)协议版本号D)状态行(B)45、在 Servlet 中,response.getWriter。返回的是_对象。A) JspWriterPrintWriterC)OutD) Responsewriter(D)46、在访问Servle
34、t时,在浏览器地址栏中输入的路径是在_地方配置的。A) B) (D) 47s给定一个Servlet的doGet方法中的代码片段,如下:request.setAttribute(name/zhang);response.send Redirect( :/localhost:8080/servlet/MyServlt);那么在MyServlet中可以屉用方法把属性name的值取出来。A) String str=request.getAttribute(name);String str=(String)request.getAttribute(name);B) Object str=request.
35、getAttribute(name);D)无法取出来(C)48、在Servlet中,以下语句可以正确获取PrintWriter对象的是_。A) PrintWriter out=request.getWriter();PrintWriter out=request.getPrintWriter();B) PrintWriter out= response.getWriter();PrintWriter out=response.getPrintWriter();(D) 49、当一个Servlet首次被请求的时候,服务器首先会调用方法。A) doGetdoPostB) dolnitinit(B)5
36、0、下面Servlet的一方法载入时执行,且只执行一次,负责对Servlet进行初始化。A) service()init()B) doPost()destroy()(C) 51、对于ServletRequest接口的获取请求参数的方法的描述是正确的。A) getParameter方法只用于接收POST请求参数,接收GET请求参数需要使用getQueryString方法B)如果一个参数key有多个值,那么getParameter(key)方法会返回空C)如果一个参数key有多个值,那么getParameterValues(key)方法会返回一个包含所有值的字符串数组D) getParameter
37、方法返回Object对象,使用前要强制类型转换:如String str=(String) request.getParameter(key)(B)52、request.getRequestDispatcher().forward(request,response).j_oA)流转B)转发C)重定向D)导航(A) 53、给定一个Servlet的代码片段如下:public void doGet( ServletRequest request, ServletResponse response)throws ServletException,IOExceptionout.println(hi kit
38、ty!);out.close();运行次Servlet时输出如下:hi kitty!那么应在此Servlet下划线处填充如下代码。A) Printwriter out = response.getWriter();Printwriter out = request.getWriter();B) Outputstream out = response.getOutputStream();Outputstream out = request.getWriter();(C)54、给定如下Servlet代码,当在浏览器中输入: :localhost:8080/servlet/HelloServlet,
39、可以调用这 个servlet,那么这个Servlet的输出是_。import java.io.*;import javax.servlet.*;import javax.servlet. .*;public class HelloServlet extends Servletpublic void service( ServletRequest req, ServletResponse res) throws ServletException, IOException )public void doGet( ServletRequest req, ServletResponse res) throws ServletException, lOException res.setContentType(text/html);Printwriter out = res.getWriter();out.println();out.println();out.println(doGet Hello World!);out.println();o