我的第一个JSP程序:
在WEB-INF目录之外创建一个index.jsp文件,然后这个文件中没有任何内容。
将上面的项目部署之后,启动服务器,打开浏览器,访问以下地址:
http://localhost:8080/jsp/index.jsp 展现在大家面前的是一个空白。
实际上访问以上的这个:index.jsp,底层执行的是:index_jsp.class 这个java程序。
这个index.jsp会被tomcat翻译生成index_jsp.java文件,然后tomcat服务器又会将index_jsp.java编译生成index_jsp.class文件
访问index.jsp,实际上执行的是index_jsp.class中的方法。
JSP实际上就是一个Servlet:
index.jsp访问的时候,会自动翻译生成index_jsp.java,会自动编译生成index_jsp.class,那么index_jsp 这就是一个类。
ndex_jsp 类继承 HttpJspBase,而HttpJspBase类继承的是HttpServlet。所以index_jsp类就是一个Servlet类。
jsp的生命周期和Servlet的生命周期完全相同。完全就是一个东西,没有任何区别,jsp和servlet一样,都是单例的。(假单例。)
jsp文件第一次访问比较慢的原因:
1.要把jsp文件翻译生成java源文件。
2.java源文件要编译生成class字节码文件。
3.然后通过class去创建servlet对象。
4.然后调用servlet对象的init方法。
5.最后调用servlet对象的service方法。
第二次就比较快的原因:直接调用单例servlet对象的service方法即可。
JSP说明:
JSP是java程序。(JSP本质还是一个Servlet)。
JSP是:JavaServer Pages的缩写。(基于Java语言实现的服务器端的页面。)
Servlet是JavaEE的13个子规范之一,那么JSP也是JavaEE的13个子规范之一。
<