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;

浙公网安备 33010602011771号