javaWeb习题与答案

时间:2024.4.13

一、选择题

(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文件必须由<html>开头,</html>标记结束。

    B) 文档头信息包含在<head>与</head>之间。

    C) 在<head>和</head>之间可以包含<title>和<body>等信息。

    D) 文档体包含在<body>和</body>标记之间

(D) 05、下列__不是HTML的常用标记。

    A) <body>

    B) <head>

    C) <html>

    D) <Book>

(D) 06、表格在网页中常用于网页的布局排版,下面__不是表格的标记。

    A) <table>

    B) <tr>

    C) <td>

    D) <th>

(A) 07、在<a href=http://www.hljsp-edu.cn * >标记中,*号位置会写上窗口的打开方式。若将内容显示在新的浏览窗口中,应选择__。

    A) target=_blank

    B) target=_parent

    C) target=_self

    D) target=_top

(C) 08、Form表单的method属性能取下列__值。

    A) submit

    B) puts

    C) post

    D) out

(C) 09、在HTML文件中导入一个样式表的正确语法为__。

    A) <link href="c.css" rel="stylesheet" type="text/css">

    B) <input href="c.css" rel="stylesheet" type="text/css">

    C) <import href="c.css" rel="stylesheet" type="text/css">

    D) <link src="c.css" rel="stylesheet" type="text/css">

(C) 10、Http的中文含义为__。

    A) 统一资源定位器

    B) 简单邮件传输协议

    C) 超文本传输协议

    D) 网络套接字

(A) 11、CSS指的是__。

    A) 层叠样式表

    B) 脚本语言

    C) 标记语言

    D) 扩展标记语言

(D) 12、CSS选择器通过被规则指定的标记,对文档中使用该标记的内容进行统一的外观控制。下面__不是CSS选择器。

    A) 标记选择器

    B) 类型选择器

    C) ID选择器

    D) 名称选择器

(A) 13、URL中文名称是__。

    A) 统一资源定位器

    B) 网络资源

    C) 网络协议

    D) 数据链接

(A) 14、URL是Internet中资源的命名机制,URL由__三部分构成。

    A) 协议、主机DNS名或IP地址和文件名

    B) 主机、DNS名或IP地址和文件名、协议

    C) 协议、文件名、主机名

    D) 协议、文件名、IP地址

(C) 15、下列__不属于URL的组件部分。

    A) 协议

    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

    D) select * from TABLE_NAME where rowcount<=10

(D) 17、从“员工”表的“姓名”字段中找出名字包含“玛丽”的人,___语句是正确的。

    A) Select * from 员工 where 姓名 ='玛丽'

    B) Select * from 员工 where 姓名 ='%玛丽'

    C) Select * from 员工 where 姓名 like '玛丽%'

    D) Select * from 员工 where 姓名 like '%玛丽%'

(C) 18、下列__完整性中,将每一条记录定义为表中的惟一实体,即不能重复。

    A) 域完整性

    B) 引用完整性

    C) 实体完整性

    D) 行列完整性

(D) 19、关系模型中实体与实体间的联系的表是通过__。

    A) 表

    B) 图

    C) 树

    D) 关系

(B) 20、当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个__。

    A) 进程

    B) 线程

    C) 程序

    D) 服务

(D) 21、以下__不是JSP运行所必须的条件。

    A) 操作系统

    B) JavaJDK

    C) 支持Jsp的Web服务器

    D) 数据库

(C) 22、下列说法中正确的是__。

    A) Apache用于ASP技术所开发网站的服务器

    B) IIS用于CGI技术所开发网站的服务器

    C) Tomcat用于JSP技术所开发网站的服务器

    D) WebLogic用于PHP技术所开发网站的服务器

(C) 23、Tomcat服务器的默认端口为__。

    A) 8888

    B) 8001

    C) 8080

    D) 80

(A) 24、Tomcat的端口号可以在__文件中修改。

    A) server.xml

    B) web.xml

    C) tomcat.xml

    D) 不能改

(D) 25、如果想在tomcat服务器启动时将jar包加载到内存,且该jar包可以被tomcat服务器上所有的应用使用,应该将该jar包复制到tomcat的__目录。

    A) common

    B) server

    C) common\lib

    D) server\lib

(C) 26、下列变量声明在__范围内有效。

    <%! Date dateTime;

     int countNum; %>

    A) 从定义开始处有效,客户之间不共享

    B) 在整个页面内有效,客户之间不共享

    C) 在整个页面内有效,被多个客户共享

    D) 从定义开始处有效,被多个客户共享

(C) 27、在“<%!”和“%>”标记之间声明的Java的方法称为页面的成员方法,其在__范围内有效。

    A) 从定义处之后有效。

    B) 在整个页面内有效。

    C) 从定义处之前有效。

    D) 不确定。

(B) 28、JSP页面可以在“<%=”和“%>”标记之间放置Java表达式,直接输出Java表达式的值。组成“<%=”标记的各字符之间__。

    A) 可以有空格

    B) 不可以有空格

    C) 必须有空格

    D) 不确定

(A) 29、JSP的Page编译指令的属性Language的默认值是__。

    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

(B) 32、jsp最终被运行的是__文件。

    A) java

    B) class

    C) HTML

    D) JSP

(B) 33、下面___不是JSP本身已加载的基本类。

    A) java.lang.*

    B) java.io.*

    C) javax.servlet.*

    D) javax.servlet.jsp.*

(C) 34、对于预定义<%!预定义%>的说法错误的是___。

    A) 一次可声明多个变量和方法,只要以“;”结尾就行

    B) 一个声明仅在一个页面中有效

    C) 声明的变量将作为局部变量

    D) 在预定义中声明的变量将在JSP页面初始化时初始化

(B) 35、include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML网页、文本文件或一段Java代码,但必须保证插入后形成的文件是__。

    A) 是一个完整的HTML文件

    B) 是一个完整的JSP文件

    C) 是一个完整的TXT文件

    D) 是一个完整的Java源文件

(A) 36、在Jsp页面中,Java程序代码应插入在__标记之间。

    A) <% 和 %>

    B) <% 和 />

    C) </ 和 %>

    D) <% 和 !>

(B) 37、可以在以下__标记之间插入变量与方法声明。

    A) <% 和 %>

    B) <%! 和 %>

    C) </ 和 %>

    D) <% 和  !>

(A) 38、jsp中java表达式的语法格式为__。

    A) <%=  %>

    B) <%!  %>

    C) <%@  %>

    D) <%   %>

(C) 39、下列__注释为隐藏型注释。

    A) <!-- 注释内容 [<%= 表达式 %>] -->

    B) <!-- 注释内容  -->

    C) <%-- 注释内容 --%>

    D) <!—[<%= 表达式 %>] -->

(A) 40、在JSP中,<%="1+4"%>将输出__。

    A) 1+4

    B) 5

    C) 14

    D) 不会输出,因为表达式是错误的

(C) 41、在JSP中,要定义一个方法,需要用到以下__元素。

    A) <%= %>

    B) <% %>

    C) <%! %>

    D) <%@ %>

(C) 42、要在jsp中使用ArrayList,,__做法是正确的。

    A) <% import  java.util.ArrayList%>

    B) <%@ import  "java.util.ArrayList"%>

    C) <%@ page import="java.util.ArrayList"%>

    D) <%@ page package="java.util.ArrayList"%>

(B) 43、在JSP中,page指令的__属性用来引入需要的包或类。

    A) extends

    B) import

    C) languge

    D) contentType

(B) 44、能在浏览器的地址栏中看到提交数据的表单提交方式是__。

    A) submit

    B) get

    C) post

    D) out

(D) 45、下面不属于JSP内置对象的是__。

    A) out对象

    B) respone对象

    C) application对象

    D) page对象

(A) 46、在JSP页面中,能够完成输出操作的内置对象是__。

    A) out

    B) response

    C) request

    D) config

(C) 47、out对象是一个输出流,其输出各种类型数据并换行的方法是__。

    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()

(C) 49、在JSP中的Java脚本中输出数据时可以使用__对象的print()方法。

    A) page

    B) session

    C) out

    D) application

(D) 50、以下__对象提供了访问和放置页面中共享数据的方式。

    A) pageContext

    B) response

    C) request

    D) session

(A) 51、如果只希望在多个页面间共享数据,可以使用__作用域。

    A) request,session

    B) application,session

    C) request,application

    D) pageContxt,request

(D) 52、编写计数器程序用来记载当前网站的访问量,建议采用JSP中的__对象。

    A) page

    B) session

    C) request

    D) application

(C) 53、sesson对象的__方法用于判断是否为开始新会话。

    A) begin()

    B) isNewSessionID()

    C) isNew()

    D) invalidate()

(B) 54、在JSP中如果要获取客户端主机名,应使用request对象的__方法。

    A) getServerName()

    B) getRemoteHost()

    C) server()

    D) getRemotePort()

(A) 55、可以利用request对象的__方法获取客户端的表单信息。

    A) request.getParameter()

    B) request.outParameter()

    C) request.writeParameter()

    D) request.handlerParameter()

(C) 56、调用getCreationTime()可以获取session对象创建的时间,该时间的单位是__。

    A) 秒

    B) 分秒

    C) 毫秒

    D) 微秒

(A) 57、可以利用JSP动态改变客户端的响应,使用的语法是__。

    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文件

(D) 59、在J2EE中,request对象的__方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据。

    A) String getParameter(String name)

    B) String[] getParameter(String name)

    C) String getParameterValuses(String name)

    D) String[] getParameterValues(String name)

(C) 60、使用GET方式提交数据、接收数据时,处理中文最直接有效方式是__。

    A) request.setCharacterEncoding("utf-8");

    B) response.setContentType("text/html;charset=utf-8");

    C) String name=

       new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk");

    D) response.setCharacterEncoding("gbk");

(A) 61、在文件上传时,用__对象接收文件。

    A) request

    B) session

    C) page

    D) MultipartRequest

(B) 62、JSP页面程序片中可以使用__方法将strNumx=request.getParamter("ix")得到的数据类型转换为Double类型( )。

    A) Double.parseString(strNumx)

    B) Double.parseDouble(strNumx)

    C) Double.parseInteger(strNumx)

    D) Double.parseFloat(strNumx)

(C) 63、JavaScript执行表单验证一般都发生在用户单击“提交”按钮后,数据提交服务器之前,onValidate()函数返回值为true时,__。

    A) 验证不通过,提交数据给服务器

    B) 验证不通过,不提交数据给服务器

    C) 验证通过,提交数据给服务器

    D) 验证通过,不提交数据给服务器

(C) 64、对于<% String name=request.getAttribute("uname"); %>,使用__代码可以将name的值显示在页面。

    A) response.print(name);

    B) <% request.getOut().print(name)%>

    C) <%=name%>

    D) <p>name</p>

(A) 65、给定test1.jsp代码片断,如下:

    <jsp:include page="test2.jsp" flush="false">

    <jsp:param name="color" value="red"/>

    </jsp:include>

    要在test2.jsp中输出参数color中的值,以下__选项是正确的。

    A) <%=request.getParameter("color")%>

    B) <%=request.getAttribute("color")%>

    C) <jsp:getParam name="color"/>

    D) <jsp:include param="color"/>

(C) 66、考虑下面JSP文件代码片断:

    <HTML> <BODY>

    <jsp:include page="test2.jsp">

    <jsp:param name="username" value="svse"/>

    </jsp:include>

    </BODY> </HTML>

    以下__代码片断放置在test2.jsp中不会导致错误。

    A) <jsp:getParam name="username"/>

    B) <jsp:include param ="username"/>

    C) <%=request.getParameter("username")%>

    D) <%=request.getAttribute("username")%>

(A) 67、以下__可用于检索session属性userid的值。

    A) session. getAttribute ("userid");

    B) session. setAttribute ("userid");

    C) request. getParameter ("userid");

    D) request. getAttribute ("userid");

(A) 68、只能够传递字符串类型数据的方式是__。

    A) 表单   URL重写

    B) session对象   表单

    C) 隐藏域   setParameter方法

    D) 都可以

(A) 69、某JSP中有如下代码:

    <% pageContext.setAttribute("a","page");

    request.setAttribute("a", "request");

    session.setAttribute("a","session");

    application.setAttribute("a","application"); %>

    有:${a}

    则显示结果为:__。

    A) page

    B) request

    C) session

    D) application

(B) 70、在HTTP协议中,用于发送大量数据的方法是__。

    A) get

    B) post

    C) put

    D) options

(C) 71、用户需要在数据库添加数据行,使用__方法向服务器发送请求。

    A) get

    B) post

    C) method

    D) 以上都不对

(C) 72、在JSP页面中通过<jsp:forward page=urlname/>将本页面请求转发至指定URL指定的文件,则在该URL组件(JSP页面)中,除了__范围,其余均可接收数据。

    A) session

    B) request

    C) page

    D) application

(A) 73、<jsp:param>动作元素经常与__元素一起使用。

    A) <jsp:include>

    B) <jsp:useBean>

    C) <jsp:setProperty>

    D) <jsp:import>

(C) 74、jsp指令不包括__指令。

    A) page

    B) taglib

    C) import

    D) include

(B) 75、下面__不属于jsp动作标记。

    A) <jsp:attribute/>

    B) <jsp:forwards/>

    C) <jsp:include/>

    D) <jsp:useBean/>

(D) 76、下列__不属于JSP动作指令标记。

    A) <jsp:param>

    B) <jsp:plugin>

    C) <jsp:useBean>

    D) <jsp:javaBean>

(D) 77、在JSP中可动态导入其他页面的标签是__。

    A) <% include/></textarea>

    B) <%@ include%>

    C) <jsp:importPage/>

    D) <jsp:include/>

(A) 78、在JSP中如果要导入java.io.*包,应该使用__指令。

    A) page

    B) taglib

    C) include

    D) forward

(B) 79、如果当前JSP页面不能显示中文,需要设置page指令的__属性。

    A) Exception

    B) contentType

    C) error

    D) errorPage

(B) 80、要设置某个JSP页面为错误处理页面,以下page指令正确的是__。

    A) <%@ page errorPage="true"%>

    B) <%@ page isErrorPage="true"%>

    C) <%@ page extends="javax.servlet.jsp.JspErrorPage"%>

    D) <%@ page info="error"%>

(A) 81、在inc.jsp中包含数行代码与一张图片,现在要创建一个home.jsp,每次浏览home.jsp时都能够以最快的速度显示inc.jsp中的所有内容以及home.jsp自身要显示的内容,应该在home.jsp中使用的语句是__。

    A) <%@include file="inc.jsp"%>

    B) <%@include page="inc.jsp" flush="true">

    C) <jsp:include file="inc.jsp" flush="false">

    D) <jsp:forward page="inc.jsp"/>

(D) 82、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是__。

    A) <%@ page %>作用于整个JSP页面。

    B) 可以在一个页面中使用多个<%@ page %>指令。

    C) 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。

    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

(D) 85、可以执行请求转发的操作是__。

    A) jsp中response内置对象的sendRedirect()方法

    B) <jsp:include>标记

    C) RequestDispatcher对象的include()方法

    D) RequestDispatcher对象的forward()方法

(D) 86、__内置对象可以处理jsp页面运行中的错误或者异常。

    A) pageContext

    B) page

    C) session

    D) exception

(C) 87、session对象的__方法用于设置会话的超时时间。

    A) session.setMaxInactiveInterval(30);

    B) session.setMaxTime(30);

    C) session.getMaxInactiveInterval();

    D) session.setAttribute("time",30);

(C) 88、以下__陈述是错误的。

    A) 在WEB项目的共享数据范围内,application是范围最广泛的

    B) 当我们在一个JSP页面新开窗口时,新开窗口的页面也共享session范围内的数据

    C) 当在JSP页面中通过<jsp:forward>指令将页面请求转发到的页面中,可以共享一个page范围内的数据

    D) 当用户重新打开一个浏览器窗口时,原session对象不再有效

(C) 89、在J2EE中,在web.xml中,有如下代码:

    <session - config>

        <session - timeout>30</session - timeout>

    </session - config>

    上述代码定义了默认的会话超时时长,时长为30__。

    A) 毫秒

    B) 秒

    C) 分钟

    D) 小时

(C) 90、在J2EE中,重定向到另一个页面,以下__语句是正确的。

    A) request.sendRedirect("http://www.xx.com");

    B) request.sendRedirect();

    C) response.sendRedirect("http://www.xx.com");

    D) response.sendRedirect();

(A) 91、重向可以使用__方法。

    A) response.sendRedirect("login.jsp");

    B) request.sendRedirect("login.jsp");

    C) <jsp :forward page="login.jsp"/>

    D) <forward page="login.jsp"/>

(D) 92、能够保留请求作用域中数据的转向方式是__。

    A) response.forward()

    B) response.sendRedirect()

    C) session.getRequestDispatcher().forward(request,response)

    D) request.getRequestDispatcher().forward(request,response)

(D) 93、给定一个JSP程序源代码如下:

    <jsp:include page="two.jsp" flush="true">

    <jsp:param name="location" value="bejing"/>

    </jsp:include>

    在two.jsp中使用__代码片段可以输出参数location的值。

    A) <jsp:getParam name="location">

    B) <jsp:getParameter name="location">

    C) <%=request.getAttribute("location")%>

    D) <%=request.getParameter("location")%>

(A) 94、JSP的编译指令标记通常是指__。

    A) Page指令、Include指令和Taglib指令

    B) Page指令、Include指令和Plugin指令

    C) Forward指令、Include指令和Taglib指令

    D) Page指令、Param指令和Taglib指令

(B) 95、下列__指令定义在JSP编译时包含所需要的资源。

    A) include

    B) page

    C) taglib

    D) forward

(B) 96、给定include1.jsp文件代码片断,如下:

    <% pageContext.setAttribute("User","HAHA");%>

    __ //此处填写代码

    给定include2.jsp文件代码片断,如下:

    <%=pageContext.getAttribute("User")%>

    要求运行include1.jsp时,浏览器上输出:HAHA

    要满足以上条件,jsp1.jsp中下划线处应填入以下__语句。

    A) <jsp:include page="include2.jsp" flush="true"/> null

    B) <%@ include file="include2.jsp"%> HAHA

    C) <jsp:forward page="include2.jsp"/> null

    D) <% response.sendRedirect("include2.jsp");%> null

(B) 97、在JSP页面中,类型为HttpServletResponse的内置对象是__。

    A) out

    B) response

    C) request

    D) config

(B) 98、__标记指定访问servlet的路径。

    A) <servlet-name>

    B) <servlet-class>

    C) <url-pattern>

    D) <context-param>

(B) 99、下列__类是抽象类。

    A) ServletConfig

    B) HttpServlet

    C) Cookie

    D) HttpServletRequest

(B) 100、完整的配置一个Servlet需要__标签。

    A) <webapp></webapp>

    B) <servlet></servlet>和<servlet-mapping></servlet-mapping>

    C) <servlet-name/>和<servlet-class>

    D) <servlet-mapping><servlet-name>

(B) 101、JSP页面经过编译之后,将创建一个__。

    A) applet

    B) servlet

    C) application

    D) exe文件

(A) 102、Servlet程序的入口点是__。

    A) init()

    B) main()

    C) service()

    D) doGet()

(C) 103、Servlet的初始化参数只能在Servlet的__方法中获取。

    A) doPost()

    B) doGet()

    C) init()

    D) destroy()

(C) 104、在编写Servlet时需要__。

    A) 继承Servlet

    B) 实现HttpRequestServlet

    C) 继承HttpServlet

    D) 实现HttpRequest

(A) 105、给定一个Servlet的代码片段如下:

    Public void doGet(HttpServletRequest request,HttpServletResponse response)

    throws ServletException,IOException{ 

    ______

    out.println("hi kitty! ");

    out.close(); }

    运行次Servlet时输出:hi kitty!

    则应在此Servlet下划线处填充如下代码。

    A) PrintWriter out = response.getWriter();

    B) PrintWriter out = request.getWriter();

    C) OutputStream out = response.getOutputStream();

    D) OutputStream out = request.getWriter();

(A) 106、编写Servlet 的doPost方法时,需要抛出异常是__。

    A) ServletException, IOException

    B) ServletException, RemoteException

    C) HttpServletException, IOException

    D) HttpServletException, RemoteException

(A) 107、在Servlet里,能正确获取session的语句是__。

    A) HttpSession session=request.getSession(true);

    B) HttpSession session=request.getHttpSession(true);

    C) HttpSession session=response.getSession(true);

    D) HttpSession session=response. getHttpSession (true);

(B) 108、给定一个Servlet程序的代码片段,如下:

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

     request.getSession().getAttribute("A");  //第二行

}

假定第二行返回的对象引用不是null,那么这个对象存储在__范围中。

    A) page

    B) session

    C) request

    D) application

(C) 109、Servlet中,HttpServletResponse的__方法用来把一个Http请求重定向到另外的URL。

    A) sendURL()

    B) redirectURL()

    C) sendRedirect()

    D) redirectResponse()

(D) 110、在Servlet中有一段代码如下

    public void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

     request.setAttribute("name", new Integer(100));

     response.sendRedirect("show.jsp");

    }

    在show.jsp中

    <%=request.getAttribute("name")%>

    页面结果为__。

    A) 100

    B) java.lang.Integer

    C) Integer

    D) null

(A) 111、请求Servlet的时候,Servlet的对象由__。

    A) 服务器负责实例化

    B) 由开发人员在请求中实例化

    C) Servlet会自动实例化

    D) Servlet只加载,无需实例化

(C) 112、Servlet的运行过程是__。

    A) 当请求Servlet时,服务器会即时加载Servlet类,然后对该类进行实例化,调用相应的方法处理请求

    B) 首先对Servlet 进行配置,然后服务器在处理请求时,将配置过的Servlet类找到,然后实例化处理请求

    C) 在服务器启动时,会加载Servlet,然后在处理请求的时候,实例化Servlet对象处理请求

    D) Servlet是一个具有接受请求和响应功能的类,在被请求时,Servlet早就被实例化好了,可以直接处理请求

(A) 113、Servlet 接受请求时,会调用__。

    A) service

    B) doGet

    C) doPost

    D) init

(A) 114、下面Servlet的__方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次它就会被调用一次。

    A) service()

    B) init()

    C) doPost()

    D) destroy()

(A) 115、有关servlet的生命周期说法错误的是__。

    A) servlet的生命周期由servlet实例控制

    B) init()方法在创建完servlet实例后对其进行初始化,传递的参数为实现servletContext借口的对象

    C) service()方法响应客户端的请求

    D) destroy()方法释放servlet实例

(B) 116、阅读下面代码片段:

    RequestDispatcher dispatcher=request.getRequestDispatcher("a.jsp");

    dispatcher.forward(request,response);

    关于该段代码的作用,下列__叙述是正确的。

    A) 页面重定向到a.jsp页面

    B) 将请求转发到a.jsp页面

    C) 从a.jsp定向到当前页面

    D) 从a.jsp转发到当前页面

(B) 117、一个servlet的生命周期不包括__方法。

    A) init()

    B) invalidate()

    C) service()

    D) destroy()

(C) 118、在Servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用__方法。

    A) init

    B) service

    C) doFilter

    D) destroy

(D) 119、下面对servlet中重定向说法描述错误的是__。

    A) 使用的是HttpServletResponse接口的sendRedirect()方法

    B) 源组件的响应结果不会发送给客户端

    C) sendRedirect()方法后的代码仍会执行

    D) 源组件和目标组件共享ServletRequest对象

(C) 120、Servlet中,HttpServletResponse的__方法用来把一个Http请求重定向到另外的URL。

    A) sendURL()

    B) redirectURL()

    C) sendRedirect()

    D) redirectResponse()

(C) 121、J2EE中,以下关于HttpServlet的说法错误的是__。

    A) HttpServlet是一个抽象类

    B) HttpServlet类扩展了GenericServlet类

    C) HttpServlet类的子类必须至少重写service方法

    D) HttpServlet位于javax.servlet.http包中

(C) 122、下面__选项不是http响应的一部分。

    A) 响应头

    B) 响应正文

    C) 协议版本号

    D) 状态行

(B) 123、在Servlet中,response.getWriter()返回的是__对象。

    A) JspWriter

    B) PrintWriter

    C) Out

    D) ResponseWriter

(D) 124、在访问Servlet时,在浏览器地址栏中输入的路径是在__地方配置的。

    A) <servlet-name/>

    B) <servlet-mapping/>

    C) <uri-pattern/>

    D) <url-pattern/>

(D) 125、给定一个 Servlet 的doGet方法中的代码片段,如下:

    request.setAttribute("name","zhang");

    response.sendRedirect("http://localhost:8080/servlet/MyServlt");

    那么在 MyServlet 中可以使用__方法把属性 name的值取出来。

    A) String str=request.getAttribute("name");

    B) String str=(String)request.getAttribute("name");

    C) Object str=request.getAttribute("name");

    D) 无法取出来

(C) 126、在Servlet中,下列语句可以正确获取PrintWriter对象的是__。

    A) PrintWriter out=request.getWriter();

    B) PrintWriter out=request.getPrintWriter();

    C) PrintWriter out= response.getWriter();

    D) PrintWriter out=response.getPrintWriter();

(D) 127、当一个Servlet首次被请求的时候,服务器首先会调用__方法。

    A) doGet

    B) doPost

    C) doInit

    D) init

(B) 128、下面Servlet的__方法载入时执行,且只执行一次,负责对Servlet进行初始化。

    A) service()

    B)init()

    C)doPost()

    D)destroy()

(C) 129、对于ServletRequest接口的获取请求参数的方法的描述__是正确的。

    A) getParameter方法只用于接收POST请求参数,接收GET请求参数需要使用getQueryString方法

    B) 如果一个参数key有多个值,那么getParameter(key)方法会返回空

    C) 如果一个参数key有多个值,那么getParameterValues(key)方法会返回一个包含所有值的字符串数组

    D) getParameter方法返回Object对象,使用前要强制类型转换:如String str=(String) request.getParameter(key)

(B) 130、request.getRequestDispatcher().forward(request,response)称之为__。

    A) 流转

    B) 转发

    C) 重定向

    D) 导航

(A) 131、给定一个Servlet的代码片段如下:

    public void doGet(HttpServletRequest request,HttpServletResponse response)

    throws ServletException,IOException{

    __

    out.println("hi kitty!");

    out.close(); }

    运行次Servlet时输出如下:

    hi kitty!

    则应在此Servlet下划线处填充如下代码。

    A) PrintWriter out = response.getWriter();

    B) PrintWriter out = request.getWriter();

    C) OutputStream out = response.getOutputStream();

    D) OutputStream out = request.getWriter();

(C) 132、给定如下Servlet代码,当在浏览器中输入:http://localhost:8080/servlet/HelloServlet,可以调用这个servlet,那么这个Servlet的输出是__。

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class HelloServlet extends HttpServlet{

    public void service(HttpServletRequest req, HttpServletResponse res)

    throws ServletException, IOException{

    }

    public void doGet(HttpServletRequest req, HttpServletResponse res)

    throws ServletException, IOException {

    res.setContentType("text/html");

    PrintWriter out = res.getWriter();

    out.println("<html>");

    out.println("<body>");

    out.println("doGet Hello World!");

    out.println("</body>");

    out.println("</html>");

    out.close();

    }

    public void doPost(HttpServletRequest req, HttpServletResponse res)

    throws ServletException, IOException {

    res.setContentType("text/html");

    PrintWriter out = res.getWriter();

    out.println("<html>");

    out.println("<body>");

    out.println("doPost Hello World!");

    out.println("</body>");

    }

    }

    A) 一个HTML页面,页面上显示doGet Hello World!

    B) 一个HTML页面,页面上显示doPost Hello World!

    C) 一个空白的HTML页面

    D) 错误信息

(D) 133、http请求及响应的正文部分可以是任意格式的数据,要保证接收方能看得懂发送方发送的数据,http协议采用__协议来规范正文的数据格式。

    A) FTP

    B) TCP

    C) HTTP

    D) MIME

(C) 134、HttpServletRequest对象的__方法能够获取一个表单参数的值。

    A) getQuaryString()

    B) getPathInfo()

    C) getParameter()

    D) getAttribute()

(B) 135、从HTTP请求中,获得请求参数,应该调用__。

    A) request对象的getAttribute()方法

    B) request对象的getParameter()方法

    C) session对象的getAttribute()方法

    D) session对象的getParameter()方法

(B) 136、一个典型的HTTP请求消息包括请求行、多个请求头和__。

    A) 响应行

    B) 信息体

    C) 信息头

    D) 响应头

(B) 137、在JSP中,以下是有关<jsp:setProperty>和<jsp:getProperty>标记的描述,正确的是__。

    A) <jsp:setProperty>和<jsp:getProperty>标记都必须在<jsp:useBean>的开始标记和结束标记之间

    B) 这两个标记的name属性的值必须和<jsp:usebean>标记的id 属性的值相对应

    C) <jsp:setProperty>和<jsp:getProperty> 标记可以用于对bean中定义的所有属性进行选择和设置

    D) 这两个标记的name属性的值可以和<jsp:userbean>标记的id属性的值不同

(D) 138、JavaBean的作用域按从大到小排列正确的是__。

    A) application  page  request  response

    B) session  page  request  application

    C) public  application  session  request

    D) application  session  request  page

(C) 139、在JSP中,使用<jsp:useBean>动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是__。

    A) page

    B) request

    C) response

    D) application

(A) 140、关于JavaBean正确的说法是__。

    A) Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写

    B) 在JSP文件中引用Bean,其实就是用<jsp:useBean>语句

    C) 被引用的Bean文件的文件名后缀为.java

    D) Bean文件放在任何目录下都可以被引用

(C) 141、在J2EE中,test.jsp文件中有如下一行代码:

    <jsp:useBean id="user" scope="__" type="com.UserBean"/>

    要使user 对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入__。

    A) page

    B) request

    C) session

    D) application

 (D) 142、<jsp:useBean id="bean的名称" scope="bean的有效范围" class="包名.类名"/>动作标记中,scope的值不可以是__。

    A) page

    B) request

    C) session

    D) response

(C) 143、给定TheBean类,假设还没有创建TheBean类的实例,以下JSP标准动作语句__能创建这个bean的一个新实例,并把它存储在请求作用域。

    A) <jsp :useBean name="myBean"  type="com.example.TheBean"/>

    B) <jsp :takeBean name="myBean"  type="com.example.TheBean"/>

    C) <jsp :useBean id="myBean"  class="com.example.TheBean" scope="request"/>

    D) <jsp :takeBean id="myBean"  class="com.example.TheBean" scope="request"/>

(C) 144、在JSP页面中,__可以正确引入JavaBean。

    A) <%jsp: useBean id =”myBean” scope =”page” class=”pkg.MyBean” %>

    B) <jsp: useBean name =”myBean” scope =”page” class=”pkg.MyBean” >

    C) <jsp: useBean id =”myBean” scope =”page” class=”pkg.MyBean” />

    D) <jsp: useBean name =”myBean” scope =”page” class=”pkg.MyBean” />

(D) 145、JavaBean的scope取值__可使该javabean被多个用户共享,即和web应用有相同的生命周期。

    A) page

    B) request

    C) session

    D) application

(B) 146、下面__不是JSP中和javabean相关的标记。

    A) <jsp:userBean>

    B) <jsp:include>

    C) <jsp:setProperty>

    D) <jsp:getProperty>

(D) 147、JavaBean可以通过相关jsp动作指令进行调用。下面__不是JavaBean可以使用的jsp动作指令。

    A) <jsp:useBean>

    B) <jsp:setProperty>

    C) <jsp:getProperty>

    D) <jsp:setParameter>

(A) 148、JavaBean的作用范围可以取值page、request、session和__。

    A) application

    B) local

    C) global

    D) class

(D) 149、下面__是错误的设置Bean属性值的方法。

    A) <jsp:setProperty name="B" property= "*" />

    B) <jsp:setProperty name="B" property="propertyName" value="123"/>

    C) <jsp:setProperty name="B" property="propertyName" param="parameterName" />

    D) <jsp:setProperty name="B" property="*" value="{string | <%= expression %>}"/>

(C) 150、JSP页面通过__来识别Bean对象,可以在程序片中通过xx.method形式来调用Bean中的set和get方法。

    A) name

    B) class

    C) id

    D) classname

(B) 151、使用<jsp:setProperty>动作标记可以在JSP页面中设置Bean的属性,但必须保证Bean有对应的__方法。

    A) SetXxx

    B) setXxx

    C) getXxx

    D) GetXxx

(A) 152、在JSP页面中使用<jsp:setProperty name="beanid"  property="bean的属性" value="字符串" />格式给Long类型的Bean属性赋值,会调用__数据类型转换方法。

    A) Long.parseLong(String s)

    B) Integer.parseInt(Stirng s)

    C) Double.parseDouble(String s)

    D) 不确定

(B) 153、在JSP页面中使用<jsp:setProperty name="bean的名字" property ="*" />格式,将表单参数为Bean属性赋值,property="*"格式要求Bean的属性名字__。

    A) 必须和表单参数类型一致

    B) 必须和表单参数名称一一对应

    C) 必须和表单参数数量一致

    D) 名称不一定对应

(D) 154、test.jsp文件中有如下一行代码:

<jsp:useBean id="user" scope="__" class="com.UserBean">

要使user对象可以作用于整个应用程序,下划线中应添入__。

    A) page

    B) request

    C) session

    D) application

(C) 155、下面关于JSP作用域对象的说法错误的是__。

    A) request对象可以得到请求中的参数

    B) session对象可以保存用户信息

    C) application对象可以被多个应用共享

    D) 作用域范围从小到大是request、session、application

(C) 156、下列__作用范围的Bean,当客户离开这个页面时,JSP引擎取消为客户该页面分配的Bean,释放他所占的内存空间。

    A) application

    B) request

    C) page

    D) session

(A) 157、使用<jsp:getProperty>动作标记可以在JSP页面中得到Bean实例的属性值,并将其转换为__类型的数据,发送到客户端。

    A) String

    B) Double

    C) Object

    D) Classes

(A) 158、使用格式<jsp:setProperty name="beanid"  property="bean的属性" value = "<%= expression %>" />给Bean的属性赋值,expression的数据类型和bean的属性类型__。

    A) 必须一致

    B) 可以不一致

    C) 必须不同

    D) 无要求

(A) 159、关于JavaBean正确的说法是__。

    A) Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写。

    B) 在JSP文件中引用Bean,其实就是用<jsp:useBean>语句。

    C) 被引用的Bean文件的文件名后缀为.java。 

    D) Bean文件放在任何目录下都可以被引用。

(A) 160、http://localhost:8080/web/show.jsp?name=aaa下列__可以正确取得请求参数值。

    A) {param.name}

    B) {name}

    C) {parameter.name}

    D) {param.get("name")}

(B) 161、JSTL包含的各种标签可用于__页面中。

    A) html

    B) jsp

    C) xml

    D) asp

(D) 162、自定义标签的配置文件放在__。

    A) WebRoot

    B) lib

    C) classes

    D) WEB-INF

(B) 163、JSP的__指令允许页面使用者自定义标签库。

    A) Include指令

    B) Taglib指令

    C) Include指令

    D) Plugin指令

(C) 164、自定义标签的作用是__。

    A) 编写和使用方便

    B) 规定是这样的,如果不用,别人会说我们不专业

    C) 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发

    D) 连数据库

(A) 165、在J2EE中,标签库中文件(*.tld)存放在__目录下的。

    A) WEB—INF

    B) WEB—INF/tags

    C) WEB—INF/classes

    D) WEB—INF/lib

(D) 166、核心标签库中,用来实现循环功能的标签是__。

    A) <c:if>

    B) <c:for>

    C) <c:while>

    D) <c:forEach>

(B) 167、JSTL中相当于<jsp:include >标准动作的标签是__。

    A) <c:url>

    B) <c:import>

    C) <c:redirect>

    D) <c:set>

(B) 168、在过滤器链中,最先截取客户请求的过滤器将__才能截取Servlet响应信息。

    A) 最先

    B) 最后

    C) 按优先级

    D) 以上都不对

(C) 169、使用 Resultset对象的 next()方法移动光标时,如果超过界限,会抛出异常,该异常通常是__。

    A) InterruptedException

    B) AlreadyBoundException

    C) SQLException

    D) NetException

(D) 170、下面关于MVC的说法不正确的是__。

    A) M表示Model层,是存储数据的地方

    B) View表示视图层,负责向用户显示外观

    C) Controller是控制层,负责控制流程

    D) 在MVC架构中 jsp通常做控制层

(B) 171、__充当应用程序视图对象和模型对象的中间对象。

    A) M

    B) C

    C) V

    D) JSP

(C) 172、MVC中的“M、V、C”分别用__表示。

    A) jsp  servlet  javabean

    B) HTml  javabean  jsp

    C) javabean  jsp  servlet

    D) servlet  html  jsp

(B) 173、关于MVC模式说法正确的是__。

    A) 用来将代码分开的方法

    B) 将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度

    C) 视图 模型 控制器模型

    D) 只用java才有的模型

(B) 174、在MVC模式中,核心内容为__。

    A) view

    B) control

    C) model

    D) 不确认

(B) 175、下面是FileOutputStream对象写入的代码片段:

    String filesMess="abcdef";

    FileOutputStream outf=new FileOutputStream(fileName);

    BufferedOutputStream bufferout=new BufferedOutputStream(outf);

    byte b[]=this.filesMess.getBytes();

    bufferout.write(b);

    bufferout.flush();

    bufferout.close();

    outf.close();

    代码执行后,文件中会写入__字符串的字节码。

    A) "filesMess"

    B) "abcdef"

    C) "b"

    D)不确定

(B) 176、下列代码中rs为查询得到的结果集,代码运行后表格的每一行有__单元格。

    while(rs.next()){

      out.print("<tr>");

      out.print("<td>"+rs.getString(1)+"</td>");

      out.print("<td>"+rs.getString(2)+"</td>");

      out.print("<td>"+rs.getString(3)+"</td>");

      out.print("<td>"+rs.getString("publish")+"</td>");

      out.print("<td>"+rs.getFloat("price")+"</td>");

      out.print("</tr>"); }

    A) 4

    B) 5

    C) 6

    D) 不确定

(C) 177、下面__不是ResultSet接口的方法。

    A) next()

    B) getString(int i)

    C) getString(string str)

    D) close()

(D) 178、下述选项中不属于JDBC基本功能的是__。

    A) 与数据库建立连接

    B) 提交SQL语句

    C) 处理查询结果

    D) 数据库维护管理

(D) 179、下面对jdbc api描述错误的是__。

    A) DriverManager接口的getConnection()方法可以建立和数据库的连接

    B) Connection接口的createStatement()方法可以创建一个Statement对象

    C) Statement接口的executeQuery()方法可以发送select语句给数据库

    D) ResultSet接口表示执行insert语句后得到的结果集

(D) 180、使用JDBC访问数据时,下面__不是常用的接口。

    A) SQLConnection

    B) ResultSet

    C) Statement

    D) PreparedStatement

(A) 181、在JDBC连接数据库编程应用开发中,利用__可以实现连接数据库。

    A) Connection类

    B) PreparedStatement类 

    C) CallableStatement类

    D) Statement类

(B) 182、为了实现在Java的程序中调用带参数的SQL语句,应该采用__来完成。

    A) Connection类

    B) PreparedStatement类

    C) ResultSet类

    D) Statement类

(C) 183、在JDBC连接数据库编程应用开发中,利用__可以实现包装数据库中的结果集。

    A) Connection类

    B) PreparedStatement类

    C) ResultSet类

    D) Statement类

(C) 184、__是微软公司提供的连接SQL Server 2000的JDBC驱动程序。

    A) oracle.jdbc.driver.OracleDriver

    B) sun.jdbc.odbc.JdbcOdbcDriver

    C) com.microsoft.jdbc.sqlserver.SQLServerDriver

    D) com.mysql.jdbc.Driver

(C)185、针对下述JSP页面,在Servlet中需要得到用户选择的爱好的数量,最合适的代码时__。

    <input type="checkbox" name="channel" value="网络"/>网络;

    <input type="checkbox" name="channel" value="朋友推荐"/>朋友推荐;

    <input type="checkbox" name="channel" value="报纸"/>报纸;

    <input type="checkbox" name="channel" value="其他"/>其他;

    A) request.getParameter("aihao").length

    B) request.getParameter("aihao").size

    C) request.getParameterValues("aihao").length

    D) request.getParameterValues("aihao").size

(A) 186、用户使用POST方式提交的数据中存在汉字(使用GBK字符集),在Servlet中需要使用下面__个语句处理。

    A) request.setCharcterEncoding("GBK");

    B) request.setContentType("text/html;charset=GBK");

    C) reponse.setCharcterEncoding("GBK");

    D) response.setContentType("text/html;charset=GBK");

(B) 187、Tomcat的默认端口是__。

    A) 80

    B) 8080

    C) 8088

    D) 8000

(B) 188、在HttpSession中写入和读取数据的方法是__。

    A) setParameter()和getParameter()

    B) setAttributer()和getAttribute()

    C) addAttributer()和getAttribute()

    D) set()个get()

(D) 189、下列不属于JSP构成元素的是__。

    A) 脚本

    B) 声明

    C) 表达式

    D) JavaScript

 (C) 190、下列注释方式可以在JSP中使用,并且客户端无法查看的是__。

    A) <!—注释-->

    B) <%注释%>

    C) <%--注释--%>

    D) <%!注释%>

(C) 191、在JSP页面中有下述代码,第二次访问此页面的输出是______

    <%! int x=0; %>

    <% Int y=0; %>

    <%=x++>,<%=y++>

    A) 0,0

    B) 0,1

    C) 1,0

    D) 1,1

(A) 192、下列useBean标准动作使用正确的是_____

    A) <jsp:useBean id="a" class="java.util.Date" scope="request"></jsp:useBean>

    B) <jsp:useBean name="a" class="java.util.Date" scope="request"></jsp:useBean>

    C) <jsp:useBean id="a" class="Date" ></jsp:useBean>

    D) <jsp:useBean name="a" class="java.util.Date" scope="request"></jsp:useBean>

(D) 193、两个JSP文件中的代码如下,执行后的输出为__。

    1.jsp

    <% request.setAttribute("name","JSP");

       session.setAttribute("name","JSP");

       response.sendRedirect("2.jsp"); %>

    2.jsp

    <% out.print(request.getAttribute("name"));

       out.print(session.getAttribute("name")); %>

    A) JSP JSP

    B) null JSP

    C) null null

    D) null JSP

(D) 194、假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放在__目录下。

    A) helloapp/HelloServlet.class

    B) helloapp/WEB-INF/HelloServlet.class

    C) helloapp/WEB-INF/classes/HelloServlet.class

    D) helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class

(C) 195、设在表单中有一组复选钮标记,如下列代码:

    <form action="register.jsp">选择城市

    <input type="checkbox" name="city" value="长春">长春<br>

    <input type="checkbox" name="city" value="北京">北京<br>

    <input type="checkbox" name="city" value="大连">大连<br>

    <input type="checkbox" name="city" value="上海">上海<br></form>

    如果在register.jsp是取city的值,最适合的方法为__。

    A) String city=request.getParameter("city");

    B) String []cities=request.getParameter("city");

    C) String []cities=request.getParameterValues("city");

    D) String city=request.getAttribute("city");

(A) 196、JSP程序在第一次载入时被JSP引擎翻译成__。

    A) servlet文件

    B) html文件

    C) class文件

    D) java文件

(C) 197、JDBC提供了3种接口来实现SQL语句的发送执行,其中用于执行存储过程的的SQL语句的是__。

    A) Statement

    B) PrepareStatement

    C) CallbleStatement

    D) Execute

(A) 198、JSP页面在执行时是以__方式进行的。

    A) 编译式

    B) 解释式

    C) 转换式

    D) 翻译式

(A) 199、在面向程序开发人员的JDBC  API中,负责处理驱动的调入并且对产生的新的数据库连接提供支持的接口是__。

    A) java.sql.DriverManager

    B) java.sql.Connection

    C) java.sql.Statement

    D) java.sql.ResultSet

(A) 200、JDBC提供了3种接口来实现SQL语句的发送执行,其中用于执行简单的不带参数的SQL语句的是__。

    A) Statement

    B) PrepareStatement

    C) CallbleStatement

    D) Execute

(B) 201、JSP和客户端交互的过程中,Web应用程序将处理结果以__对象的方式返回给JSP引擎。

    A) Request

    B) Response

    C) Servlet

    D) HTML

二、多选题

(ABD) 01、下列选项中属于动态网站技术的是____。(多选)

    A) PHP

    B) ASP

    C) JavaScript

    D) JSP

(BC) 02、下列____注释在JSP页面中是正确。(多选)

    A) <--注释-->

    B) <!--注释-->

    C) <%--注释--%>

    D) <%!--注释--%>

(AC) 03、HTML标记中<form>标记的method属性取值为____。(多选)

    A) get

    B) doGet

    C) post

    D) doPost

(CD) 04、JavaScript中常用的鼠标事件有____。(多选)

    A) onMourseIn

    B) onMouseLeave

    C) onMouseMove

    D) onMouseOver

(AD) 05、<jsp:param>动作元素经常与____元素一起使用。(多选)

    A) <jsp:include>

    B) <jsp:useBean>

    C) <jsp:setProperty>

    D) <jsp:forward>

(AC) 06、编写Servlet代码时,至少需要导入Servlet API 的____包。(多选)

    A) javax.servlet

    B) javax.swing

    C) javax.servlet.http

    D) java.util

(ACD) 07、在部署Java Web时,____文件夹或文件时必须的。(多选)

    A) web.xml文件

    B) index.html文件

    C) WEB-INF文件夹

    D) classes文件夹

(AD) 08、下面____对象可以在同一应用程序的不同网页间共享数据。(多选)

    A) application

    B) response

    C) request

    D) session

(AB) 09、下面____是ResultSet接口的方法。(多选)

    A) next()

    B) close()

    C) back()

    D) forward()

(AC) 10、某JSP程序中声明使用javaBean的语句如下:(多选)

    <jsp:useBean id=”user” class=”mypackage.User” scope=”page”/>

    要取出该javaBean的loginName属性值,以下语句正确的是____。

    A) <jsp:getProperty name="user" property="loginName"/>

    B) <jsp:getProperty id="user" property="loginName"/>

    C) <%=user.getLoginName()%>

    D) <%=user.getProperty("loginName")%>

(AD) 11、关于下列代码片断分析正确的是____。(多选)

    <form name="form1" action="login.do" method="post">

... </form>

    A) 表单的名称是form1

    B) 表单的数据提交的位置是post

    C) 表单提交的数据将会出现在地址栏中

    D) 此表单提交数据的大小不受限制

(AB) 12、下列关于Servlet的说法正确的是____。(多选)

    A) Servlet是一种动态网站技术

    B) Servlet运行在服务端

    C) Servlet针对每个请求使用一个进程来处理

    D) Servlet与普通的Java类一样,可以直接运行,不需要环境支持

(ABD) 13、下列关于Servlet的编写方式正确的是____。(多选)

    A) 必须是HttpServlet的子类

    B) 通常需要覆盖doGet() 和doPost()方法或其一

    C) 通常需要覆盖service()方法

    D) 通常要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素

(BC) 14、下列关于Servlet生命周期的说法正确的是___。(多选)

    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的____方法可以得到会话。(多选)

    A) getSession()

    B) getSession(Boolean)

    C) getRequestSession();

    D) getHttpSession();

(ABCD) 18、下列选项中可以关闭会话的是_____。(多选)

    A) 调用HttpSession的close方法

    B) 调用HttpSession的invalidate()方法

    C) 等待HttpSession超时

    D) 调用HttpServletRequest的getSession(false)方法

(ABD) 19、下列关于ServletContext的说法正确的是____。(多选)

    A) 一个应用对应一个ServletContext

    B) ServletContext的范围比Session的范围要大。

    C) 第一个会话在ServletContext中保存了数据,第二个会话读取不到这些数据

    D) ServletContext使用setAttributer()和getAttribute()方法操作数据。

(BD) 20、关于HttpSession的getAttibute()和setAttribute()方法,正确的说法是_____。(多选)

    A) getAttributer()方法返回类型是String

    B) getAttributer()方法返回类型是Object

    C) setAttributer()方法保存数据时如果名字重复会抛出异常

    D) setAttributer()方法保存数据时如果名字重复会覆盖以前的数据

(BCD) 21、下列关于JSP执行过程的说法正确的是____。(多选)

    A) JSP在容器启动时会被翻译成Servlet,并编译为字节码文件。

    B) JSP在第一次被请求时会被翻译成Servlet,并编译成字节码文件。

    C) 在第二次请求时,将不再执行翻译步骤

    D) 如果JSP页面有错误将不再执行翻译步骤。

(ABCD) 22、下列JSP表达式的写法正确的是_____。(多选)

    A) <%="abcdefg".length()%>

    B) <%="abcedfg"+123%>

    C) <%=new java.util.Date()%>

    D) <%=this%>

(BD) 23、下列page指令的使用正确的是_____。(多选)

    A) <%@ page import="java.util.*  java.sql.* "%>

    B) <%@ page import="java.util.*, java.sql.* "%>

    C) <%@ page import="java.util.*;java.sql.* "%>

    D) <%@page import="java.util.*" %>

       <%@page import="java.sql.*" %>

(AC) 24、下列setProperty标准动作使用正确的是_____。(多选)

    A) <jsp:setProperty  name="id" property="name" value="name"/>

    B) <jsp:setProperty  id="id" property="name" value="name"/>

    C) <jsp:setProperty  name="id" property="name" value="name"/>

    D) <jsp:setProperty  id="id" property="name" value="name"/>

(BC) 25、下列关于getProperty标准动作的说法正确的是_____。(多选)

    A、当JavaBean不存在所访问的属性时,显示null

    B、当JavaBean不存在所访问的属性时,发生异常

    C、getProperty标准动作实际上是调用对应属性的get方法

    D、以上都不对

(ABC) 26、下列属于JSP内置对象的是____。(多选)

    A) request

    B) response

    C) session

    D) servletContext

(BCD) 27、下列request和response内置对象的使用正确的是____。(多选)

    A) request.getRequestDispatcher("index.jsp").forward();

    B) response.sendRedirect("index.jsp");

    C) request.getParameterValues("name");

    D) response.setContentType("text/html;charset=gbk");

(BD) 28、派生HttpSerlet的Servlet子类的doGet方法通常可以抛出__异常。

    A) InterruptException

    B) IOException

    C) NullPointException

    D) SerletException

(BC) 29、为了在JSP网页中包含同一WEB应用中其它JSP页面,可使用__方法。

    A) @import指令

    B) @include指令

    C) <jsp:include>动作

    D) <jsp:import>动作

(AC)30、以下关于MVC设计模式中各个组件的作用说法正确的是__。

    A) MVC设计模式是软件设计中的典型结构之一。MVC是Model/View/Control的缩写。在这种设计结构下,应用程序分为三个组成部分:Model模型、View视图和Controller控制器,每个部分负责不同的功能。

    B) Controller提供应用业务逻辑,是指对业务数据、业务信息的处理模块,包括对业务数据的存取、加工、综合等;

    C) .View是指用户界面,也就是用户与应用程序交互的接口。用户可以通过view输入信息,另一方面应用程序通过view将数据结果以某种形式显示给用户。

    D) Model则负责View和Controller之间的流程控制。

(ABD) 31、以下__是常用的Web服务器。

    A) Apache Tomcat

    B) Allaire JRun

    C) JBuilder

    D) IIS

(ABC) 32、一旦初始化了Servlet,Servlet就能随时等候处理请求。对于每一个请求,通常调用service方法。service方法会根据所接收到的HTTP请求的类型调用以下__方法。

    A) doGet()

    B) doPost()

    C) doPut()

    D) doCreate()

(ACD) 33、服务器在删除一个以前装载的servlet实例时会调用servlet 的 destroy方法。通常在这个方法中执行下列__操作。

    A) 释放数据库连接

    B) 由可用服务状态转为服务不可用状态

    C) 停止后台线程

    D) 关闭文件

(AC) 34、动态建立Web页面的一个主要动力是使结果基于用户提供的查询数据。Web表单处理即是从Web页面获取信息,将其传送给服务器端应用程序。传送的方式包括以下__两种。

    A) 表单数据放置在问号之后,附加在URL的后面,发送到服务器上

    B) 表单数据通过嵌入在HTML中的脚本加密传送到服务器上

    C) 调用HttpServletRequest的getParameter方法,提供大小写敏感的参数名作为参数,获得表单数据

    D) 调用HttpServletResponse的sendForm方法传送表单数据

(ABD) 35、以下__是JSP技术的特性。

    A) 分离业务逻辑和表示

    B) 编写一次,随处运行

    C) 客户端Java资源的高效利用

    D) 可重用的组件和标签库

(ABC) 36、JSP页面包括以下__元素。

    A) JSP指令

    B) JSP Action

    C) JSP脚本

    D) JSP控件

(ACD) 37、JSP生命周期可以分为以下__阶段。

    A) 编译、装载

    B) 创建、转换

    C) 初始化、执行

    D) 清理、卸载

(ABD) 38、以下JSP指令说明正确的是__。

    A) JSP指令是JSP页面被编译成servlet时由JSP引擎处理的指令。

    B) page指令通过导入类、定制Servlet的超类、设置内容类型等,可以控制Servlet的结构;

    C) include指令可以在JSP文件转换成Servlet时,将Servlet类链接到外部文件;

    D) taglib指令用于定义定制的标记;

(ABC) 39、使用JavaBean的好处有__。

    A) JavaBean拥有标准化接口的优点,在开发期有可视化编程工具的支持,在运行期有JSP和J2EE连接器的支持。

    B) JavaBean更明确的把WEB页面的设计和软件的设计区分开来。

    C) JavaBean可以在多个应用程序中重用。

    D) JavaBean可以实现安全性、事务行为、并发性和持久性。


二、判断题

(×)01、Internet和intranet的含义意义相同。

(√)02、Web开发技术包括客户端和服务器端的技术。

(√)03、在网页中图形文件与网页文件是分别存储的。

(×)04、超级链接可以将文本作为链接对象,但不允许将图像作为链接对象。

(×)05、表单域可以单独使用,不一定非要放在<form>元素中。

(√)06、在网页中图形文件与网页文件是分别存储的。

(√)07、绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。

(×)08、当样式定义重复出现的时候,最先定义的样式起作用。

(×)09、一个表单只能有一个提交按钮。

(×)10、JSP也可以使用C#等语言实现。

(×)11、JSP页面是采用JavaScript语言实现在服务端代码。

(√)12、在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。

(×)13、JSP页面中的指令标记、JSP动作标记统称为脚本元素。

(×)14、在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不可以共享。

(√)15、程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。

(×)16、页面成员方法不可以在页面的Java程序片中调用。

(√)17、程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。

(√)18、在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。

(√)19、JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP标记。

(√)20、用户在浏览器中输入http://127.0.0.1:8080/ch2/ch2_1.html即可访问本机上的该页面。

(√)21、在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。

(√)22、程序段变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。

(√)23、Post属于表单的隐式提交信息方法。

(√)24、jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。

(×)25、<jsp:forward ... >标记的page属性值是相对的URL地址,只能静态的URL。

(×)26、JSP页面只能在客户端执行。

(×)27、JSP页面中不能包含脚本元素。

(×)28、Page指令不能定义当前JSP程序的全局属性。

(√)29、out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。

(×)30、利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。

(√)31、respone对象主要用于向客户端发送数据。

(×)32、不可以用一个page指令指定多个属性的取值。

(√)33、JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。

(×)34、在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。

(√)35、jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。

(×)36、Tomcat服务器支持直接使用application对象。

(×)37、利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。

(√)38、response对象的sendRedirect(URL url)方法可以将当前客户端的请求转到其他页面去。

(×)39、contentType属性用来设置JSP页面的MIME类型和字符编码集,取值格式为"MIME类型"或"MIME类型;charset=字符编码集",response对象调用addHeader方法修改该属性的值。

(×)40、JavaBean的属性必须声明为public,方法必须声明为private访问类型。

(√)41、doGet()和doPost()方法分别处理客户端GET和POST方法发送的请求。

(√)42、RandomAccessFile类既不是输入流类InputSteam的子类,也不是输出流类OutputStream的子类,但它同时实现了DataInput和DataOutput接口。

(×)43、在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaScript”和“Serlvet”,以Servlet为核心。

(×)44、表单信息的验证只能放在服务器端执行。

(×)45、网页中只要使用gb2312编码就不会出现中文乱码。

(√)46、表单提交的信息就封装在HTTP请求消息的信息体部分,用户使用request对象的getParameter方法可以得到通过表单提交的信息。

(√)47、同一个客户在同一个Web服务目录中的session对象是相同的,在不同的Web服务目录中的session对象是不相同的。

(×)48、session对象是HttpSession接口类的实例,由服务器端负责创建和销毁,所以不同客户的session对象不同。

(×)49、public long session.setMaxInactiveInterval() 设置最长发呆时间,单位毫秒。

(√)50、session对象可以用来保存用户会话期间需要保存的数据信息。

(×)51、url重写可以把session对象的id作为url参数传带过去,可以使用request对象的encodeURL("")。

(√)52、application对象对所有用户都是共享的,任何对它的操作都会影响到所有的用户。

(×)53、JSP代码可以直接执行,所以不会被翻译成JAVA代码。

(×)54、JSP里声明一个方法(函数)是用<%  %>标签。

(√)55、如果两个不同的JSP页面有相同的SessionID,则这两个页面一定是同一个会话。

(×)56、JDBC是用来连接数据的。

(×)57、Servlet是单线程的。

(√)58、executeUpdate()是Statement接口的方法。

(×)59、Servlet可以运行在客户端。

三、填空题

01、动态网站技术采用【B/S】架构。

02、在HTML中用【&nbsp】标记表示一个空格符号。

03、在javaScrpt中window对象的【open()】方法用于打开一个新窗口。

04、在javaScrpt中window对象的【close()】方法用于关闭当前窗口。

05、使用JavaScript语言中Document的【document.write()】方法可以在页面上输出字符。

06、Tomcat服务器的默认端口是【8080】。修改Tomcat的端口可以在Tomcat下打开conf文件夹找到【server.xml】文件用记事本打开设置<Connector port="8080">即可。

07、异常的处理,可在该方法的代码段中包含3类代码:【try】、【catch】和finally代码块。

08、Jsp主要内置对象有:【Application】、Session、【Request】、Response、Out、【Exception】、 PageContext、Config、Page。

09、如编写一个计数器程序,用来记载当前网站访问量,最好采用JSP中【application】对象。

10、理论上,【GET】是用于获取服务器信息并将其作为响应返回给客户端,【POST】是用于客户端把数据传送到服务器 。

11、【Application】对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而Session对象则是每个客户专用的。

12、JSP页面中的6个基本元素包括声明、表达式、脚本、【指令】、【动作标记】和注释。

13、JDBC的主要任务是:【与数据库建立连接】、【发送SQL语句】、处理结果。

14、一个Bean由三部分组成:实现【java.io.serializable】接口、提供无参数的构造方法、提供【getter()】和【setter()】方法访问它的属性。

15、运行servlet需要在【web.xml】文件中注册。

16、Servlet的生命周期分三个时期:【装载Servlet】、创建一个Servlet实例、【销毁】。

17、Jsp开发网站的两种模式分为【Jsp+JavaBean】和【Jsp+JavaBean+Servlet】。

18、在tomcat上发布javaweb应用时的默认目录是【webapps】目录。

19、javaweb应用的部署描述符是指【web.xml】文件。

20、在tomcat中访问helloapp应用的login.html文件时,在浏览器地址栏应写的url为:

【http://localhost:8080/helloapp/login.html】。

21、Servlet容器启动每一个web应用时,都会为它创建一个唯一的【ServletContext】对象,该对象和web应用有相同的生命周期。

22、请求转发源组件的响应结果【不会】发送到客户端,包含【会】发送到客户端。(填“会”或“不会”)

23、jsp中实现请求转发的标记为:【jsp:forward>】。

24、在JSP中,request内置对象代表请求消息,response内置对象代表响应消息,【session】内置对象代表会话。

25、如果使用第四类jdbc驱动器连接数据库,jar文件的存放位置为“web应用/【WEB-INF】/lib”。

26、Servlet容器为每个HttpSession对象分配唯一标识符,叫做【SessionID】。

27、javaweb在mvc设计模式下,【javabean】是模型,【jsp】是视图,【servlet】是控制器。

28、指令标识通常以【<%@】标记开始,以【%>】标记结束。

29、如果想在JSP页面中调用exception对象输出错误信息,需要将页面指令的【isErropage】属性设置为true。

30、页面指令的【import】属性可出现多次。

31、表达式用于向页面输出信息,其使用格式是以【<%=】标记开始,以【%>】标记结束。

32、在页面中通过声明标识声明的变量和方法的有效范围为【整个页面】,他们将成为JSP页面被转换成Java类后类中的【属性】和【方法】。

33、通常应用【<jsp:useBean>】动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。

34、在JSP中通过虚拟目录获取真实的物理目录的方法为【request.getRealPath()】。

35、在JSP内置对象中,【request】对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的【getparameter】方法可以获取客户端表单中某输入框提交的信息。

36、在JSP内置对象中,【response】对象提供了设置HTTP响应报头的方法。

37、JSP内置对象的有效范围由小到大为【page】、【request】、【session】和【application】。

38、按功能JavaBean可以分为【可视化JavaBean】和【非可视化JavaBean】。

39、通常情况下通过java.lang.Class类的【forName(String className)】方法加载要连接数据库的Driver类。

40、当今比较流行的技术研发模式是【C/S】和【B/S】的体系结构来实现的。

41、如果要获取请求客户端的IP地址,应使用【request】对象。

42、URL是Uniform Resource Locator的缩写,中文称之为【统一资源定位器】。

43、JSP页面的基本构成元素,其中变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为【JSP脚本元素】。

44、“<%!”和“%>”之间声明的方法在整个页面内有效,称为【页面的成员方法】。

45、JSP页面中,输出型注释的内容写在【<!--】和【-->】之间。

46、Page指令的属性Language的默认值是【Java】。

47、表单的提交方法包括【post】和【get】方法。

48、out对象的【out.flush()】方法,功能是输出缓冲的内容。

49、使用Bean首先要在JSP页面中使用【import】指令将Bean引入。

50、创建JavaBean的过程和编写Java类的过程基本相似,可以在任何Java的编程环境下完成【编写、编译和发布】。

51、response对象的【setContentType()】用来定义服务器发送给客户端的MIME类型。

52、Servlet中使用Session对象的步骤为:调用【HttpServletRequest.getSession()】得到Session对象,查看Session对象,在会话中保存数据。

53、在Tomcat服务器中部署Web应用程序时,静态页面和一般资源存放到tomcat服务的【webapps】目录中。

54、在Servlet中用来接收客户表单数据的两个常用方法为【get】、【post】。

55、控制器主要负责两方面的动作:【把用户的请求分发到相应的模型】;【将模型的改变及时反映到视图上】。

56、在DOM接口规范中,有四个基本接口:【Node】、【Nodelist】、【NamedNodeMap】和【Document】。

57、在一个应用程序中不同的页面共享数据时,最好的JSP内置对象为【application】。

58、动态include标记里面可以加【<jsp:param>】动作标记,用来传递参数。

59、session对象能否和客户建立起一一对应关系依赖与客户的浏览器是否支持【cookie】。

60、JDBC中【connection】接口用于连接数据库。

61、ResulSet接口的【next()】方法可以使结果集指针指向下行数据。

62、javabean与一般的java类的最大区别是javabean里面必须有【setter】和【getter】方法,并且与属性相对应。

63、查询数据库里的表内容是Statement接口使用【executeUpdate()】方法。

64、JSP连接数据库的时候第一步是【加载驱动程序】。

65、使用useBean动作标记的时候scope属性有4种选项,作用范围由小到大是【page】、【request】、【session】、【application】,其中【session】是指当关闭浏览器的时候这个javabean失效,【application】是指当关闭服务器的时候这个javabean失效。

66、在Servlet中转发使用RequestDespacher接口的【forward()】方法实现。重定向由HttpServletResponse接口的【sendRedirect()】方法实现。

67、使得HttpSession失效的三种方式是:【关闭浏览器】、调用session的invalidate方法和【等待session超时】。

68、JavaBean是一种JAVA语言写成的可重用组件。JavaBean的类必须是具体的和【公有的】,并且具有【无参数】的构造方法。

69、JDBC的接口分为两个层次:一个是程序开发人员的JDBC【API】,另一个是底层的JDBC【Driver API】。

四、简答题

01、jsp有哪些内置对象?作用分别是什么?

答:(1) Out对象代表提供输出流的访问。

    (2) Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文。

    (3) Response对象允许直接访问HttpServletResponse对象。

    (4) Session对象可能是状态管理上下文中使用最多的对话。

    (5) application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

    (6) Config对象允许将初始化数据传递给一个JSP页面。

    (7) Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。

    (8) Page对象代表JSP页面对应的Servlet类实例。

    (9) PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性。

02、jsp有哪些动作?作用分别是什么?
答:JSP共有以下6种基本动作

    (1) jsp:include:在页面被请求的时候引入一个文件。

    (2) jsp:useBean:寻找或者实例化一个JavaBean。

    (3) jsp:setProperty:设置JavaBean的属性。

    (4) jsp:getProperty:输出某个JavaBean的属性。

    (5) jsp:forward:把请求转到一个新的页面。

    (6) jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

03、简述JSP的处理过程。

答:(1) 客户端通过浏览器向服务器发出请求,该请求中包含了请求的资源的路径

    (2) 服务器根据被加载的客户端的请求加载被请求的JSP页面

    (3) Web服务器中的JSP引擎把被加载的JSP页面转换成servlet

    (4) JSP引擎把生成的JSP页面编译成class文件

    (5) 服务器执行这个class文件

    (6) 服务器把执行结果发送给浏览器显示

04、在JSP中有哪几种注释的方法?

答:主要有以下四种注释方法:

    (1) <%-- 注释 --%>

    (2) // 注释

    (3) /** 注释 **/

    (4) <!—注释 -->

05、简述JSP页面中的组成元素。

JSP页面主要有6类基本元素组成:

(1) JSP指令:用来向JSP容器提供编译信息。

(2) JSP声明:用于在JSP页面中定义变量和方法。

(3) JSP表达式:用于将Java表达式的运行结果输出在页面中。

(4) JSP脚本:用于在JSP页面中插入Java代码。

(5) JSP动作:实现一些常见的特定功能。

(6) JSP注释

06、Servlet的基本架构
答:public class ServletName extends HttpServlet {

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

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

    }

07、Servlet执行时一般实现哪几个方法?
答:(1) public void init(ServletConfig config)

    (2) public ServletConfig getServletConfig()

    (3) public String getServletInfo()

    (4) public void service(ServletRequest request,ServletResponse response)

    (5) public void destroy()

08、表单提交方式中的get和post有什么区别?

答:Form 中的 get 和 post 方法,在数据传输过程中分别对应了 HTTP 协议中的GET 和 POST 方法。二者主要区别如下:

1)Get 是用来从服务器上获得数据,而 Post 是用来向服务器上传递数据;

2)Get 将表单中数据按照 variable=value 的形式,添加到 action 所指向的URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将表单中的数据放在 form 的数据体中,按照变量和值相对应的方式,传递到 action所指向 URL;

3)Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的;

4)Get 传输的数据量小,这主要是因为受 URL 长度限制;而 Post 可以传输大量的数据,所以在上传文件只能使用 Post;

5)Get 限制 Form 表单的数据集必须为 ASCII 字符,而 Post 支持整个 ISO10646字符集;

6)Get 是 Form 的默认方法。

09、Java Servlet的主要功能和作用是什么?

答:Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet ,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet 。装入后, Servlet 继续运行直到其它客户机发出请求。 Servlet 的功能涉及范围很广。例如, Servlet 可完成如下功能:

    (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。

    (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面( HTML 片段)。

    (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。

    (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如, Servlet 可以是多参与者的游戏服务器。

    (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至 applet 的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下, applet 也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。

    (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。

    (7) 将定制的处理提供给所有服务器的标准例行程序。例如, Servlet 可以修改如何认证用户。

10、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

答:JSP技术是建立在Servlet技术基础之上的,本质上是Servlet的简易方式,更强调应用的外表表达。

    JSP编译后是“类servlet”,所有的JSP页面最终都要被转换成Servlet来运行。

    目前,一个web应用往往由多个servlet和jsp组成。

    Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。

    而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

    JSP侧重于视图,负责显示工作完成;Servlet主要用于控制逻辑,负责流程控制功能。

11、HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?

答:HttpServletResponse类的sendRedirect方法可以把用户重新定向到其他页面或servlet,但是不能将用户对当前JSP页面或servlet的请求和响应 (HttpServletRequest对象和HttpServletResponse对象)传递给所重新定向JSP页面或servlet。

RequestDispatcher对象使用forward方法可以把用户对当前JSP页面或servle的 请求转发给另一个JSP页面或servlet,而且将用户对当前JSP页面或servlet的请 求和响应(HttpServletRequest对象和HttpServletResponse对象)传递给所转发的JSP页面或servlet。也就是说,当前页面所要转发的目标页面或servlet对象可以使用request获取用户提交的数据。

12、简述四种会作用域page/request/session/application。

答:(1) page范围:具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个范围内的对象,只能在创建对象的页面中访问。可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。当Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。

    (2) request范围:具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在调用forward()方法转向的页面或者调用include()方法包含的页面中,都可以访问这个范围内的对象。要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象

    (3) session范围:具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问session范围内的对象。

    (4) application范围:具有application范围的对象被绑定到javax.servlet.ServletContext中,可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象

13、简述Servlet的生命周期。

答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

14、JSP中动态INCLUDE与静态INCLUDE的区别?
答:(1) 动态INCLUDE用jsp:include动作实现

    <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
    (2) 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面

    <%@ include file="included.htm" %>

15、两种跳转方式分别是什么?有什么区别?

答:有两种,分别为:

    (1) <jsp:include page="included.jsp" flush="true">

    (2) <jsp:forward page= "nextpage.jsp"/>

    前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。

16、简述请求转发和请求重定向的区别。

答:进行请求转发时,存储在request对象中的信息会被保留并带到目标页面中;请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。

17、JSP 和 Servlet 中的请求转发分别如何实现?

答:JSP 中的请求转发可利用 forward 动作实现:<jsp:forward />;Serlvet 中实现请求转发的方式为:getServletContext().getRequestDispatcher(path).forward(req,res)。

18、JSP中Model2的工作原理是什么?

JSP的Model2实际上就是引入了MVC设计模式,采用Servlet+JavaBean+JSP进行开发。

Model2采用Servlet作为控制器(Controller)负责接收客户端Web浏览器发送来的所有请求,并依据处理的不同结果,转发到对应的JSP页面(Viewer)实现在浏览器客户端的显示。

通常在Servlet中只包含了控制逻辑和一些简单的处理逻辑,更加复杂的业务处理逻辑则借助特定的JavaBean(Model)具体实现。

19、简述include指令标识和<jsp:include>动作标识的差异。

答:(1) inlcude指令通过file属性来确定被包含的页面,将file属性值看做一个实际存在的文件路径,所以该指令不支持任何表达式;<jsp:include>动作标识通过page属性确定被包含的页面,支持JSP表达式。

    (2) include指令包含的文件,内容会原封不动的插入到该指令的位置,与该指令合成进行编译,若改变了被包含文件,主文件要重新编译;<jsp:include>动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的文件,并将执行结果输出到浏览器中,然后返回到包含文件继续执行后面的代码,JSP编译器对两个文件分别进行编译,被包含文件改动不会影响源文件。

20、简述内置对象session和application的区别。

答:Session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个对象。

21、在Servlet的doGet()和doPost()方法中,如何得到与JSP内置对象out、request、rsponse、session、application分别对应的对象?

答:(1)可以通过以下代码获取out对象:PrintWriter out = response.getWriter();

    (2)Servlet直接继承了HttpServlet类,可以直接使用request和response对象

    (3)可以通过以下代码获取session对象:HttpSession session=request.getSession();

    (4) application是javax.servlet.ServletContext类的对象

        Application对象需要通过ServletConfig.getServletContext()来获取。

        Servlet自动定义了ServletConfig对象。故可以使用以下代码获取application对象

        ServletContext  application =this.getServletContext();

    或者:

    ServletConfig config=getServletConfig();

    ServletContext application=config.getServletContext();

22、简述数据库连接池的实现原理。

答:(1) 预先创建一定数量的连接,存放在连接池中。

    (2) 当程序请求一个连接时,连接池是为该请求分配一个空闲连接,而不是去重新建立一个连接;当程序使用完连接后,该链接将重新回到连接池中,而不是直接将连接释放。

    (3) 当连接池中的空闲连接数量低于下限时,连接池将根据管理机制追加创建一定数量的连接;当空线连接数量高于上限时,连接池将释放一定数量的连接。

23、forward和redirect的区别
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

24、有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?分别是什么?

答:(1) 最常用的方法是用form中的text,<input type=text name=username value=admin>,然后在b.jsp页面中这样获取:String username=request.getParameter("username");

    (2) 直接在Url地址栏里面输入第一个页面的地址,在后加问号,然后把要传的参数及值写在后面,如有多个用&隔开,然后在下一页面用:request.getParameter("参数名")来获取。

    如:在b.jsp中可用这样获取:

        String username=request.getParameter("username");

        String username=request.getParameter("password");

    (3) 在form中放hidden,如:<input type=hidden name=username value=admin>,获取方法同上。

25、JSP页面是如何被执行的?JSP执行效率比Servlet低吗?

答:当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。

JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。

26、HttpServlet类中的主要方法都有哪些?

答:HttpServlet的主要方法有 doGet, doPost, doPut, doDelete, doTrace等等。

27、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?

答:JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。JSP 编译后是"类 servlet"。Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来 。而 JSP 的情况是 Java 和 HTML 可以组合成一个扩展名为.jsp 的文件。 JSP 侧重于视图,Servlet 主要用于控制逻辑。

五、编程题

01、请依次写出下面表单对象的HTML代码。

<input type="text" name="textfield">

<input type="radio" name="radiobutton" value="radiobutton">

<input type="checkbox" name="checkbox" value="checkbox">

<select name="select">

  <option selected>aaa</option>

  <option>bbb</option>

  <option>ccc</option>

</select>

02、提交表单前验证表单输入是否为空(JavaScript)

<script type="text/javascript">

function checkform(){

  if (form.username.value=="")

     { alert("用户名不能为空!");

       return false; }

  else if (form.password.value=="")

     { alert("密码不能为空!");

       return false; }

  return true;}

</script>

<form action="x.jsp" method="post" name="form" onsubmit="return checkform()">

    用户名:<input type="text" name="username"/>

    密码:<input type="password" name="password"/></td>

    <input type="submit" value="提交" />

</form>

03、编写一个简单的登录程序,要求登录页面index.jsp中输入用户名(username)、密码(password),用户点击提交后,验证用户是否输入了用户名、密码。如果用户名为aaa,密码为aaa,则转到登录成功页面,否则显示index.jsp页面。

<body>

    <form action="doLogon.jsp">

    用户登录

    用户名:<input type="text" name="userName">

    <br>

    密码:<input type="password" name="userPass">

    <br>

    <input type="submit" value="登录">

    <input type="reset" value="重置">

<%  String name=request.getParameter("userName");

    if(name==null) name="";

    String password=request.getParameter("userPass");

    if(password==null) password="";

    if(name=aaa&&password==aaa) %>

    <jsp:forward page="success.jsp">

<% else %>

    <jsp:forward page="index.jsp">

</form>

</body>

04、用Application对象实现一个简单的网页计数器

<%@page contentType="text/html;charset=GB2312"%>

<HTML><BODY>

<% Integer number=(Integer)application.getAttribute("Count");

    if (number==null)

    { number=new Integer(1);

      application.setAttribute("Count",number); }

    else

    { number=new Integer(number.intValue()+1);

      application.setAttribute("Count",number); }

%>

您是第<%=(Integer)application.getAttribute("Count")%>个访问本站的客户。

</BODY>

</HTML>

05、编写一个输出"Hello World!"Servlet程序。

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

//创建一个Servlet类,继承HttpServlet

public class Hello extends HttpServlet {

 // 重写doGet()

  public void doGet(HttpServletRequest request, HttpServletResponse response)

        throws ServletException, IOException {

  // 设置响应到客户端的文本类型为HTML

  response.setContentType("text/html");

  // 获取输出流

  PrintWriter out = response.getWriter();

  out.println("Hello World");

  }

}

06、编写一个简单的Servlet程序,通过Servlet向浏览器输出文本信息“Servlet简单应用”。要求写出相应的Servlet类及配置文件。

public class print extends HttpServlet {

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

        response.setContentType("text/html");

        PrintWriter out = response.getWriter();

        out.println("Servlet简单应用"); }

    }

配置文件

<?xml version="1.0" encoding="UTF-8"?>

<web-app >

  <servlet>

    <servlet-name>MyServlet</servlet-name>

    <servlet-class>print</servlet-class>

  </servlet>

  <servlet-mapping>

   <servlet-name>MyServlet</servlet-name>

   <urlpattern>/textServlet</urlpattern>

  </servlet-mapping>

</web-app>

07、第一个Servlet1文件,读取两个请求参数first和second,将其转换为int值后相加,和存放在请求范围内,然后把请求转发第二个Servlet2.。第二个Servlet2文件(url为output),向客户输出Servlet1计算的结果。

public class Servlet1 extends HttpServlet {

  public void service(ServletRequest request,ServletResponse response)

    throws ServletException, IOException {

    //读取两个请求参数,并将其转换为int值

    int first = Integer.valueOf(request.getParameter("first")).intValue();

    int second=Integer.valueOf(request.getParameter("second")).intValue();

    //将两个数字相加

    int sum=first+second;

    //在request对象中添加sum属性

    request.setAttribute("sum", String.valueOf(sum));

    //把请求转发给Servlet2

    ServletContext context = getServletContext();

    RequestDispatcher dispatcher =context.getRequestDispatcher("/output");

    dispatcher.forward(request, response);

  }

}

public class Servlet2 extends HttpServlet {

  public void service(ServletRequest request,ServletResponse response)

    throws ServletException, IOException {

    //读取请求范围内Servlet1计算出的和

    String sum=(String)request.getAttribute("sum");

    //向客户端输出和

    PrintWriter out=response.getWriter();

    out.print("the sum is "+sum);

  }

}

08、编写一个JSP页面“1.jsp”,向该JSP页面的文本框中输入一个数字,单击按钮提交该页面给另一个页面“2.jsp”进行处理,显示在原页面中输入数字的奇偶性。(如果输入非自然数的字符,请用异常进行处理。)

【2.jsp】

<%  String num = (String)request.getParameter("num");

    try { int n = Integer.parseInt(num);

          if (n%2==0)

              request.setAttribute("type","偶数");

          else

              request.setAttribute("type","奇数");

          request.getRequestDispatcher("1.jsp").forward(request,response);

    } catch(Exception e){ e.printStackTrace(); }

%>

【1.jsp】

<%@ page contentType="text/html;charset=gb2312" %>

<% String type = (String)request.getAttribute("type"); %>

<html>

<head><title>页面一</title></head>

<body>

    <form action="2.jsp" method="get">

    请输入一个数字:<input type="text" name="num" />

    <input type="submit" value="提交" />

    </form>

    ${type }

</body>

</html>

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("password");

   request.【setAttribute】("password", password);

   String jobs[]=request. getParameterValues("jobs") ;

   for(int i;i<jobs. length() ;i++) {

       out.print("jobs="+jobs[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
    { 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("写入文件错误"+e.getMessage()); }

    }

}

【test.jsp】

< !--创建并调用bean(counter)-- >
< jsp:useBean id="counter" class="counter" scope="request" >

< /jsp:useBean >

< %  String cont=counter.ReadFile("/lyfcount.txt");

     counter.WriteFile("/lyfcount.txt",cont); % >

您是第< font color="red" >< %=cont% >< /font >位访问者

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

<% // ******* 数据库连接代码 开始      *****

try //异常处理语句

{  String spath = "db.mdb";//Access 数据库路径

   String dbpath = application.getRealPath(spath);//转化成物理路径

   String dbname = "";         //Acvess 数据库用户名,没有则为空

   String user = "";         //Access 数据库密码,没有则为空

  //数据库连接字符串

   String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;

  //加载驱动程序

   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  //建立连接

   Connection conn= DriverManager.getConnection(url);

  //创建语句对象

   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

  // ****       数据库连接代码 结束 ******

       

  //*********      测试数据代码开始      ******

  String sql = "select * from biao";

  ResultSet rs = stmt.executeQuery(sql);

  while(rs.next())

    { int vid=rs.getInt("编号");

      out.print("记录:" +vid+rs.getString("name");

     }

  out.print("<br>恭喜你!数据库连接成功!");

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

  stmt.close();                                 //关闭语句对象

  conn.close();                                 //关闭连接对象

  } catch(Exception e){ out.print(e.getMessage()); }

%>

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

【index.jsp】

<form name="form1" method="post" action="circleArea">

  <input name="r" type="text" id="r">

  <input type="submit" name="Submit" value="提交">

</form>

<% if(request.getAttribute("rt")!=null)

      out.print(request.getAttribute("rt"));

 %>

【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("r");

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

    request.setAttribute("rt", s+"");

    request.getRequestDispatcher("index.jsp").forward(request, response);

}

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

【index.jsp:注册页面】

<%@page import="Testbean.Register"%>

<jsp:useBean id="reg" scope="request" class="Testbean.Register"/>

<form action="check.jsp" method="post">

用户名:<input type="text" name="name" value="<jsp:getProperty name="reg" property="name"/>"> <br>

年龄:<input type="text" name="age" value="<jsp:getProperty name="reg" property="age"/>"> <br>

<input type="submit" value="注册">

<input type="reset" value="重置">

</form>

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

 <jsp:useBean id="reg" scope="request" class="Testbean.Register"/>

 <% if(reg.isValidate()){ %>

 <jsp:forward page="success.jsp"/>

 <% }else{ %>

 <jsp:forward page="index.jsp"/>

 <% } %>

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

<jsp:useBean id="reg" scope="request" class="Testbean.Register"/>

<jsp:setProperty name="reg" property="*"/>

<body>

login success!!!<br>

用户名:<jsp:getProperty name="reg" property="name"/>

</body>

【Register.java注册类JavaBean代码】

 package Testbean;

 public class Register {

     private String name;

     private String age;

     private String error;

     //注册方法

     public Register()

     {   this.name="";

         this.age="";

         this.error=""; }

     //注册数据验证

     public boolean isValidate()

     {   boolean flag=true;

         if(!this.name.matches("\\w{6,15}"))

         {   flag=false;

             this.name="";

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

         }

         if(!this.age.matches("\\d+"))

         {   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("显示系统日期时出现异常:")+e.getMessage());}

return(SKIP_BODY);}}

标签库中表述文件:

<tag>

<description>显示当前日期</description>

<name>showData</name>

<tag-class>com.ShowData</tag-class>

<body-content>empty</body-content>

</tag>

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

<taglib>

<taglib-uri>showDataUri</taglib-uri>

<taglib-location>/WEB-INF/showData.tid</taglib-location>

</taglib>

在页面中引用

<%@ page language="java" pageEncoding="GBK"%>

<%@ taglib uri="showDataUri" prefix="wghData"%>

<html>

<head><title>自定义标签的应用</title></head>

<body>今天是</wghData:showData/>

</body>

</html>

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文件?

<servlet>

  <servlet-name>myservlet</servlet-name>

  <servlet-class>star.flower.Dalian</servlet-class>

</servlet>

更多相关推荐:
javaweb学习心得

学习心得在写心得之前总结下中级部分学习的内容,我们的中级部分主要学习了html,css,javacript,xml,dtd/scheam,以及javaee中的jsp,servlet,过滤器,监听器,JSTL,E…

JavaWeb学习总结

一基本概念11WEB开发的相关知识WEB在英语中web即表示网页的意思它用于表示Internet主机上供外界访问的资源Internet上供外界访问的Web资源分为1静态web资源如html页面指web页面中供人...

Java web 开发教程学习心得

Javaweb开发教程学习心得Javaweb课程结束了,在完成了eclipse三份实验报告之后我开始总结这门课程自己究竟学到了什么。从C语言到Java,再到jsp,最后到javaweb,一直都在与编程都打交道,…

JavaWeb学习总结——Session

一Session简单介绍在WEB开发中服务器可以为每个用户浏览器创建一个会话对象session对象注意一个浏览器独占一个session对象默认情况下因此在需要保存用户数据时服务器程序可以把用户数据写到用户浏览器...

JavaWeb学习总结(十二)——Session

JavaWeb学习总结十二Session一Session简单介绍在WEB开发中服务器可以为每个用户浏览器创建一个会话对象session对象注意一个浏览器独占一个session对象默认情况下因此在需要保存用户数据...

javaweb开发要学习的所有技术和框架总结:

学习javaweb开发要学习的技术和框架总结:前言:当初想学习javaweb开发的时候,希望能够全方面地学习(这样找工作时就胸有成足了)。但是对这个根本不理解,又不认识从事这方面的熟人,所以学习起来无从下手。经…

Java Web实例学习的总结内容

JavaWeb实例学习的总结内容一、如何使Servlet在服务器启动时就被加载并读取初始化参数:*********************************************************…

学习中。。。javaweb

01Java基础加强一MyEclipse使用Eclipse的工作空间必须起名为纯英文的JDK开发环境JRE运行环境java里边类的访问权限有两种public和default修饰符abstract和final一J...

javaWeb学习

JavaWeb学习笔记d9txt20xx12142251Session会话Session对象1存在于服务器端2依赖于线程3Session的生命周期跟一次浏览器窗口有关只要窗口不关闭Session便存在所以称会话...

java web 自学的总结

20xx03122CtrlF查找文件内部2html标签7HTML水平线8lthrgt标签在HTML页面中创建水平线8列表9有序的ltolgtltligtltligtltolgt无序的ltulgt自定义列表dl9...

javaweb复习总结全

javaweb第一天1junit测试框架ArrsertassertEqualslongexecptedlongactual测试两个long类型的值execpted与actual是否相等相等返回true否则返回f...

javaweb总结

1javaweb应用的目录结构web程序文件夹WEBINFwebxmlclasses源程序对应的classlib程序用到的第三方库jar2如何用javac来编译程序a需要用到j2ee相关的jar将这些jar放到...

javaweb学习总结(14篇)