`
未雨绸缪
  • 浏览: 215101 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

Servlet面试题目

阅读更多

servlet笔试题目

1.说一说Servlet的生命周期?
答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

2.JAVA SERVLET API中forward() 与redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

3.Servlet的基本架构
答:
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
}

4.什么情况下调用doGet()和doPost()?
答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。

5.servlet的生命周期
答:web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。

6.如何现实servlet的单线程模式
答:<%@ page isThreadSafe="false"%>

7. 页面间对象传递的方法
答:request,session,application,cookie等

8.四种会话跟踪技术
答:会话作用域ServletsJSP 页面描述
page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面
request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域

9.Request对象的主要方法
答:
setAttribute(String name,Object):设置名字为name的request的参数值
getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回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():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性

10.我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
答:
Public String translate (String str) {
String tempStr = "";
try {
tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
tempStr = tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;
}

11.Servlet执行时一般实现哪几个方法?
答:
public void init(ServletConfig config)
public ServletConfig getServletConfig()
public String getServletInfo()
public void service(ServletRequest request,ServletResponse response)
public void destroy()

12.说出数据连接池的工作机制是什么?
答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

13.Class.forName的作用?为什么要用?
答:调用该访问返回一个以字符串指定类名的类的对象。

分享到:
评论

相关推荐

    Java面试题,jsp&servlet面试题

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

    Java常见笔试,面试题目深度剖析

    Java作为一门广泛使用的编程语言,其笔试和面试题目往往涵盖了多个核心领域。下面将对这些领域进行深入解析,帮助你更好地准备Java相关的技术面试。 ### 字符串(String) 字符串在Java中是常用的数据结构,面试中...

    java面试题目java面试题目

    WEB部分:涵盖了Servlet、JSP、过滤器、监听器等Web开发技术,以及HTTP协议和MVC设计模式。 EJB(Enterprise JavaBeans)是Java EE中用于构建企业级应用的组件模型,Spring框架则是一个轻量级的替代品,提供了依赖...

    J2EE面试题目经典的JAVA面试题目

    以下是对这些面试题目的详细解析: 1. 访问JSP页面的URL:在J2EE应用中,如果JSP文件位于`%TOMCAT_HOME%/webapps/helloapp/hello/hello.jsp`,正确的URL应包括应用名、目录结构和文件名,因此答案是(C)`...

    计算机专业面试题目大杂烩

    在这个"计算机专业面试题目大杂烩"中,我们重点会看到与逻辑测试、智商测试以及Java相关的内容,特别是Java的两个核心领域——J2SE(Java Standard Edition)和J2EE(Java Enterprise Edition)。 首先,逻辑测试题...

    Servlet面试题.pdf

    面试中,Servlet相关的题目主要涉及其生命周期、方法、接口、以及与其他技术如MVC、JSP、HTTP协议等的交互。 1. 销毁session对象时,应调用`session.invalidate()`方法。这个方法会终止session,清除所有绑定到它的...

    java 最新面试题目``

    【Java最新面试题目解析】 1、面向对象的特征: 面向对象编程(OOP)的核心特征包括抽象、继承、封装和多态性。 - 抽象:抽象是将复杂问题简化的过程,关注对象的关键特性和行为,忽略不重要的细节。抽象分为过程...

    SSH经典面试题目集合

    ### SSH经典面试题目集合 #### 1. Hibernate工作原理及为何使用? - **工作原理**: - **读取并解析配置文件**:在启动应用时,Hibernate会首先读取`hibernate.cfg.xml`配置文件,该文件包含了连接数据库的基本...

    Java基础知识面试题目

    ### Java基础知识面试题目详解 #### 一、Java基础知识 **1. Java基本数据类型与String** Java中的基本数据类型包括整数类型(`byte`, `short`, `int`, `long`),浮点类型(`float`, `double`),字符类型(`char...

    软件公司面试题目

    以上就是从“软件公司面试题目”中提取的关键Java知识点,涵盖了Java基础、面向对象特性、集合类、Servlet、J2EE架构等多个方面。对于每一个Java学习者来说,这些都是非常重要的知识点,有助于深入理解Java编程语言...

    软件公司笔试面试题目大全

    本资源"软件公司笔试面试题目大全"集合了多种编程语言和技术领域的题目,旨在帮助求职者充分准备,提高成功几率。以下是对各标签涉及知识点的详细说明: 1. **Java笔试**:Java是一种广泛使用的面向对象编程语言,...

    这是一个关于软件测试面试题目的列表,收集了关于测试理论,自动化测试,性能测试以及其他一些软件测试相关的面试题目

    这是一个关于软件测试面试题目的列表,收集了关于测试理论,自动化测试,性能测试以及其他一些软件测试相关的面试题目。 【软件测试面试问题】 本文收录软件测试面试过程中常见的面试题.一些问题是从网上搜罗而来,...

    JAVA面试题目集合word文档

    这份"JAVA面试题目集合word文档"涵盖了多个关键领域,包括Java基础、Servlet、JDBC与JDO、EJB、J2EE、MVC架构以及设计模式和JavaScript。下面将详细讨论这些领域的重点知识。 首先,Java基础是任何Java开发者必须...

    强大的jsp面试题目

    为了帮助求职者更好地准备与JSP相关的面试,以下将对“强大的JSP面试题目”中的关键知识点进行深入解析,涵盖MVC模式、JSP指令、Servlet工作原理、J2EE框架、Web服务等核心概念。 #### JSP与MVC模式 MVC(Model-...

    J2EE面试题目.doc

    J2EE面试题目通常涉及到Java Web开发的核心技术,如JSP和Servlet,以及它们与HTTP协议、Servlet容器、Web应用结构等的关系。以下是对部分题目的解析和扩展知识讲解: 1. 第一题考察的是JSP的URL路径。正确答案是(C...

    经典java 和c++面试题目

    ### 经典 Java 和 C++ 面试题目解析 #### 一、Java 相关基础知识 1. **面向对象的特征有哪些方面?** - **抽象**:面向对象编程中的抽象是指通过提取对象的关键属性和行为来创建类的过程。在 Java 中,抽象可以...

    常用的Java面试题目汇总

    Java作为一门广泛使用的编程语言,其面试题目涵盖了基础语法、面向对象、集合框架、多线程、异常处理、IO流、网络编程、JVM优化、设计模式等多个方面。以下是一些基于给定文件名的常见Java面试知识点: 1. **Java ...

Global site tag (gtag.js) - Google Analytics