当前位置:文档之家› JSP十六简答题

JSP十六简答题

JSP十六简答题
JSP十六简答题

1、请简单叙述include指令标记和include动作标记的不同。

答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。(3分) include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java 解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。(3分)

2、JSP有几个内置对象?作用分别是什么?

答:有9个内置对象

request,请求对象(1分)

response,响应对象,网页传回用户端的回应(1分)

session,会话对象,与请求有关的会话期(1分)

application,应用程序对象,正在执行的内容(1分)

out,输出对象,用来传送回应的输出(1分)

page, 页面对象,网页本身(1分)

config,页面配置对象,构架部件(1分)

exception,异常对象,针对错误网页,未捕捉的例外(1分)

pageContext,页面上下文对象,网页的属性是在这里管理(1分)

3、简单描述解决中文汉字编码问题的两种常用方法?

答:方法1:将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象。(3分)

方法2: request.setCharacterEncoding(“GBK”); (3分)

4、与response.sendRedirect()实现页面转向有什么区别?答:(1)在本网站内跳转response.sendRedirect()跳转到任何一个地址的页面。

(2)response.sendRedirect()呈现跳转地址;使用在服务器上进行,浏览器地址栏中的地址保持不变。

5、jsp有哪些动作?作用分别是什么?

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

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

jsp:setProperty:设置JavaBean的属性。

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

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

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

6、JSP中动态INCLUDE与静态INCLUDE的区别?

答:动态INCLUDE用jsp:include动作实现

flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数

静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@includefile="included.htm" %>

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

答:有两种,分别为:

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

后者完全转向新页面,不会再回来。相当于go to 语句。

8、JSP工作原理是什么?

答:当我们访问一个JSP页面的时候,这个文件首先会被JSP引擎翻译为一个Java源文件,其实就是一个Servlet,并进行编译,然后像其他Servlet一样,有Servlet引擎来处理。Servlet引擎装载这个类,处理来自客户的请求,并把结果返回给客户

9、说明MVC设计模式中,M、V、C分别代表什么,有什么作用。

答:M代表Model(模型),该组件是对软件所处理问题逻辑的一种抽象,封装了问题的核心数据,逻辑和功能实现,独立于具体的界面显示以及I/O操作。

V代表View(视图),该组件将表示模型数据,逻辑关系以及状态信息,以某种形式展现给用户。视图组件从模型组件获得显示信息,并且对于相同的显示信息可以通过不同的显示形式或视图展现给用户。

C代表Controller(控制器),该组件主要负责用户与软件之间的交互操作,控制模型状态变化的传播,以确保用户界面与模型状态的统一。

10、简述使用JDBC技术的主要步骤?

答:1.注册和加载驱动器;2.与数据库建立连接;3.发送SQL语句;4.处理结果;5.关闭连接;

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

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

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

答:使用Application 对象变量 Application对象之作用范围是整个全局,也就是说对所有用户都有效。Session用于保存每个用户的专用信息.每个客户端用户访问时,服务器都为每个用户分配一个唯一的会话ID(Session ID) . 13、如何连接数据库?

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:数据源名称 ";

DriverManager.getConnection(url, "sa", "");

14、简述使用JDBC技术的主要步骤?

1)注册和加载驱动器;

2)与数据库建立连接;

3)发送SQL语句;

4)处理结果;

5)关闭连接;

15、简述JavaBean的书写规范。

1)JavaBean是一个public的类。

2)类要实现Serializable接口

3)要有一个默认构造函数,以便任何一个容器都可以创建JavaBean的实

例。

4)存放属性的变量为protected或private特性。

5)设置和获取属性时,使用setXXX()和getXXX()方法。

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

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

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

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

16、JSP引擎有什么作用?

JSP引擎的作用是当客户向服务器发出JSP页面请求时,将JSP页面转译为Servlet源代码,然后调用javac命令,把Servlet源代码编译为相应的字节码,并保存在相应的目录中。(把Jsp转换成Servlet)

JSP试题及答案

第一章 一.选择题 1.早期的动态网站开发技术主要使用的是()技术。该技术的基本原理是将浏览器提交至Web服务器的数据通过环境变量传递给其他外部程序,经外部程序处理后,再把处理结果传送给Web服务器,最后由Web服务器把处理结果返回浏览器。 A.JSP B.ASP C.PHP D.CGI 2.JSP页面的代码由两个部分组成,它们是()和()。 A.javascript代码 B.vbscript代码 C.HTML代码 D.JSP代码 3.JSP在服务器中进行编译时,将首先被转译成() A.JA V A语言 B.HTML代码 C.servlet D.以上都是 4.在一个JSP页面代码中一定没有的部分是() A.javascript代码 B.JSP指令 C.JSP动作 D.HTML代码 二.问答题 1.简述JSP的基本运行原理。 2.列举出JSP具有的一些特点。

参考答案 一.选择题 1. D 2. C D 3. C 4. A 二.问答题 1.答:首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。 2.答:1. 一次编写,随处运行 2. 可重用组件技术 3. 标记化页面开发 4. 对大型复杂Web应用支持良好 第二章习题 三.选择题 1.下列不是JSP开发工具的是() A.JBuilder B.IBM WebSphere C.MyEclipse D.Firework 2.要建构JSP的开发环境,除了需要安装以上的JSP开发工具外,还必须安装()和() A.JDK B.Dreamweaver MX C.Flash MX D.Tomcat 3.JSP隶属Java家族,下列不属于JA V A家族的是() A.servlet B.javabean C.java D.javascript 4.web应用程序体系结构最多可分为三层,不属于这三层的是() A.表示层 B.业务层 C.数据访问层 D.网络链接层

JSP课程各章节选择题答案

1)如果做动态网站开发,以下()可以作为服务器端脚本语言。 A . HTML B. JSPC. JavaScript D. Java 2)在设计Web项目的目录结构时,一般吧JSP和HTML文件放在()下。 A . src目录 B .文档根目录或其子文件下 WEB-INF 目录 C . META-INT 目录 D 3) 在Web项目的目录结构中,web.xml文件位于()中。 A . src目录 B .文档根目录 C . META-INF 目录 D .WEB-INF 目录 4) 下面对于B/S架构与C/S架构的描述错误的是()。 A . B/S架构解决了C/S架构的弊端,因而在程序开发中将会逐步取代C/S架构 B. B/S机构是基于in ternet网络实现的,使得用户访问的范围扩大 C . C/S架构师基于局域网实现的,当程序发生改的后,需要对每一个客户端进行维护 D . C/S可以设计出丰富的界面,而B/S则相对处于劣势 5)以下选项中()是正确的URL,(选两项) A . B . C . D . /n ews/welcome.html

C . response.setPageCoding() D . response.setCharset() 6) 在某个JSP 页面中存在这样一行代码, <%= 2”+ 4" %>运行该JSP 后,以下说法正 确的是( )。 A .这行代码没有对应的输出 B .这行代码对应的输出时 6 C. 这行代码对应的输出时 24 D .这行代码将引发错误 7) 与 page 指令 <%@ page import= java.util.*, java.text.* %> 等价的是( )。 A . <%@ page import= “java.util.* %> <%@ page import= “java.text.* “ %> B . <%@ page import= “java.util.* ” , import= “java.text.* “ %> C . <%@ page import= “java.util.* “ ; %> <%@ page import= “java.text.* “ ; %> D . <%@ page import= “java.util.* ;java.text.* “ %> 8) 下列选项中, ( )是正确的表达式。 A. <% String s = “hello world ” ;%> B . <% = “hello world ” ;%> C . <% = “hello world ” %> D . <% ! “hello world ” %> 9) 如果请求页面中存在两个单选按钮(假设单选按钮的名称为 sex ) , 分别代表男和女, 该页面提交后,为了获得用户的选择项,可以使用以下( )方法。 A. request.getParameter(sex); B . request.getParameter(“sex ”); C . request.getParameterValues(sex); D . request.getParameterValues(“sex ”); 10) JSP 内置对象request 和getParameterValues()方法的返回值是( )。 B. Object[ ]C . String D . Object 第三章 11) 使用request 对象进行重定向时,使用的是( A . gertRequestDispatcher(); C. sendRedirect() 12) 对于转发与重定向的描述错误的语句是( A ?重定向是在客户端发生作用,通过请求重新的地址实现页面转向 B .使用转发时由于是服务器内部控制权的转移,因而地址栏中的 URL 没有变化 C .使用重定向时可以在地址栏中看到转向后的 URL D .转发与重定向都可以实现在页面跳转,因而没有区别 13) 为了避免服务器的响应信息在浏览器端显示为乱码, 通常会使用 ( )语句重新设置 字符编 码。 B. response.setCharacterEncoding() A . String[ ] )方法。 B . forword() D . setRequestDispatcher(); )。 A . reponse.setContentType();

JSP课后简答题答案

1、怎样应用request、session、application进行参数存取?比较3 钟方法的优点与不足。 答:request范围变量保存在request隐式对象中,如:request.setattribute("namerequest","name in request"); session范围变量保存在session隐式对象中,如:session.setattribute("namesession","name in session"); application范围变量保存在application 隐式对象中,如:application.setattribute("nameapplication","name in application"); 读取:namerequest:<%=request.getattribute("namerequest").tostring() %>
namesession:<%=sessio n.geta ttribute("namesession").tostring() %>
nameapplication:<%=application.getattribute("nameap plication").tostring() %> application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。request:请求作用域,就是客户端的一次请求。 2、什么是数据库连接池?在JSP中怎样实现数据库连接池? 答:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 3、怎样实现JavaBean的一个属性与输入参数关联?怎样实现JavaBean中的所有属性与请求参数关联? 答:1) 如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法: a.getXxx(),用来获取属性xxx。 b.setXxx(),用来修改属性xxx.。 2) 类中方法的访问属性都必须是public的。 3) 类中如果有构造方法,那么这个构造方法也是public的并且是无参数的 4、Servlet和Servlet之间以及Servlet与JSP之间是怎样实现通信的? 答:(1)应用ServletContext a.在Servlet A中,用setAttribute()设置你要共享的数据 b.在Servlet B中,用getAttribute()读取以上的object 一个servlet直接调用另一个servlet的doget 或dopost方法,将所有参数都传过去。 (2)a. jsp-->servlet: 直接使用或者sendRedirect 可以访问任何URL (当然也包括servlet)。 b.servlet-->jsp: RequestDispatcher接口的forward(req, res)方法,请求信息需要显式传递(在req、res参数中或者通过sendRedirect。

JSP企业面试题及答案(选择题)

一、单项选择题: 1.下列哪个不是HTML的常用标记。() A. B. C. D. 2.创建表单的HTML代码是() A.

B. C.