1:解释什么是servlet
servlet有良好的生存期的定义,包括加载,实例化,初始化,处理请求,服务结束。
这个生产期由javax.servlet.Servlet接口的init,service,destroy方法表达。
web容器加载servlet,生命周期开始。
通过调用servlet的init()进行servlet的初始化。
通过调用service()方法实现,根据请求不同调用不同doGet,doPost方法。
结束服务,web容器调用servlet的destroy()方法。
2:servlet基本架构
public class ServletName extends HttpServlet{
public void doPost(HttpServletRequest HttpServletResponse respone)throws ServletException,
IOException{}
}
doGet
3:servlet API中forward()与redirect()区别?
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,
后者是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
forward()方法更加高效,并且有助于隐藏实际的链接。
但需要跳转到一个其他服务器上的资源,则必须使用sendRedirect()方法。
response.sendRedirect(url)
4:jsp 9个内置对象
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config servlet的构架部分
page JSP网页本身
exception 针对错误网页,未捕捉的例外。
5:JSP中动态include与静态include的区别
动态include用jsp:include动作实现<jsp:include page=included.jsp flush=true/>
总会检查所含文件中的变化,可以带参数。
静态include用include伪码实现,不检查文件变化,@include file=included.htm
6:JSP和Servlet 相同点,不同点,联系
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是.class。
不同:Servlet的应用逻辑在Java文件中,并且完全从表示层中的HTML里分离出来。
JSP侧重视图,Servlet控制逻辑。