`

JSP运行原理(二)

    博客分类:
  • jsp
阅读更多

public void (HttpServletRequest request, HttpServletResponse response)

        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;

    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;

    try {

      _jspxFactory = JspFactory.getDefaultFactory();

      response.setContentType("text/html;charset=gb2312");

      pageContext = _jspxFactory.getPageContext(this, request, response,

                 null, true, 8192, true);

      _jspx_page_context = pageContext;

      application = pageContext.getServletContext();

      config = pageContext.getServletConfig();

      session = pageContext.getSession();

      out = pageContext.getOut();

      _jspx_out = out;

      out.write("\r\n");

out.write("<html>\r\n");

      out.write("   <head>\r\n");

      out.write("      <title>登录成功</title>\r\n");

      out.write("   </head>\r\n");

      out.write("   <body>\r\n");

      out.write("      <h2>");

      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${sessionScope.userid}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));

      out.write("您好,欢迎登录网上书店!</h2>\r\n");

      out.write("   </body>\r\n");

      out.write("</html>\r\n");

} catch (Throwable t) {

      if (!(t instanceof SkipPageException)){

        out = _jspx_out;

        if (out != null && out.getBufferSize() != 0)

          out.clearBuffer();

        if (_jspx_page_context != null)

_jspx_page_context.handlePageException(t);

      }

    } finally {

      if (_jspxFactory != null)

_jspxFactory.releasePageContext(_jspx_page_context);

    }

}

}

JSP被转换成的Java文件可以看出如下几点:

1 JSP文件中的内容基本都被包含在了_jspService方法中,实际上页面执行的过程就是这个方法执行的过程;

2 页面中显示给用户的HTML信息都被转换成了out.println("XXXX")的形式;

3 _jspService方法中有两个参数requestresponse

4 在方法中生成了如下几个对象:

    PageContext pageContext = null;

    HttpSession session = null;

    ServletContext application = null;

    ServletConfig config = null;

    JspWriter out = null;

    Object page = this;

这就是传说中的内置对象(预定义对象)。

返回给客户端的代码(通过在客户端浏览器可以查看源文件):

<html>

   <head>

      <title>登录成功</title>

   </head>

   <body>

      <h2>zhangsan您好,欢迎登录网上书店!</h2>

   </body>

</html>

 

在此文件中看不到任何JSP的代码,而是纯HTML代码。与源文件不同的地方:

1源文件中的page指令没有了

2源文件中的${sessionScope.userid}没有了,而使用zhangsan代替了原来的表达式。

浏览器把这段HTML代码解析成界面显示给用户。

这就是从你编写的JSP文件到客户端看到的结果的转换过程。

 

分享到:
评论

相关推荐

    jsp运行原理.txt

    jsp运行原理.txt

    jsp运行原理

    ### JSP运行原理详解 #### 一、JSP的基本概念 JSP(Java Server Pages)是一种结合了HTML标记和Java代码的技术,用于创建动态网页。它允许开发人员将业务逻辑和展示逻辑分离,使得Web应用更加模块化和易于维护。 ...

    JavaWeb开发技术-JSP运行原理.pptx

    **JSP运行原理** 1. **客户端请求**:用户在浏览器中输入URL,发起对JSP页面的请求。 2. **JSP容器处理**:服务器接收到请求后,由JSP容器负责处理。如果JSP文件尚未被翻译成Servlet,容器会进行以下步骤: - **...

    jsp工作原理

    #### 二、JSP的工作流程 1. **JSP文件的读取与转换**:当用户首次访问某个JSP页面时,JSP引擎首先会读取该JSP文件,并将其转换为Java源代码。这一过程主要是解析JSP文件中的指令、脚本元素以及声明等,将它们转换为...

    韩顺平_细说jsp第2讲.jsp运行原理分析.page指令详解

    韩顺平_细说jsp第2讲.jsp运行原理分析.page指令详解

    了解JSP工作原理.ppt

    了解JSP工作原理 JSP(Java Server Pages)是一种服务器端的WEB程序开发技术,由Sun公司发布,具有跨平台、通用性好、安全可靠等特点。JSP是基于Java的,页面程序由HTML或XML标记和JSP脚本共同组成,文件以“ .jsp...

    JSP标签JSP 语法的基本原理

    当JSP首次被请求时,服务器会将JSP文件转换为Servlet源码,然后编译为字节码,加载到Java虚拟机中运行。JSP页面的主要组成部分包括: 1. **编译器指引(Compiler Directive)**:例如`&lt;%@ page %&gt;`, 它用来设置页面...

    jsp基础(jsp语法工作原理及基本规范)

    ### JSP基础(jsp语法工作原理及基本规范) #### 一、JSP简介 JavaServer Pages (JSP) 是一种基于Java技术的服务器端脚本技术,它允许开发者在HTML文档中嵌入Java代码,从而创建动态网页。JSP页面在第一次被请求时...

    JSP实验指导 JSP实验指导

    本指导共分为多个实验,每个实验都涵盖了 JSP 的不同方面,包括 JSP 运行环境的安装与配置、JSP 语法、JSP 页面的基本结构和运行原理、JSP 中的成员变量和方法、JSP 中的指令标记和动作标记等。 实验一:JSP 运行...

    JSP实验二代码

    这个实验项目旨在让学生深入理解JSP的工作原理以及如何运用JSP技术来创建功能丰富的Web应用程序。 在"我的网上商店"项目中,可能涉及以下几个关键知识点: 1. **JSP基本结构**:每个JSP页面由HTML标记和Java代码...

    JSP运行环境搭建

    ### JSP运行环境搭建知识点详解 #### 一、JSP概念与运作原理 - **动态网页与静态网页的区别**: - **静态网页**:内容固定不变,每次用户请求时,服务器返回相同的内容。 - **动态网页**:能够根据用户的请求...

    JSP程序设计实用教程-源码

     第三节 jsp的运行原理  第四节 jsp技术特点  第五节 jsp运行环境的配置  实训  习题  第二章ccjsp语法  第一节 jsp页面的基本结构  第二节 jsp脚本  第三节 jsp标签  实训  习题  第三章ccjsp...

    servlet运行原理

    在Servlet的运行原理中,首先,当客户端浏览器发起请求时,该请求会被Web服务器捕获,然后由Web服务器调用相应的Servlet来处理。Servlet的生命周期包括加载、实例化、初始化、服务、销毁这几个阶段。在Web应用启动时...

    jsp介绍与运行环境配置

    【正文】 JSP(Java Server Pages...此外,理解JSP的工作原理,包括如何处理请求、生成响应,以及如何利用JSP动作和指令,是成为一名熟练的JSP开发者的关键。通过学习和实践,你可以创建出高效、可扩展的Web应用程序。

    JSP运行原理和九大隐式对象说明

    JSP运行原理和九大隐式对象说明,需要的朋友可以参考一下

    jsp设计第二版中文版(源代码)

    - **调试与修改**:在本地环境中部署并运行源代码,通过调试和修改了解其工作原理。 - **最佳实践**:学习源代码中的设计模式和最佳实践,提升自身开发技能。 通过深入研究"jsp设计第二版中文版(源代码)",不仅...

    jsp第一、二章节

    通过实例,掌握如何配置和运行JSP项目,以及如何调试和解决问题。 总之,"jsp第一、二章节"的学习将为初学者奠定坚实的基础,让他们逐步熟悉JSP的语法、元素以及如何在实际项目中运用这些知识。通过深入学习和实践...

    JSP+Servlet讲解MVC实现原理

    这里我们主要探讨的是如何利用JSP和Servlet实现Model-View-Controller(MVC)设计模式的原理。 **JSP(Java Server Pages)** 是一种用于创建动态网页的Java技术。它允许开发者在HTML页面中嵌入Java代码,使得网页...

    jsp网站源码jsp网站源码

    【JSP(Java Server Pages)技术详解】 JSP(Java Server Pages)是Java平台上的一个服务器端脚本语言,主要用于创建动态...理解和掌握JSP的原理和实践,对于任何希望在Java Web领域深耕的开发者来说都是必不可少的。

Global site tag (gtag.js) - Google Analytics