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笔试题常常涉及到Java语言和J2EE框架的相关知识,以下是对这些知识点的详细解析: 1. **MVC模式**:MVC(Model-View-Controller)是一种软件设计模式,常用于构建用户界面,分离业务逻辑、数据模型和用户界面。...
为准备J2EE笔试的同学们。word格式。
Java 和 J2EE 笔试题整理涉及到许多关键知识点,以下是对这些内容的详细解析: 1. **访问修饰符的区别**: - `public`:任何地方都可以访问。 - `protected`:在同一包内及不同包的子类中可以访问。 - `friendly...
5. **笔试题要点**: - Struts中的Action和ActionForm的区别和联系。 - Spring的Bean生命周期及作用域理解。 - Hibernate的HQL和SQL的区别,以及Criteria API的使用。 - SSH整合中,如何配置Spring来管理Struts...
Java EE,通常简称为J2EE,是Java平台企业版,是Oracle公司提供的一种用于构建分布式、多层的企业级应用程序的框架。它包含了多种服务、APIs和协议,旨在简化开发、部署和管理复杂的Web应用。Java EE的核心理念是...
1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、java面试题及答案 9、java面试题编程篇 10、Oracle面试...
《J2EE笔试题目答案经典篇》是一份涵盖了J2EE技术领域多个方面的资源,旨在帮助备考者系统性地复习并解答可能出现的笔试题目。这份资料主要包括四个部分:Java基础题、JSP&Servlet技术、J2EE相关知识以及其他知识点...
总的来说,这份"J2EE笔试题集(大公司)"应该包含了上述所有内容,帮助求职者全面准备面试,以展示他们在J2EE开发中的专业技能和深度理解。通过深入学习和练习这些知识点,你将更有可能在竞争激烈的IT行业中脱颖而出。
在面试或笔试中,对于J2EE开发者,掌握JSP(JavaServer Pages)和Servlet的基本概念及其操作至关重要。下面将详细阐述JSP和Servlet的相关知识点。 1. **转发(Forward)与重定向(Redirect)的区别** - **转发...
Java 和 J2EE 笔试题知识点总结 以下是根据提供的笔试题生成的知识点总结: Java 基础 1. Java 类的加载顺序:静态块 > 构造块 > 构造方法。在上面的代码中,输出结果是"AAB"。 2. 子类继承父类:子类可以继承...
Java企业级应用(J2EE)是Java技术在大型分布式系统中的核心应用框架,它包含了丰富的组件和服务模型,用于...同时,阅读并理解“J2EE笔试面试题集”中的题目和解答,将有助于提升你的技能水平,增加面试成功的概率。
Java 2 Platform, Enterprise Edition(J2EE)是Oracle...以上知识点只是J2EE笔试和面试的一部分,实际中可能还会涉及更多如JAXB、JAF、JCA、JMS等。了解并掌握这些概念和技术,将有助于你在J2EE相关的应聘中脱颖而出。
在IT行业中,特别是Java和J2EE领域,面试和笔试题是评估求职者技术能力的重要方式。本资源集合包含了三个关键文件,分别是“JAVA面试题集合(项目11部V1.0版).chm”、“J2EE面试题.doc”以及“笔试题.doc”,这些...
这份“J2EE.zip_J2EE_Java开发笔试题_笔试_笔试题”包含了一份针对J2EE技术开发工程师的笔试题目和参考答案,旨在测试应聘者对J2EE平台的理解、应用以及问题解决能力。下面将详细探讨J2EE中的核心概念和技术,以帮助...
### J2EE笔试面试题详解 #### 一、基础问答 **1. 下面哪些类可以被继承?** - `java.lang.Thread`: 可以被继承 (`T`)。 - `java.lang.Number`: 可以被继承 (`T`)。 - `java.lang.Double`: 不可以被继承 (`F`), ...
【J2EE面试笔试题解析】 1. 数据库并发访问解决方案 在J2EE应用中,当面临大量用户同时访问数据库的情况,采用数据库连接池技术是常见解决方案。数据库连接池在J2EE服务器启动时预建一定数量的连接,保持这些连接在...
《J2EE面试笔试宝典》是一份集大成的资料,涵盖了个人介绍、笔试题、面试技术题以及面试中的其他问题,旨在帮助求职者在J2EE领域找到理想的工作。这份宝典全面且深入地讲解了J2EE相关的知识和技术,让我们逐一探讨...
Java 企业版(J2EE,现在称为 Java EE)是一个由 Sun Microsystems 提出的用于构建企业级分布式应用程序的多层架构标准。它提供了一个规范化的平台,允许开发人员使用组件来构建可扩展、高可用性和容错的应用系统。...