`

JSP和Servlet面试题精选

阅读更多

1,JSP的内置对象有哪些?

答:JSP共有9个内置对象分别是:

request:用户端请求,此请求会包含来自GET/POST请求的参数

response:网页传回用户端的回应

pageContext:管理网页的属性

session:与请求有关的会话期

application:Servlet正在执行的内容

out:用来传送回应的输出

config:servlet的构架部件,配置信息

page:表示JSP网页本身

exception:异常,未捕捉的例外

2,JSP有哪些动作分别是什么?

答:jsp共有6个基本动作

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

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

jsp:setProperty:设置JavaBean的属性

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

jsp:foward:把请求转到一个新页面

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

3,JSP中动态include和静态include的区别

答:动态include用jsp:include动作实现,它总是会检查所包含文件中的变化,适合用于包含动态页面,并且可以代参数

静态include用include伪码实现,并不会检查包含文件的变化,适用于包含静态页面

4,两种跳转方式分别是什么有什么区别?

答:1.forward跳转:<jsp:forward page="跳转页面地址" />

2.response跳转:response.sendRedirect("跳转页面地址");

两种跳转的区别如下:1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用<jsp:param name="参数名" value="参数值" />传递参数。

2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。

5,如何实现servlet单线程模式

答:<%@ page isThreadSafe="false" %>

6,JSP和Servlet有哪些相同点和不同点?

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

7,说说四种会话跟踪技术

答:1,page是代表与一个页面相关的对象和属性。一个页面由一个编译好的java servlet类(可以带有任何的include指令,但是没有include动作)表示。这既包括servlet又包括被编译成servlet的jsp页面。

2,request是代表与web客户端发送的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个web组件

3,session代表与用于某个web客户端的一个用户体验相关的对象和属性,一个web会话可以也经常会跨越多个客户机请求。

4,application是代表与整个web应用程序相关的对象和属性,这实质上是跨越多个web应用程序,包括多个页面、请求和会话的一个全局作用域。

8,说说Request对象的主要方法。

答:setAttribute(String name,Object,object):设置名字为name的request的参数值

getAttribute(String name)返回由name指定的属性值

getAttributeName():返回request对象所有属性的名字的集合,结果是一个枚举实例。

getCookies();返回客户端所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding();返回请求中的字符编码方式

getContentLength():返回请求的Body的长度

getHeader(String name):获得HTTP协议定义的文件头信息

getHeaders(String name):返回指定名字的request Header的所有值,结果为一个枚举实例

getHeaderNames():返回所有request Header的名字,结果为一个枚举实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器传送数据的方法

getParameter(String name):获得客户端传送给服务器的name指定的参数值

getParameterNames():获得客户端传送给服务器的所有参数名字,结果为一个枚举实例

getParameterValues(String name):获得有name指定的参数的所有值

getProtocol():获得客户端向服务器传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURL():获得发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名称

getSession(Boolean create):返回和请求相关的session

getServerName():获取服务器的名称

getServletPath():获取客户端所有请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(String name):删除请求中的一个属性

9,如何防止在JSP或servlet中的输出不被browser保存在cache中?

答:把一下脚本加入到jsp文件中即可

<%

response.setHeader("Cache-Control","no-store");

response.setHeader("Pragma","no-cache");

response.setDateHeader("Expires",0);

%>

10,在JSP中如何设置cookie?

答:设置

<%

    Cookie mycookie=new Cookie("aName","aValue");

   response.addCookie(mycookie);

%>

删除:

<%

Cookie killMyCookie=new Cookie("mycookie",null);

killMyCookie.setMaxAge(0);

killMyCookie.setPath("/");

response.addCookie(killMyCookie);

%>


分享到:
评论
29 楼 xhalg 2011-04-16  
呵呵,面试初级的时候还是可以用的。
28 楼 myter7 2011-04-15  
总结的不错, 不过千万别记, 面试考这个也纯属无聊。

ps:API是用来查的, 不是用来记的, 记常用的就行了。 当然排除你拿它来锻炼记忆力。
27 楼 lokinell2006 2011-04-15  
<div class="quote_title">wustrive_2008 写道</div>
<div class="quote_div">
<p><span style="color: #ff6600; font-size: small;">1,JSP的内置对象有哪些?</span>
</p>
<p><span style="font-size: small;">答:JSP共有9个内置对象分别是:</span>
</p>
<p><span style="font-size: small;">request:用户端请求,此请求会包含来自GET/POST请求的参数</span>
</p>
<p><span style="font-size: small;">response:网页传回用户端的回应</span>
</p>
<p><span style="font-size: small;">pageContext:管理网页的属性</span>
</p>
<p><span style="font-size: small;">session:与请求有关的会话期</span>
</p>
<p><span style="font-size: small;">application:Servlet正在执行的内容</span>
</p>
<p><span style="font-size: small;">out:用来传送回应的输出</span>
</p>
<p><span style="font-size: small;">config:servlet的构架部件,配置信息</span>
</p>
<p><span style="font-size: small;">page:表示JSP网页本身</span>
</p>
<p><span style="font-size: small;">exception:异常,未捕捉的例外</span>
</p>
<p><span style="color: #ff6600; font-size: small;">2,JSP有哪些动作分别是什么?</span>
</p>
<p><span style="font-size: small;">答:jsp共有6个基本动作</span>
</p>
<p><span style="font-size: small;">jsp:include:在页面被请求的时候引入一个文件</span>
</p>
<p><span style="font-size: small;">jsp:useBean:寻找或者实例化一个JavaBean</span>
</p>
<p><span style="font-size: small;">jsp:setProperty:设置JavaBean的属性</span>
</p>
<p><span style="font-size: small;">jsp:getProperty:输出某个JavaBean的属性</span>
</p>
<p><span style="font-size: small;">jsp:foward:把请求转到一个新页面</span>
</p>
<p><span style="font-size: small;">jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记</span>
</p>
<p><span style="color: #ff6600; font-size: small;">3,JSP中动态include和静态include的区别</span>
</p>
<p><span style="font-size: small;">答:动态include用jsp:include动作实现,它总是会检查所包含文件中的变化,适合用于包含动态页面,并且可以代参数</span>
</p>
<p><span style="font-size: small;">静态include用include伪码实现,并不会检查包含文件的变化,适用于包含静态页面</span>
</p>
<p><span style="color: #ff6600; font-size: small;">4,两种跳转方式分别是什么有什么区别?</span>
</p>
<p><span style="font-size: small;">答:1.forward跳转:&lt;jsp:forward page="跳转页面地址" /&gt;</span>
</p>
<p><span style="font-size: small;">2.response跳转:response.sendRedirect("跳转页面地址");</span>
</p>
<p><span style="font-size: small;">两种跳转的区别如下:1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用&lt;jsp:param name="参数名" value="参数值" /&gt;传递参数。</span>
</p>
<p><span style="font-size: small;">2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。
</span>
</p>
<p><span style="color: #ff6600; font-size: small;">5,如何实现servlet单线程模式</span>
</p>
<p><span style="font-size: small;">答:&lt;%@ page isThreadSafe="false" %&gt;</span>
</p>
<p><span style="color: #ff6600; font-size: small;">6,JSP和Servlet有哪些相同点和不同点?</span>
</p>
<p><span style="font-size: small;">答:Jsp是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外部表达。JSP编译后是“类 servlet”。Servlet和JSP最主要的不同点在于Servlet的应用逻辑是在java文件中,并且完全从表示层中HTML里分离出来,而jsp是java和html结合成一个扩展名为.jsp的文件,JSP侧重于视图,servlet侧重于控制逻辑。</span>
</p>
<p><span style="color: #ff6600; font-size: small;">7,说说四种会话跟踪技术</span>
</p>
<p><span style="font-size: small;">答:1,page是代表与一个页面相关的对象和属性。一个页面由一个编译好的java servlet类(可以带有任何的include指令,但是没有include动作)表示。这既包括servlet又包括被编译成servlet的jsp页面。</span>
</p>
<p><span style="font-size: small;">2,request是代表与web客户端发送的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个web组件</span>
</p>
<p><span style="font-size: small;">3,session代表与用于某个web客户端的一个用户体验相关的对象和属性,一个web会话可以也经常会跨越多个客户机请求。</span>
</p>
<p><span style="font-size: small;">4,application是代表与整个web应用程序相关的对象和属性,这实质上是跨越多个web应用程序,包括多个页面、请求和会话的一个全局作用域。</span>
</p>
<p><span style="color: #ff6600; font-size: small;">8,说说Request对象的主要方法。</span>
</p>
<p><span style="font-size: small;">答:setAttribute(String name,Object,object):设置名字为name的request的参数值</span>
</p>
<p><span style="font-size: small;">getAttribute(String name)返回由name指定的属性值</span>
</p>
<p><span style="font-size: small;">getAttributeName():返回request对象所有属性的名字的集合,结果是一个枚举实例。</span>
</p>
<p><span style="font-size: small;">getCookies();返回客户端所有Cookie对象,结果是一个Cookie数组</span>
</p>
<p><span style="font-size: small;">getCharacterEncoding();返回请求中的字符编码方式</span>
</p>
<p><span style="font-size: small;">getContentLength():返回请求的Body的长度</span>
</p>
<p><span style="font-size: small;">getHeader(String name):获得HTTP协议定义的文件头信息</span>
</p>
<p><span style="font-size: small;">getHeaders(String name):返回指定名字的request Header的所有值,结果为一个枚举实例</span>
</p>
<p><span style="font-size: small;">getHeaderNames():返回所有request Header的名字,结果为一个枚举实例</span>
</p>
<p><span style="font-size: small;">getInputStream():返回请求的输入流,用于获得请求中的数据</span>
</p>
<p><span style="font-size: small;">getMethod():获得客户端向服务器传送数据的方法</span>
</p>
<p><span style="font-size: small;">getParameter(String name):获得客户端传送给服务器的name指定的参数值</span>
</p>
<p><span style="font-size: small;">getParameterNames():获得客户端传送给服务器的所有参数名字,结果为一个枚举实例</span>
</p>
<p><span style="font-size: small;">getParameterValues(String name):获得有name指定的参数的所有值</span>
</p>
<p><span style="font-size: small;">getProtocol():获得客户端向服务器传送数据所依据的协议名称</span>
</p>
<p><span style="font-size: small;">getQueryString():获得查询字符串</span>
</p>
<p><span style="font-size: small;">getRequestURL():获得发出请求字符串的客户端地址</span>
</p>
<p><span style="font-size: small;">getRemoteAddr():获取客户端的IP地址</span>
</p>
<p><span style="font-size: small;">getRemoteHost():获取客户端的名称</span>
</p>
<p><span style="font-size: small;">getSession(Boolean create):返回和请求相关的session</span>
</p>
<p><span style="font-size: small;">getServerName():获取服务器的名称</span>
</p>
<p><span style="font-size: small;">getServletPath():获取客户端所有请求的脚本文件的路径</span>
</p>
<p><span style="font-size: small;">getServerPort():获取服务器的端口号</span>
</p>
<p><span style="font-size: small;">removeAttribute(String name):删除请求中的一个属性</span>
</p>
<p><span style="color: #ff6600; font-size: small;">9,如何防止在JSP或servlet中的输出不被browser保存在cache中?</span>
</p>
<p><span style="font-size: small;">答:把一下脚本加入到jsp文件中即可</span>
</p>
<p><span style="font-size: small;">&lt;%</span>
</p>
<p><span style="font-size: small;">response.setHeader("Cache-Control","no-store");</span>
</p>
<p><span style="font-size: small;">response.setHeader("Pragma","no-cache");<br></span>
</p>
<p><span style="font-size: small;">response.setDateHeader("Expires",0);<br></span>
</p>
<p><span style="font-size: small;">%&gt;</span>
</p>
<p><span style="color: #ff6600; font-size: small;">10,在JSP中如何设置cookie?</span>
</p>
<p><span style="font-size: small;">答:设置</span>
</p>
<p><span style="font-size: small;">&lt;%</span>
</p>
<p><span style="font-size: small;">    Cookie mycookie=new Cookie("aName","aValue");</span>
</p>
<p><span style="font-size: small;">   response.addCookie(mycookie);<br></span>
</p>
<p><span style="font-size: small;">%&gt;</span>
</p>
<p><span style="font-size: small;">删除:</span>
</p>
<p><span style="font-size: small;">&lt;%</span>
</p>
<p><span style="font-size: small;">Cookie killMyCookie=new Cookie("mycookie",null);</span>
</p>
<p><span style="font-size: small;">killMyCookie.setMaxAge(0);</span>
</p>
<p><span style="font-size: small;">killMyCookie.setPath("/");</span>
</p>
<p><span style="font-size: small;">response.addCookie(killMyCookie);<br></span>
</p>
<p><span style="font-size: small;">%&gt;<br></span>
</p>
<p> </p>
<p>JSP可以淘汰了!用JSF+facelet吧</p>
</div>
<p> </p>
26 楼 youaretheboy 2011-04-14  
现在面试很少问这东西了吧?
25 楼 xici_magic 2011-04-14  
都是基础  有些确实会被问到
24 楼 iOracleSun 2011-04-14  
嘿嘿,我面试JAVA开发人员时,就问人家,如果自定义类所创建的一个对象数组要支持collection的sort排序,需要实现哪个接口类。。。有点可悲,好多人答不上来,甚至工作5年左右的都答不上来,这个用法,在实际项目经常要用到啊。。。
23 楼 wustrive_2008 2011-04-14  
谢谢大家关注本帖,本人即将毕业,现正在找工作中,面试J2EE方向,希望各位多给给意见和建议!
22 楼 jzinfo 2011-04-14  
几乎没人问这个了吧...
21 楼 dengzhangtao 2011-04-14  
复习复习还是不错的,今天又复习了
20 楼 witcheryne 2011-04-14  
总结的挺详细...

servlet生命周期,线程安全问题
jsp转移编译问题,没见楼主提到...
19 楼 isaac.198 2011-04-14  
yangyi 写道
招API手册?买本书不就行了

是有点像招API手册,不过,如果40%你都不会的话,我想我是不会要你的。
18 楼 pengzhuo 2011-04-14  
这东西在面试中有提到?????面试官到底希望考察什么呢?
17 楼 xiaojing3517 2011-04-14  
wustrive_2008 写道
cleverbing 写道
wustrive_2008 写道
可惜没有机会面试啊!

为啥?????

快毕业了,还没找到工作?悲剧,郑州的软件那么垃圾,还要求高工资低!

眼高手低。
16 楼 yanzhexian 2011-04-14  
现在人都问struts2之类的东西鸟
15 楼 落寞BB 2011-04-14  
看一下 还是有用的 了解快一些
14 楼 dahai2008lsh 2011-04-14  
额 还真有几个没记住
13 楼 wustrive_2008 2011-04-14  
cleverbing 写道
wustrive_2008 写道
可惜没有机会面试啊!

为啥?????

快毕业了,还没找到工作?悲剧,郑州的软件那么垃圾,还要求高工资低!
12 楼 Java_大猫 2011-04-14  
很多面试文档都有啊。。。。
11 楼 hyj1254 2011-04-14  
恩 ,得看看,越是基础越容易丢人。。
10 楼 optimism_best 2011-04-13  
今年面试没碰到过

相关推荐

    JSP和Servlet面试题

    常考面试题 1.讲下servlet的执行流程。 Servlet的执行流程也就是servlet的生命周期,当服务器启动的时候生命周期开始,然后通过init()《启动顺序根据web.xml里的startup-on-load来确定加载顺序》 方法初始化...

    jsp及Servlet面试题

    收集的有关于jsp 和servlet的面试题。仅供大家参考,

    JSP+Servlet面试题

    JSP + Servlet 面试题知识点总结 以下是 JSP 和 Servlet 相关的知识点总结: 一、JSP 和 Servlet 基础知识 * JSP 和 Servlet 都是服务器端执行的,通常返回给客户端的是一个 HTML 文本。 * JSP 在服务器上执行,...

    jsp servlet面试题总结

    jsp servlet面试题总结 jsp 中九大内置对象为: 1. request 请求对象,类型 javax.servlet.ServletRequest,作用域 Request 2. response 响应对象,类型 javax.servlet.SrvletResponse,作用域 Page 3. ...

    Java面试题,jsp&servlet面试题

    Java是企业级应用开发的...这些面试题涵盖了Java基础、集合框架、多线程、网络编程、Servlet和JSP等多个核心领域,全面展示了开发者应该具备的技能和知识。理解和掌握这些内容对于成为一名优秀的Java开发人员至关重要。

    J2EE技术面试题 EJB面试题 JDBC面试题 JSP面试题 Servlet面试题

    5. **Servlet面试题**: - Servlet的生命周期,包括初始化、服务和销毁方法。 - Servlet的多线程问题,如何处理并发请求? - Servlet配置文件web.xml中,servlet和servlet-mapping元素的作用。 - 什么是Filter和...

    关于servlet和jsp常见面试题

    总结了最近去面试遇见的一些servlet和jsp的面试题,自己总结并风分享给大家。

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料.zip

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料: 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx ...

    JSP_Servlet面试题[定义].pdf

    以下是一些关于JSP Servlet面试题的详细解析: 1. XML标签`&lt;servlet-class&gt;`用于指定Servlet的类名,正确选项是A:`&lt;servlet-class&gt;com.abciinc.OrderServlet&lt;/servlet-class&gt;`。 2. 当点击HTML超级链接时,会触发...

    JSP/Servlet Java面试逻辑题

    7、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是类servlet。Servlet和JSP最主要的不同点在于,Servlet...

    servlet面试题

    尽管JSP和Servlet都是用于动态网页开发的技术,但它们之间存在一些关键的区别: 1. **编写方式**: - Servlet使用纯Java代码编写,更适合于处理业务逻辑。 - JSP则是HTML与Java的混合,主要用于生成动态HTML页面...

    servlet和JSP面试题大全

    ### servlet和JSP面试题详解 #### 一、JSP中的九大内置对象 JSP提供了九个内置对象,这些对象简化了开发人员的工作,使得在编写JSP页面时可以直接使用而无需声明。以下是九大内置对象及其说明: 1. **request** -...

    jsp页经典面试题java程序员面试经常考到的面试题总结.pdf

    jsp页经典面试题java程序员面试经常考到的面试题总结 jsp是一种基于Java技术的服务器端编程语言,广泛应用于Web开发中。以下是jsp页经典面试题总结,涵盖了jsp的基本概念、jsp与ssi的混合使用、线程安全、html表单...

    关于Jsp的面试题,(详细)

    本文对 JSP 面试题进行了详细的解析,涵盖了 JSP 的基础知识、内置对象、指令、生命周期、单线程模式、页面间对象传递、JSP 和 Servlet 的区别等方面。 JSP 的基础知识 JSP(Java Server Pages)是一种基于 Java ...

    java面试题(包括ejb,hibernate,java,jsp,servlet,js等)

    在Java领域,面试题涵盖了广泛的主题,包括企业级Java(EJB)、持久层框架Hibernate、核心Java、服务器端脚本JSP、请求处理Servlet以及客户端脚本JavaScript。这些技术是现代Java开发的基础,对于任何Java开发者来说...

    jsp+servlet+mysql+mvc模式增删改查面试题

    本文将深入探讨基于`jsp`、`servlet`、`mysql`和`mvc`模式构建的增删改查(CRUD)系统在面试中的相关知识点。首先,我们要理解这些技术的基础概念和它们如何协同工作。 1. **JSP (JavaServer Pages)** JSP是一种...

    JSP+SERVLET+JAVABEAN笔试试题

    **JSP、Servlet和JavaBean是Java Web开发中的核心组件,它们在构建动态网页和企业级应用程序中扮演着重要角色。以下是对这三个概念及其相关知识点的详细解释:** ### JSP(JavaServer Pages) JSP是一种服务器端...

    servlet和JSP面试题答案.pdf

    Servlet 和 JSP 面试题答案 Servlet 和 JSP 是 Java Web 开发中两个非常重要的技术。下面是对 Servlet 和 JSP 面试题答案的总结。 JSP 中的九大内置对象 在 JSP 中,有九大内置对象,分别是: 1. request 请求...

    Web编程Jsp&Servlet技术面试题.doc

    Web编程中的JSP(JavaServer Pages)和Servlet是两种核心的技术,它们被广泛应用于构建动态网页应用程序。在面试中,了解这些技术的基本概念、工作原理和相关实践是至关重要的。 1. **Tomcat配置**: - `JAVA_HOME...

Global site tag (gtag.js) - Google Analytics