admin 发表于 2017-3-16 09:08:25

servlet面试要点

解释一下什么是 servlet;
答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。说一说 Servlet 的生命周期?
答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。
Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法, service方法自动派遣运行与请求对应的 doXXX 方法( doGet, doPost)等,当服务器决定将实例
销毁的时候调用其 destroy 方法。
web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。通过调用 service()方法实现,根据请求的不同调用不同的 do***()方法。结束服务, web 容
器调用 servlet 的 destroy()方法。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 {
}
}SERVLET API 中 forward()与 redirect()的区别?答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的
地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳
转到一个其它服务器上的资源,则必须使用sendRedirect()方法。什么情况下调用 doGet()和 doPost()?Jsp 页面中的 FORM 标签里的 method 属性为 get 时调用 doGet(),为 post 时调用 doPost()
页: [1]
查看完整版本: servlet面试要点