jsp及Servlet经典面试题
Servlet的概念
概念:对于我们来说就理解为一则规范(接口),他们理解为一个容器,也可能是吧,我们怎么利用这个接口,来实现内容呢,
怎么用:我们写一个类来,extends HttpServlet,然后重写Servlet里面的方法,最后就是业务逻辑呢!!
小插曲:什么是MVC设计模式? 什么是Javabean?什么是servlet?(一个图概括)
Servlet的概念,JSP与Servlet的区别
servlet是基于java技术的web组件,由容器管理并产生动态的内容。Servlet技术带给程序员最大的优势是它可以处理客户端传来的HTTP请求,并返回一个响应。
SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出(jsp注重是视图层哈!!),所以,编写和修改HTML非常不方便。 后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。
JSP与Servlet的区别:
1、JSP在本质上就是Servlet,但是两者的创建方式不一样。
2、Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观。
3、JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。
因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。JSP是Servlet技术的扩展,JSP编译后是“类servlet”,本质上就是Servlet的简易方式。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来,而JSP是Java和HTML组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
面试题:
1.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 {
}
}
2.说一说Servlet生命周期
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法,实现里面的内部逻辑。结束服务,web容器调用servlet的destroy()方法
Servlet生命周期包括三部分:
初始化:Web容器加载servlet,调用init()方法
处理请求:当请求到达时,运行其service()方法。service()自动派遣运行与请求相对应的doXXX(doGet或者doPost)方法。
销毁:服务结束,web容器会调用servlet的distroy()方法销毁servlet。
3.Servlet面试题归纳