29、servlet--jsp执行过程

   J2EE的13种核心技术:JDBC、JNDI、EJBs、RMI、JSP、 Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail和JAF。

    servlet提供的功能大多与JSP类似,不过实现方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
    servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlets和CGI脚本的一个很大的区别是:每一个CGI在开始时都要求开始一个新进程,而servlets在servlet引擎中以分离的线程来运行。因此其在可伸缩性上提供了很好的改进。
    在开发servlets时,常需扩展javax.servlet.http.HttpServlet类,且override一些它的方法,其中包括:
    service():作为dispatcher来实现命令-定义方法
    doGet(): 处理客户端的HTTP GET请求。
    doPost(): 进行HTTP POST操作
    其它的方法还包括处理不同类型的HTTP请求,可参考HttpServlet API文档。
    以上描述是标准J2EE Servlet API的各种方法。WebLogic服务器提供了一个该API完整的实现途径。一旦你开发了一个servlet,就可以在weblogic.properties 中加以注册并由此可以在WebLogic服务器中对它进行配置。


jsp的执行过程是怎样的?
   很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。

在执行JSP网页时,通常可以分为两个时期:转译时期(Translation Time)和请求时期(Request Time)

转译时期:JSP网页转移成Servlet类。
请求时期:Servlet类执行后,响应结果至客户端。

转译期间做了两件事情:
转译时期:将JSP网页转移为Servlet源代码 .java.
编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.

当JSP网页在执行时,JSP Container 会做检查工作,如果发现JSP网页有更新修改时,JSP Container 才会再次编译JSP成 Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet.



猜你喜欢

转载自onway417.iteye.com/blog/2194262
今日推荐