`

29、servlet--jsp执行过程

    博客分类:
  • mvc
 
阅读更多
   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.



分享到:
评论

相关推荐

    jsp-api.jar和servlet-api依赖包

    2. **JSP转换**:JSP引擎会将JSP页面转换成一个对应的Servlet类,这个过程称为JSP编译。 3. **JSP生命周期**:包括翻译、加载、初始化、服务和销毁五个阶段。 4. **JSP指令**:如`<%@ page %>`, `<%@ include %>`, `...

    javax.servlet-api-3.1.0.jar

    Filter则允许在Servlet执行前后插入自定义的处理逻辑,比如实现身份验证、日志记录或内容转换。开发者可以通过实现`javax.servlet.Filter`接口来创建过滤器,并通过`web.xml`部署描述符配置过滤规则。 Listener则是...

    servlet-api 各种版本

    - 实现了监听器(Listener)接口,如ServletContextListener,用于在Servlet容器启动和停止时执行特定操作。 - 引入过滤器(Filter)概念,允许开发者在请求到达Servlet之前进行拦截和处理,实现如权限控制、字符...

    javax.servlet-api-3.1.0.jar javax.el-api-2.2.4.jar javax.el-2.2.4.jar

    EL是一种轻量级的脚本语言,用于在JSP和JSF中简便地访问JavaBean属性和执行基本运算。版本2.2.4增加了对Java EE 7的支持,包括对JavaBeans的更灵活访问、类型安全的EL表达式以及对Java 8日期/时间API的支持。 4. **...

    javaBean-servlet-jsp开发的通讯录

    在通讯录应用中,Servlet可能负责接收用户的添加、删除、查询等操作,然后调用JavaBean来执行相应的业务逻辑,并将结果返回给客户端。 JSP则是一种动态网页技术,允许开发者在HTML中嵌入Java代码,使得视图层可以...

    基于java--jsp--servlet--tomcat--sqlserver的社区医疗管理系统

    《基于Java-JSP-Servlet-Tomcat-SQLServer的社区医疗管理系统详解》 社区医疗管理系统是一种信息化解决方案,它旨在提高医疗服务的效率和质量,优化资源配置,满足城市社区居民的医疗需求。本文将深入探讨该系统的...

    Servlet-JSP配置入门

    Servlet和JSP是Java Web开发中的核心技术,它们主要用于构建动态Web应用程序。Servlet是Java编写的服务端程序,可以处理HTTP请求并生成响应。JSP(JavaServer Pages)则是一种视图技术,它允许开发者将HTML代码与...

    servlet-api.jar

    Servlet-api.jar是一个重要的Java Web开发库,主要用于实现服务器端的Servlet和JSP(JavaServer Pages)功能。在Java EE(企业版)环境中,Servlet扮演着核心角色,它是一种用于扩展Web服务器功能的Java API。...

    jsp-api.jar servlet-api.jar

    - JSP最终会被编译为Servlet类,运行时由Servlet容器执行。 2. **Servlet-API**: - Servlet是Java Web应用的核心组件,用于接收和响应来自客户端(如浏览器)的HTTP请求。 - `servlet-api.jar`包含了Servlet...

    servlet-2.5.jar下载

    5. **Servlet生命周期管理**:Servlet 2.5提供了更精细的控制,允许开发者自定义Servlet的初始化和销毁过程。 6. **多线程处理**:Servlet 2.5规范改进了Servlet容器对多线程的支持,提高了性能和并发处理能力。 ...

    servlet-api-en

    JSP最终会被编译为Servlet,因此Servlet API同样适用于JSP开发。 在实际开发中,掌握Servlet API能让你更好地构建高性能、可维护的Java Web应用。通过理解上述知识点,你可以更好地理解如何使用Servlet API来处理...

    jdbc-servlet-jsp01-实现登录-增删改查

    6. **异常处理**:在与数据库交互过程中,可能会遇到SQL异常或其他运行时异常,因此需要在Servlet和JSP中进行适当的异常处理,以保证程序的健壮性。通常会捕获异常,记录错误日志,并向用户返回友好的错误信息。 7....

    JSP-Servlet-Ajax考题共享

    - JSP执行过程涉及翻译成Servlet、编译成.class文件,然后执行。 - JSP页面由HTML、JSP指令(如page指令)、脚本元素(声明、脚本let、表达式)和动作标签组成。 - out对象通常使用print和println方法输出字符。 ...

    jsp-api.servlet-api

    JSP最终会被转换为Servlet,这个过程称为JSP编译。当Web容器接收到对JSP页面的请求时,会将其转化为一个实现了`javax.servlet.jsp.JspServlet`接口的Servlet类,并生成对应的Java源代码,然后编译为.class文件。这个...

    jsp-servlet全部lib-jar

    当客户端请求JSP页面时,服务器会将JSP转换为Servlet,然后执行并返回结果给浏览器。 2. **Servlet**:Servlet是Java编写的小程序,用于扩展服务器的功能,特别是处理HTTP请求。它们可以接收和响应来自客户端的请求...

    servlet-jsp相关知识

    JSP编译后会转化为一个Servlet类,执行过程中,JSP引擎会将页面内容与Java代码合并,并生成动态内容。JSP的四大组件包括:脚本元素、表达式、指令和EL(Expression Language)。 **JSP和Servlet的关系** Servlet和...

    servlet-2_2b-doc-API

    `jsp-servlet`文档可能会详细解释JSP到Servlet的转换过程,以及如何配置和使用JSP相关的Servlet,如`JspServlet`。 在开发基于Servlet的应用时,了解Servlet生命周期管理是非常重要的。Servlet的生命周期包括加载、...

    denglu(JSP-Servlet-JavaBean).zip_servlet jsp_servlet+javabean

    本项目"登录系统(denglu)(JSP-Servlet-JavaBean).zip_servlet jsp_servlet+javabean"就是一个典型的Java Web应用示例,它通过结合JSP(JavaServer Pages)、Servlet和JavaBean来实现用户登录功能。下面将详细介绍这...

Global site tag (gtag.js) - Google Analytics