1、 Servlet与JSP有什么区别?
Servlet和JSP完成的功能是相同的,都可以接收用户的请求,可以对用户进行响应,可以调用业务方法。
不同点在于JSP是在html或者xml中嵌入了Java代码或者JSP的标记,在制作页面方面具有优势,可以使用网页编辑工具来制作网页,然后嵌入Java或者JSP的标记。Servlet是纯Java代码,通常用于控制,不用于输出。在MVC模式中,JSP通常充当视图,Servlet通常充当控制器。另外,JSP在运行的时候还要转换成类似于Servlet的Java代码。
2、 Servelt通常有哪些方法
init方法,完成初始化
service方法,包括doGet和doPost,用于接收用户的请求,调用后台的JavaBean或者EJB,选择界面对用户响应。
destroy方法,用于释放资源
3、 谈谈Servlet的生命周期
当接收到请求的时候,容器察看对应的Servlet对象是否存在,如果不存在,需要加载Servetl,实例化Servlet,调用init方法进行初始化。如果已经存在,根据用户的请求创建request和response对象,把这两个对象作为参数调用Servlet对象的service方法,Servlet通过这个方法与用户进行交互,方法执行完之后,对请求的处理结束。Servelt对象继续等待下一个请求。当应用卸载的时候,调用destroy方法释放资源。多个请求共享Servelt对象。
4、 Servlet API的两个主要包
javax.servlet.*;
javax.servlet.http.*;
5、 编写Servlet需要继承的类是什么?
    HttpServlet
6、 编写Servlet通常需要实现的两个方法是什么?
doGet方法和doPost方法
7、 doGet方法和doPost方法中的两个参数是什么?
HttpServletRequest和HttpServletResponse,前者封装了与请求相关的信息,后者封装了与响应相关的信息。要获取请求信息,从第一个参数获取,要对用户响应,通过第二个参数。
8、 要获取用户信息,如何获取
request的getParameter方法和getParameterValues方法,前者用于获取单值表单元素的值,或者用于获取多值的情况,典型的复选框。前者返回的是一个字符串,后者返回的是字符串数组。如果参数指定的表单元素不存在,返回null。
9、 要给用户响应信息,如何完成?
设置响应内容的类型:response.setContentType(“text/html;charset=gb2312”);
获取输出流对象:PrintWriter out = response.getWriter();
输出信息:通过out的println方法
10、              在Servlet中选择接面对用户响应,如何实现
两种方式:使用RequestDispatcher和response的sendRedirect方法
如果使用RequestDispatcher:
RequestDispatcher rd = request,getRequestDispatcher(“目标文件”);
rd.forward(request,response);
如果使用sendRedirect方法
    response.sendRedirect(“目标文件”);
11、              上面的两种方式有什么区别?
RequestDispatcher的forward方法相当于<jsp:forward>的作用。类似于方法调用,当执行到这行代码的时候,通过forward方法转向执行目标文件,把request和response作为参数传递到下一个页面,这样当前页面(Servlet或者JSP)和目标页面共享了request,可以通过request对象传值。response的sendRedirect方法相当于向客户端浏览器发送了一个消息,让浏览器重新请求目标文件,从用户的角度来说,相当于发送了两次请求,每次请求有独立的request和response对象,不能通过request在两个页面之间传值。从地址栏看,前一种方式在地址栏中显示的第一个文件的路径,后一种方式显示的第二个文件的路径。
12、              在Servlet中如何获取Session对象,如何获取Cookie
使用request对象的getSession方法获取session,通过getCookies获取Cookie
13、              Servlet在哪个文件中进行配置?
在Web应用的WEB-INF下面的web.xml中进行配置。
14、              如何配置Servlet
包括两步:Servlet的声明和Servlet访问方式的声明。
Servlet的声明:
<servlet>
<servlet-name>servlet的名字(自己定义的)</servlet-name>
<servlet-class>servlet的完整类名</servlet-class>
</servlet>
Servlet访问方式的声明
<servlet-mapping>
<servlet-name>Servlet的名字(应该和声明的时候保持一致)</servlet>
<url-pattern>访问路径</url-pattern>
</servlet-mapping>
15、              编译好的Servlet类放在什么位置?
放在Web应用WEB-INF下面的classes文件夹中。
16、              假设网站的IP地址为1.2.3.4,端口8878,应用的名字hello,servlet的访问方式/hello,现在要访问这个servlet,如何访问?
     http://1.2.3.4:8878/hello/hello
17、              谈谈Servlet过滤器的作用?
     Servlet是特殊的Servlet,能够对特定的请求路径进行过滤,在访问这个路径之前,先执行过滤器,过滤器进行预处理,过滤器决定是否继续执行后续的文件。典型的应用,可以把用户验证的代码写在过滤器中,然后把过滤的路径配制成需要验证的文件的路径。
18、              谈谈Servlet监听器的作用
Servlet监听器对特定的事件进行监听,当产生这些事件的时候,会执行监听器的代码。可以对应用的加载、卸载,对session的初始化、销毁,对session中值变化等事件进行监听。

Servelet面试题的更多相关文章

  1. java必背面试题

    JAVA必背面试题和项目面试通关要点 一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选 ...

  2. java常见面试题总结2

    JAVA必背面试题和项目面试通关要点 简单来讲,equals方法主要是用来判断从表面上看或者从内容上看,2个对象是不是相等. 一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链 ...

  3. .NET面试题系列[8] - 泛型

    “可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用.“ - Jon Skeet .NET面试题系列目录 .NET面试题系列[1] - .NET框架基础知识(1) .NET面试题系列[2] ...

  4. 关于面试题 Array.indexof() 方法的实现及思考

    这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公 ...

  5. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  6. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  7. JAVA面试题

    在这里我将收录我面试过程中遇到的一些好玩的面试题目 第一个面试题:ABC问题,有三个线程,工作的内容分别是打印出"A""B""C",需要做的 ...

  8. C++常考面试题汇总

    c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...

  9. .NET面试题系列[4] - C# 基础知识(2)

    2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是 ...

随机推荐

  1. WPF总结

    WPF UI布局 模板总结控件可以通过ItemTemplate="{StaticResource Template}"绑定指定的模板: 数据源总结控件可以通过ItemsSource ...

  2. JVM -Xss调整Stack Space的大小 【转】

    Java程序中,每个线程都有自己的Stack Space.这个Stack Space不是来自Heap的分配.所以Stack Space的大小不会受到-Xmx和-Xms的影响,这2个JVM参数仅仅是影响 ...

  3. android google 统计导致的文件冲突

    android studio 加入google 统计 1. buildscript { repositories { jcenter() } dependencies { classpath 'com ...

  4. HTML5图片旋转

    HTML5图片旋转 首先我们使用Cococs2dx-Js-Lite版,来创建一个工程,我们所需要的开发环境如下: 1,webstrom 2,google chrome浏览器 3,cocos2dx-Js ...

  5. post 的body json要使用双引号,而不是单引号

      string parse error , JS eval error {'name' : 'wade' }   http://json.parser.online.fr/ string parse ...

  6. 圆满完成Selenium自动化测试周末班培训课程!

    圆满完成Selenium自动化测试周末班培训课程! http://automationqa.com/forum.php?mod=viewthread&tid=2704&fromuid= ...

  7. DotNetBar RibbonControl控件office2007风格

    在使用DotNetBar RibbonControl控件的时候如果想吧效果做成下图这种效果 把主窗体继承Office2007RibbonForm 然后要删除删除styleManager1 才会出现上图 ...

  8. 3种归并操作js代码

    /**良哥的*/ function merge(a, b) { var aLen = a.length, bLen = b.length, maxLen = Math.max(aLen, bLen), ...

  9. SPF 简介

    SPF 简介 摘要: SPF 是发送方策略框架 (Sender Policy Framework) 的缩写,希望能成为一个防伪标准,来防止伪造邮件地址.这篇文章对 SPF 进行了简单介绍,并介绍了它的 ...

  10. 同程旅游网开放平台SDK开发完成

    最近利用业余时间,使用了同程旅游网的开放平台,并对大部分的方法进行了调用,发现有很多不好用的地方,比如 1.同一个开放平台居然有几个调用地址,景区调用http://tcopenapi.17usoft. ...