电子书下载地址: http://wiki.jikexueyuan.com/project/java-interview-bible/
1. JSP 有哪些内置对象和动作?它们的作用分别是什么?
JSP 共有以下 9 种基本内置组件:
- request 用户端请求,此请求会包含来自GET/POST请求的参数
- response 网页传回用户端的回应
- pageContext 网页的属性是在这里管理
- session 与请求有关的会话期
- application servlet 正在执行的内容
- out 用来传送回应的输出
- config servlet的构架部件
- page JSP网页本身
- exception 针对错误网页,未捕捉的例外
常用的组件:request、response、out、session、application、exception
2. 描述 JSP 和 Servlet 的区别、共同点、各自应用的范围
答:JSP 在本质上就是 SERVLET,但是两者的创建方式不一样.Servlet 完全是 JAVA 程序代码构成,擅长于流程控制和事务处理,通过 Servlet来生成动态网页很不直观.JSP 由 HTML 代码和 JSP 标签构成,可以方便地编写动态网页.因此在实际应用中采用 Servlet 来控制业务流程,而采用 JSP 来生成动态网页.
3. 从以下哪一个选项中可以获得 Servlet的 初始化参数?
A.Servlet
B.ServletContext
C.ServletConfig
D.GenericServlet
解答:C
servlet 的生命周期的方法中有一个 init 方法,其中一个重载的 init 方法的参数为 ServletConfig 可以获取初始化参数。
4. 哪一个对象可以用于获得浏览器发送的请求?
A.HttpServletRequest
B.HttpServletResponse
C.HttpServlet
D.Http
解答:A
HttpServletRequest 中有一些方法可以获取浏览器发送的请求信息。
5. 运行 jsp 需要安装_______Web 服务器。
A.Apache
B.tomcat
C.WebLogic
D.IIS
答:BC
Apache 是 PHP 程序运行的服务器,IIS 是.net程序运行的服务器。
6. 在服务器的网络编程中,解决会话跟踪的方法有:
A. 使用Cookie。
B. 使用URL重写。
C. 使用隐藏的表单域。
D. 以上方法都不能单独使用。
答:ABC
URL 重写就是首先获得一个进入的 URL 请求然后把它重新写成网站可以处理的另一个 URL 的过程
隐藏域是在页面级保存信息。与其他用户标准控件的区别是,隐藏域不被呈现在页面中。当页面提交的时候,隐藏域中的值将被一同发送给服务端。
Cookie 是以文本存储于计算机中,使用 name-value 匹配。一般用户存储标识用户信息
7. 与 HttpSessionListener 接口有关的方法是。
A.sessionInitialized()
B.sessionCreated()
C.sessionFinialized()
D.sessionDestroyed()
答:BD
8. 关于 JSP 生命周期的叙述,下列哪些为真?
A.JSP会先解释成Servlet源文件,然后编译成Servlet类文件
B.每当用户端运行JSP时,jspInit()方法都会运行一次
C.每当用户端运行JSP时,_jspService()方法都会运行一次
D.每当用户端运行JSP时,jspDestroy()方法都会运行一次
解答:AC
9. 以下声明正确的是?
A.
B.
C.
D.<%xml-stylesheet type=”txt/css” href=”abc.css”%>
答: BC
单引号,双引号都可以使用在属性上。
10. 下列哪个为 JSP 的隐含对象?
A.env
B.page
C.jspinfo
D.context
解答:B
JSP 有九个隐含对象
request对象:保存了很多客户端请求的信息。
response对象:生成服务器端响应,然后将响应结果发送到客户端
out对象:表示输出流,此输出流将作为请求发送到客户端
session对象:我们写个对象放在这个session对象中,这个对象就在我们的会话中都存在。
application对象:我们写个对象放在这个application对象中,这个对象就在整个应用程序中都存在
pageContext对象相当于当前页面的容器,可以访问当前页面的所有对象。
paget对象:一般我们使用Page指令来替代使用这个对象
exception对象:用来处理异常的
config对象:一样的我们在页面中是使用很少的,一般会在 Servlet 中使用这个
11. 下面的那一个不属于 MVC 模式中的对象?
A. Model
B. View
C. Collection
D. Controller
答:C
MVC 是三个单词的缩写,分别为: 模型(Model),视图(View)和控制(Controller)。 MVC 模式的目的就是实现 Web 系统的职能分工。 Model 层实现系统中的业务逻辑,通常可以用 JavaBean 或 EJB 来实现。View 层用于与用户的交互,通常用 JSP 来实现。 Controller 层是 Model 与 View 之间沟通的桥梁,
它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
12. 在 Servlet 处理请求的方式为。(选择1项)
A、以进程的方式
B、以程序的方式
C、以线程的方式
D、以响应的方式
答:C
Servlet 采用多线程来处理多个请求同时访问,Servlet 容器维护了一个线程池来服务请求。
13. javax.Servlet 的包中,属于类的是。(选择1项)
A、Servlet
B、GenericServlet
C、ServletRequest
D、ServletContext
解答:B
ServletContext 和 ServletRequest 是该包下的接口。
14. Http 缺省的请求方法是。(选择1项)
A.PUT
B.GET
C.POST
D.TRACE
答:B
15. 实现现下列哪一种接口的对象,并不需要在 web.xml 文件内进行额外的设定,Servlet 容器就能够回应该对象加入 HTTP 会话所发生的事件?(选择1项)
A.ServletContextListener
B.HttpSessionListener
C.HttpSessionAttributeListener
D.HttpSessionBindingListener
解答:D
HttpSessionListener 只需要设置到 web.xml 中就可以监听整个应用中的所有 session 。
HttpSessionBindingListener 必须实例化后放入某一个 session 中,才可以进行监听
16. 下列哪个为 JSP 的小脚本的标签?(选择1项)
A.<% %>
B.<@ %>
C.<%! %>
D.<%– %>
解答:A
17. 以下不属于 JSP 的标准指令的是。(选择1项)
A.Taglib
B.Include
C.Import
D.Page
解答:C
import 是 page 指令的一个属性。
18. 对于每一个网站访问用户都要访问的变量,应该将它设为________变量。(选择1项)
A. Session
B. Reques
C. Response
D. Application
解答:D
Application 应用程序级变量
19. 查看下列 JSP 内容
<% for (int i=0;i<3;i++){ %>
out.print(i*2);
<% } %>
当这个 JSP 被运行时,其结果是什么?(选择1项)
A.此 JSP 因为语法错误,无法运行
B.显示出0,2,4
C.显示出0,2,4,6
D.显示出out.print(i2) out.print(i2) out.print(i*2)
解答:D
20. 假设 A.jsp 内设定一个
元素:
下列哪一个为真?(选择1项)
A.bean1的存取范围(scope)默认为application
B.在HTTP会话内可以存取bean1
C.只有在A.jsp内可以存取bean1
D.在A.jsp所属的Web应用程序内均可存取bean1
解答:C
bean1的存取范围(scope)默认为page
(题有一点问题 javabean的规则是要放在一个包中)
21. 在 MVC 设计模式中,JavaBean的 作用是。(选择1项)
A、Controller
B、Model
C、业务数据的封装
D、View
解答:B