JSP运行原理、指令元素及内建对象

原创 2015年11月17日 20:43:15

一、JSP工作原理

       当客户端表单把请求提交给JSP页面时,服务端的JSP引擎从服务器磁盘上找到该JSP文件,然互把它解析成Java文件,接着该Java文件被编译成class文件。然后执行该class文件处理请求。处理完请求生成了一个HTML文件,最后JSP引擎负责将该HTML文件发送到客户端去显示。

二、JSP生成java文件路径

     【问题描述】JSP被访问时,先由Web服务器对其进行解析,把它翻译成java文件,那这些java文件被存放在什么地方并怎样找到他们?

     【问题解决】在Tomcat服务区的安装目录下,有个work文件夹,在目录/work/Catalina/localhost下可以看到以各个工程命名的文件夹,这些文件下里存储的就是JSP文件翻译后的java文件。

三、JSP指令元素

      指令元素是指在JSP文件中包含在符号"<%@"和"%>"之间的部分,在jsp文件转换成Java代码时,web容器也会将他们翻译成对应的Java代码。一般有page,include,taglib3种指令。

      page指令用来定义页面的全局属性,其常见的属性如下图所示:

            

      include指令用来将指定位置的文件包含到当前jsp文件中。这些被包含的资源会作为JSP文件的一部分被翻译成Java文件,因此它们也是JSP文件的一部分。(注意该指令与jsp动作元素<jsp:include page="fileName" flush="true">的区别)指令格式如下:

             <%@ include file="filename"%>

      taglib指令用于让用户自己定义标签。指令格式如下:

             <%@  taglib url="taglibURL"  prefix="taglibPrefix" %>

四、JSP内建元素对象

    1、out对象:out对象在JSP文件中用来想客户端发送输出流的东西。一般使用print()和println()方法想客户端输出。

    2、request对象:request对象用来封装客户端请求,通过它可以获得客户端传到服务器端的数据以及客户端的一些信息。该对象常用的方法如下:

          

    3、response对象:该对象常用的方法如下

          

    4、session对象:session对象用来保护每个用户的信息,该对象常用的方法如下

          

    5、pageContext对象:pageContext对象是JSP文件包装当前页面的上下文,所以通过它可是获得当前页面部分已命名对象的访问,例如:request、response、session、servletContext等。该对象常用的方法如下:

    6、application对象:application用来封装多个应用程序的信息,一个web服务器的所用用户都使用同一个application对象,所以application对象可以被所有用户获取并进行操作。

    7、exception对象:该对象用来封装运行时出现的异常信息。只能在处理错误的页面使用(需在页面指令中声明isErrorPage="true"),调用exception.getMessage()方法去获得出错信息。

   【问题描述】pageContext,session,servletContext这3个对象的区别

   【问题解决】pageContext的属性可以在该页面才能访问到,即在页面1中pageContext.setAttribute("name",mary),在页面2中pageContext.getAttribute("name")的值却为null;

session的属性只有在同一次会话中才能被访问到,例如在浏览器1的JSP文件中session.setAttribute("name",mary),在浏览器2的JSP文件中session.getAttribute("name")的值却为null。servletContext的属性则可以被多个页面访问,例如:在浏览器1的JSP文件中servletContext.setAttribute("name",mary),在浏览器2的JSP文件中servletContext.getAttribute("name")的值则是mary。

    【问题描述】request对象的getAttribute()和getParameter()方法有什么不同

   【问题解决】

        

      

    





JSP九大内建对象

JSP的内建对象不需要由JSP编写人员实例化,它们均由容器管理和实现,在所有的JSP页面中都能使用.只在Scriptlet或者表达式中使用.它们是: 1.request对象:           代表...
  • jacktree365
  • jacktree365
  • 2017年07月11日 13:50
  • 412

jsp的内建对象

JSP的内建对象不需要由JSP编写人员实例化,它们均由容器管理和实现,在所有的JSP页面中都能使用.只在Scriptlet或者表达式中使用.它们是:1.request对象:           代表请...
  • mayc7306
  • mayc7306
  • 2007年06月16日 15:19
  • 3269

Jsp中9大内建对象

频繁使用的:             request:(HttpServletRequest):getAttribute("key"),setAttribute("key",value);getPa...
  • qiangzi9009
  • qiangzi9009
  • 2013年10月11日 11:07
  • 1638

jsp 指令元素、脚本元素、动作元素的区别

指令元素(directive elements ) 1 . page 指令 page 指令作用于整个 JSP 页面,定义了许多与页面相关的属性,这些属性将被用于和 JSP 容器通信。   pa...
  • u014357995
  • u014357995
  • 2015年06月29日 09:51
  • 989

JSP脚本元素、指令元素、动作元素

【声明】  欢迎转载,但请保留文章原始出处→_→  生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhva...
  • stonesing
  • stonesing
  • 2016年08月29日 10:26
  • 1412

JSP内建对象说明

  JSP为简化页面的开发提供了一些内建对象,这些内建对象不需要实例化,它们由容器实现和管理1. out对象: 它主要向客户端输出数据2. request对象: 来自客户端的请求经Servlet容器处...
  • zunshanke2004
  • zunshanke2004
  • 2007年03月01日 10:13
  • 782

J2EE学习笔记之JSP常用三个指令元素

(一)Page指令                    page
  • Code_Thinking
  • Code_Thinking
  • 2014年06月10日 21:59
  • 1081

JSP运行原理及运行过程

1,JSP的运行原理 (1)WEB容器JSP页面的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。 (2)每个JSP...
  • hanxuemin12345
  • hanxuemin12345
  • 2014年04月16日 11:33
  • 16759

jsp指令元素简介

指令元素(directives elements)指令主要用来提供整个jsp网页相关的信息,并且用来设定jsp页面的相关属性。一、page指...
  • Labber
  • Labber
  • 2008年03月14日 02:44
  • 236

JSP——JSP介绍以及运行原理

本文介绍了JSP的基本概念,介绍了一个快速入门案例,并且详细介绍了JSP的运行原理以及它和Servlet的关系...
  • ggGavin
  • ggGavin
  • 2016年05月14日 15:20
  • 2390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP运行原理、指令元素及内建对象
举报原因:
原因补充:

(最多只允许输入30个字)