JSP 总结--(1)

1、常说JSP就是Servlet之谜:

  从JSP运行时被翻译成的Java文件源码可知:

    |--public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent {

    |--在Tomcat的 lib下查找这个HttpJspBase文件(C:\apache-tomcat-6.0.41\lib\jasper.jar\org\apache\jasper\runtime\HttpJspBase.class),可知,这个类是直接继承了HttpServlet类,所以所有的JSP被翻译成的Java文件也间接的继承了Servlet。

    |--既然JSP就是Servlet,那么Servlet技术在JSP中照样可用。

 

2、JSP的运行过程:

  JSP首先被翻译成一个Java文件(Servlet),然后编译这个Java文件成字节码。接下来的步骤和Servlet运行过程一样:利用反射机制产生Servlet的对象-》执行init->调用Service->调用destroy方法:

 

3、JSP的九大内置对象及所属类型:

对象名 所属类型
request  HttpServletRequest
response HttpServletResponse
session HttpSession
config ServletConfig
page Object (this)代表当前页面本身)
pageContext PageContext(可以得到其它八大对象,在自定义标签中用得最多)
application ServletContext
out JspWriter(相当于带缓冲的PrintWriter)
excetion Throwable(需要在页面声明:isErrorPage="true时才到在页面用这个对象,否则会出错)

 

 

 

 

 

 

 

 

PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;


 

 

 

 

 

 

 

 

 

  

posted @ 2016-01-09 20:12  心灵召唤  阅读(165)  评论(0)    收藏  举报