javaweb面试题Word文档下载推荐.docx

上传人:b****8 文档编号:22514478 上传时间:2023-02-04 格式:DOCX 页数:17 大小:27.73KB
下载 相关 举报
javaweb面试题Word文档下载推荐.docx_第1页
第1页 / 共17页
javaweb面试题Word文档下载推荐.docx_第2页
第2页 / 共17页
javaweb面试题Word文档下载推荐.docx_第3页
第3页 / 共17页
javaweb面试题Word文档下载推荐.docx_第4页
第4页 / 共17页
javaweb面试题Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

javaweb面试题Word文档下载推荐.docx

《javaweb面试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《javaweb面试题Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

javaweb面试题Word文档下载推荐.docx

在默认情况下,在对一个JSP页面发出请求时,如果session还没有建立,JSP页面会自动为请求建立一个session对象,但是session是比较消耗资源的,如果没必要保持和使用session,就不应该创建session,例如一些只是用来宣传产品的网站,往往没必要使用session来保存信息,可以使用jsp页面指令session=”false”来避免JSP页面为每个请求都自动创建session.实例代码如下:

%@pagesession=”false”>

5、在servlets和JSP之间能共享session对象吗?

当然可以,

HttpSessionsession=request.getSession(true);

session.putValue(”variable”,”value”);

6、Servlet都有哪些方法?

主要作用是什么?

HttpServlet类包含init()、destroy()、service()等方法。

其中init()和destroy()方法是继承的。

(1)init()方法

在Servlet的生命期中,仅执行一次init()方法。

它是在服务器装入Servlet时执行的。

可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。

无论有多少客户机访问Servlet,都不会重复执行init()。

缺省的init()方法通常是符合要求的,但也可以用定制init()方法来覆盖它,典型的是管理服务器端资源。

例如,可能编写一个定制init()来只用于一次装入GIF图像,改进Servlet返回GIF图像和含有多个客户机请求的性能。

另一个示例是初始化数据库连接。

缺省的init()方法设置了Servlet的初始化参数,并用它的ServletConfig对象参数来启动配置,因此所有覆盖init()方法的Servlet应调用super.init()以确保仍然执行这些任务。

在调用service()方法之前,应确保已完成了init()方法。

(2)service()方法

service()方法是Servlet的核心。

每当一个客户请求一个HttpServlet对象,该对象的service()方法就要被调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。

在HttpServlet中已存在service()方法。

缺省的服务功能是调用与HTTP请求的方法相应的do功能。

例如,如果HTTP请求方法为GET,则缺省情况下就调用doGet()。

Servlet应该为Servlet支持的HTTP方法覆盖do功能。

因为HttpServlet.service()方法会检查请求方法是否调用了适当的处理方法,不必要覆盖service()方法。

只需覆盖相应的do方法就可以了。

=当一个客户通过HTML表单发出一个HTTPPOST请求时,doPost()方法被调用。

与POST请求相关的参数作为一个单独的HTTP请求从浏览器发送到服务器。

当需要修改服务器端的数据时,应该使用doPost()方法。

=当一个客户通过HTML表单发出一个HTTPGET请求或直接请求一个URL时,doGet()方法被调用。

与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。

当不会修改服务器端的数据时,应该使用doGet()方法。

Servlet的响应可以是下列几种类型:

一个输出流,浏览器根据它的内容类型(如text/HTML)进行解释。

一个HTTP错误响应,重定向到另一个URL、servlet、JSP。

(3)destroy()方法

destroy()方法仅执行一次,即在服务器停止且卸装Servlet时执行该方法。

典型的,将Servlet作为服务器进程的一部分来关闭。

缺省的destroy()方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。

例如,如果Servlet在运行时会累计统计数据,则可以编写一个destroy()方法,该方法用于在未装入Servlet时将统计数字保存在文件中。

另一个示例是关闭数据库连接。

当服务器卸装Servlet时,将在所有service()方法调用完成后,或在指定的时间间隔过后调用destroy()方法。

一个Servlet在运行service()方法时可能会产生其它的线程,因此请确认在调用destroy()方法时,这些线程已终止或完成。

(4)GetServletConfig()方法

GetServletConfig()方法返回一个ServletConfig对象,该对象用来返回初始化参数和ServletContext。

ServletContext接口提供有关servlet的环境信息。

(5)GetServletInfo()方法

GetServletInfo()方法是一个可选的方法,它提供有关servlet的信息,如作者、版本、版权。

当服务器调用sevlet的Service()、doGet()和doPost()这三个方法时,均需要“请求”和“响应”对象作为参数。

“请求”对象提供有关请求的信息,而“响应”对象提供了一个将响应信息返回给浏览器的一个通信途径。

javax.servlet软件包中的相关类为ServletResponse和ServletRequest,而javax.servlet.http软件包中的相关类为HttpServletRequest和HttpServletResponse。

Servlet通过这些对象与服务器通信并最终与客户机通信。

Servlet能通过调用“请求”对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。

Servlet可以调用“响应”对象的方法发送响应,该响应是准备发回客户机的。

7、JavaServlet的主要功能和作用是什么?

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可以修改如何认证用户。

8、Request对象的主要方法有哪些?

setAttribute(Stringname,Object):

设置名字为name的request的参数值

getAttribute(Stringname):

返回由name指定的属性值

getAttributeNames():

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

getCookies():

返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():

返回请求中的字符编码方式

getContentLength():

返回请求的Body的长度

实例

getInputStream():

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

getMethod():

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

getParameter(Stringname):

获得客户端传送给服务器端的有name指定的参数值

getParameterNames():

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

getParameterValues(Stringname):

获得有name指定的参数的所有值

getProtocol():

获取客户端向服务器端传送数据所依据的协议名称

getQueryString():

获得查询字符串

getRequestURI():

获取发出请求字符串的客户端地址

getRemoteAddr():

获取客户端的IP地址

getRemoteHost():

获取客户端的名字

getSession([Booleancreate]):

返回和请求相关Session

getServerName():

获取服务器的名字

getServletPath():

获取客户端所请求的脚本文件的路径

getServerPort():

获取服务器的端口号

removeAttribute(Stringname):

删除请求中的一个属性

9、使用JSP连接到数据库连接缓冲池的最好方法是什么?

1.使用JDBC2。

0中带有此服务的Driver

2.使用提供有此服务的Applicationserver

3.自己写

10、在JSP中如何写文本文件?

使用PrintWriter对象,如:

%@pageimport=”java.io.*”%>

%

Stringstr=“printme”;

StringnameOfTextFile=“/usr/anil/imp.txt”;

try{

PrintWriterpw=newPrintWriter(newFileOutputStream(nameOfTextFile));

pw.println(str);

pw.close();

}catch(IOExceptione){

out.println(e.getMessage());

11、JSP的缺点?

1.对JAVA程序进行调试没有好东东

2.因大多数的servlet引擎不支持connectionpooling

3.Servlet引擎没有标准

4.JSP与其它脚本语言的交互

12、在JSP中如何删除一个COOKIE?

CookiekillMyCookie=newCookie(”mycookie”,null);

killMyCookie.setMaxAge(0);

killMyCookie.setPath(”/”);

response.addCookie(killMyCookie);

13、如何现实servlet的单线程模式?

%@pageisThreadSafe=”false”%>

14、说出Servlet和CGI的区别?

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

15、Servlet的生命周期?

Servlet是一种可以在Servlet容器中运行的组件,那么理所当然就应该有一个从创建到销毁的过程,这个过程我们可以称之为Servlet生命周期。

Servlet的生命周期可以分为加载、实例化、初始化、处理客户请求和卸载五个阶段,体现在方法上主要是init()、service()和destroy()三个方法。

生命周期的具体说明如下:

·

 

Servlet容器完成加载Servlet类和实例化一个Servlet对象

init()方法完成初始化工作,该方法由Servlet容器调用完成

service()方法处理客户端请求,并返回响应结果

destroy()方法在Servlet容器卸载Servlet之前被调用,释放一些资源

16、介绍一下javax.servlet.Servlet接口及其主要方法?

Servlet接口的主要作用是提供Servlet生命周期的init()、service()和destroy()方法。

servlet接口中的主要方法有:

voidinit(ServletConfitconfig)throwsServletException 

在servlet被载入后和实施服务前由servlet引擎进行一次性调用。

如果init()产生溢出UnavailableException,则servle退出服务。

ServletConfiggetServletConfig() 

返回传递到servlet的init()方法的ServletConfig对象

voidservice(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException 

处理request对象中描述的请求,使用response对象返回请求结果

StringgetServletInfo() 

返回描述servlet的一个字符串

voiddestory() 

当servlet将要卸载时由servlet引擎调用,销毁Servlet实例。

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

各自的作用是什么?

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

VoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

由servlet引擎调用用处理一个HTTPGET请求。

输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。

VoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

由servlet引擎调用用处理一个HTTPPOST请求。

VoiddoPut(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

由servlet引擎调用用处理一个HTTPPUT请求。

本方法中请求URI指出被载入的文件位置。

VoiddoDelete(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

由servlet引擎调用用处理一个HTTPDELETE请求。

请求URI指出资源被删除。

VoiddoOptions(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

由servlet引擎调用用处理一个HTTPOPTIONS请求。

返回一个Allow响应头标表明此servlet支持的HTTP方法。

一个servlet不需要覆盖此方法,因为HttpServlet方法已经实现规范所需的功能。

VoiddoTrace(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

由servlet引擎调用用处理一个HTTPTRACE请求。

使得请求头标被反馈成响应关标。

一个servlet不需要覆盖此方法,因为HttpServlet方法已经实现HTTP规范所需的功能。

Voidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException 

Service(Requestrequest,Responseresponse)调用的一个立即方法,带有指定HTTP请求和响应。

此方法实际上将请求导向doGet()、doPost()等等。

不应该覆盖此方法。

Voidservice(Requestrequest,Responseresponse)throwsServletException,IOException 

将请求和响应对象置入其指定的HTTP子类,并调用指定HTTP的service()方法。

18、XML文档定义有几种形式?

它们之间有何本质区别?

解析XML文档有哪几种方式?

a:

两种形式dtdschema,

b:

本质区别:

schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的)。

c:

有DOM,SAX,STAX等

DOM:

处理大型文件时其性能下降的非常厉害。

这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问;

SAX:

不现于DOM,SAX是事件驱动型的XML解析方式。

它顺序读取XML文件,不需要一次全部装载整个文件。

当遇到像文件开头,文档结束,或者标

签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

STAX:

StreamingAPIforXML(StAX)

19、你在项目中用到了xml技术的哪些方面?

如何实现的?

用到了数据存贮,信息配置两方面。

在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。

在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。

20、说说JSP内置对象包含几部分,九大内置对象及其作用。

21.JSP乱码问题,post提交数据和get(url)传值,如何处理乱码问题。

1、jsp和servlet的区别、共同点、各自应用的范围?

JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。

JSP编译后是“类servlet”。

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

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

JSP侧重于视图,Servlet主要用于控制逻辑。

在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.

2、cookie和session的作用、区别、应用范围,session的工作原理?

Cookie:

主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。

Session:

保存在服务端,每一个session在服务端有一个sessionID作一个标识。

存储的数据量大,安全性高。

占用服务端的内存资源。

3、jstl是什么?

优点有哪些?

JSTL(JSPStandard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core、format、xml和sql)和一对通用标记库验证器(ScriptFreeTLV和PermittedTaglibsTLV)组成。

优点有:

1、在应用程序服务器之间提供了一致的接口,最大程序地提高了WEB应用在各应用服务器之间的移植。

2、简化了JSP和WEB应用程序的开发。

3、以一种统一的方式减少了JSP中的scriptlet代码数量,可以达到没有任何scriptlet代码的程序。

在我们公司的项目中是不允许有任何的scriptlet代码出现在JSP中。

4、允许JSP设计工具与WEB应用程序开发的进一步集成。

相信不久就会有支持JSTL的IDE开发工具出现。

4、j2ee的优越性主要表现在哪些方面?

MVC模式

a、J2EE基于JAVA技术,与平台无关

b、J2EE拥有开放标准,许多大型公司实现了对该规范支持

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1