useBean>语句
C、被引用的Bean文件的文件名后缀为.java
D、Bean文件放在任何目录下都可以被引用
9、Servlet程序的入口点是(A )
A、init() B、main() C、service() D、doGet()
10、不能在不同用户之间共享数据的方法是(A )
A、通过cookie B、利用文件系统 C、利用数据库 D、通过ServletContext对象
11、cookie.setMaxAge(60*60)的意思是(B)。
A、将cookie的保存时间设置为一分钟
B、将cookie的保存时间设置为一小时
C、将cookie的保存时间设置为60小时
D、将cookie的保存时间设置为一天
12、page对象属于(C)类对象。
A、输入输出 B、作用域通信对象 C、Servlet D、错误
13、在传统的HTML页面中加入(D)就构成了一个JSP页面文件。
A、JAVA程序片 B、JSP标签
C、用“<%”、“%>”标记符号括起来的程序 D、JAVA程序片和JSP标签
14、配置JSP运行环境,若WEB应用服务器选用TOMCAT,以下说法正确的是:
(B)
A、先安装TOMCAT,再安装JDK
B、先安装JDK,再安装TOMCAT
C、不需安装JDK,安装TOMCAT就可以了
D、JDK和TOMCAT只要都安装就可以了,安装顺序没关系
15、下面哪项不是request对象的方法(D)。
A、getAttribute(Stringstr) B、getCookies()
C、getParameter(Stringstr) D、sendRedirect(Stringurl)
16、下列不是JavaBeans编码约定的是(A)
A、所有属性都是私有的
B、属性值的获取采用get加上首字母大写的属性名来命名方法
C、默认构造函数可以是私有的
D、属性值的设置采用set加上首字母大字的属性名来命名方法
17、下列哪个方法不属于Servlet(B)。
A、init() B、run() C、service() D、destroy()
18、下面(D)不是form的元素。
A、input B、textarea C、select D、table
19、关于JavaBean的说法,正确是的(C)。
A、JavaBean的具体类可以不是public的
B、JavaBean可以只提供一个带参数的构造器
C、jsp:
useBean可以向HTML标记一样不关闭
D、JavaBean可以保存状态
20、关于get和post两种请求,下列说法正确的是(A)。
A、get请示是默认的
B、get请示数据量大小不受到限制
C、post请求地址栏里是可以看到数据的
D、post请求可以由doGet方法处理
三、判断题:
1、JSP内置对象session用于存储一个用户的会话状态。
(对)
2、通过application对象,可以在不同应用间共享信息。
(对)
3、Servlet程序的入口点是service。
(对)
4、JSP技术是基于JAVA语言不区分大小写的。
(错)
5、JSP页面中一定要包含JSP代码。
(错)
6、JSP中包括两种指令:
page指令和include指令。
(错)
7、每个子应用对应一个单独的RequestProcessor实例。
()
8、sendRedirect之后不可以使用原来的request对象,而且效率较低。
(错)
9、forward地址栏不变化,只能在Web应用程序内的页面间跳转。
(对)
10、Bean文件放任何目录下都可以使用。
(错)
11、可以在一个页面中使用多个<%@page%>指令。
(对)
12、JSP在第一次访问的时候很慢,但是再以后的访问却变得很快。
(错)
13、可能调用结果集对象的execute()方法来执行插入表格的sql语句。
(对)
四、问答题:
1、JSP中属性的生命期有哪几种范围?
请详细论述。
答:
Page:
当前页面有效
Request:
在请求的连接页面间有效
Session:
在会话内有效
Application:
在整个tomcat启动内有效
2、简述Servlet与JSP的关系。
答:
JSP是一种脚本语言,包装了JavaServlet系统的界面,简化了Java和Servlet的使用难度,同时通过扩展JSP标签(TAG)提供了网页动态执行的能力。
尽管如此,JSP仍没有超出Java和Servlet的范围,不仅JSP页面上可以直接写Java代码,而且JSP是先被译成Servlet之后才实际运行的。
JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,和HTML融合的比较好,可以使不了解Servlet的人可以做出动态网页来。
JSP修改后可以立即看到结果,不需要手工编译,JSP引擎会来做这些工作;而Servelt缺需要编译,重新启动Servlet引擎等一系列动作。
3、试简述JSP中动态include和静态include的区别。
答:
如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。
相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。
如果是动态文件还可以用param>传递参数。
4、JSP有哪些动作?
作用分别是什么?
答:
param>操作被用来以“名—值”队的形式为其他标签提供附加信息
include>操作允许在请求是在现成的JSP页面里包含静态或者动态资源
forward>操作允许将请求转发到另一个JSP、servlet或静态资源文件
useBean>标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围
setProperty>此操作和setBean一起协作,用来设置JavaBean的属性
getProperty>操作是对setProperty>操作的补充,用来访问一个Bean的属性
plugin>用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean
fallback>
5、简要阐述Servlet运行的生命流程。
答:
web容器加载servlet,生命周期开始。
通过调用servlet的init()方法进行servlet的初始化。
通过调用service()方法实现,根据请求的不同调用不同的doXX()方法,结束服务,Web容器调用servlet的destroy()方法。
(1)Server创建一个Servlet的实例。
(2)Server调用Servlet中的init()方法。
(3)一个客户端的请求到达Servlet。
(4)Server创建一个请求对象。
(5)Server创建一个响应对象。
(6)Server激活Servlet中的service()方法,传递请求和响应对象作为参数;
(7)service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。
6、Servlet的特点是什么?
答:
高效、方便、功能强大、可移植性好、节省投资。
7、简述forward和redirect的区别。
答:
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些浏览内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪里来的,所以她的地址栏还是原来的地址。
Redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说,浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
8、JDBC驱动有哪4种类型?
这4种类型之间有什么区别?
答:
1、jdbc-odbc桥
2、本地API部分java驱动
3、网络协议完全java驱动
4、本地协议完全java驱动。
Jdbc-odbc桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学者了解jdbc编程也较适用.对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象.至于基于internet方面的应用就只有考虑3,4型驱动了.因为3型驱动可以把多种数据库驱动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库,并且对并发连接要求高的应用.4型驱动则适合那些连接单一数据库的工作组应用。
9、如何注册servlet?
答:
在c:
\bea\wlserver6.0sp1\config\mydomain\applications\defaultWebapp_myserver\web-inf\目录下找到文件web.xml,用记事本打开。
将以下内容添加到该文件中保存即可完成注册。
TestUseServlet
testservlet.TestUseServlet
TestUseServlet
DBTest
Myservlet
mypackage.Myservlet
Myservlet
Myservlet
10、JSP中的异常包括哪两种?
答:
异常包括JspEorror和JspException两种。
11、HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?
答:
两者都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别。
1.RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至可以使用绝对URL重定向到其他站点的资源。
2.调用HttpServletResponse.sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;而调用RequestDispatcher.forward方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
3.HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求。
RequestDispatcher.forward方法在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为。
4.RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程;而HttpServletResponse.sendRedirect方法调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。
5.无论是RequestDispatcher.forward方法,还是HttpServletResponse.sendRedirect方法,在调用它们之前,都不能有内容已经被实际输出到了客户端。
如果缓冲区中已经有了一些内容,这些内容将被从缓冲区中清除。
12、怎样使用request、session和application对象进行参数存取?
答:
13、简述JSP的执行过程。
答:
1.JSP文件首先要翻译成Java文件(Servlet),在Tomacat中翻译后的java文件在tomcat的work\Catalina\localhost中相应的名字的应用目录里。
2.编译Java文件
3.运行.class文件
14.两种跳转方式分别是什么?
有什么区别?
答:
includepage="included.jsp"flush="true">和
forwardpage="nextpage.jsp"/>
include>操作允许在请求是在现成的JSP页面里包含静态或者动态资源。
forward>操作允许将请求转发到另一个JSP、servlet或静态资源文件。
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。
执行完后还会回来,相当于函数调用。
并且可以带参数.后者完全转向新页面,不会再回来。
相当于goto语句。
五、阅读与编程:
1、分析下面的代码,写出include.jsp的运行结果。
include.jsp代码:
<%@ page contentType="text/html;charset=GBK" %>
这里是显