zoukankan      html  css  js  c++  java
  • JSP运行原理和JSP页面的隐含变量

    JSP运行原理(Java Server Page:java服务器端网页)

    • WEB容器(Servlet引擎/Servlet容器)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理
    • 每个JSP页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序翻译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成Servlet程序。

    JSP页面的隐含变量

      :没有声明就可以使用的对象。JSP页面一共有9个隐含变量。

    public void _jsServlet(HttpServletRequest request,HttpServletResopnse response) throws java.io.IOException,ServletException{
    
      PageContext pageContext = null;
      HttpSession  session = null;
      ServletContext application = null;
      ServletConfig config = null;
      JspWriter out = null;
      Object page = this;
     
      //...
    
    
      //使用<% %>编写的代码写在此位置,可以用到request,response,pageContext,Session,application,config,out,page这8个隐含对象
      //(实际上还可以使用一个叫exception的隐含对象)
    }

    JSP映射:

    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <jsp-file>/HelloWorld.jsp</jsp-file>
        <init-param>
            <param-name>name</param-name>
            <param-value>yhs</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>

    1).request:HttpServletRequest的一个对象。

    2).response:HttpServletResponse的一个对象(在JSP页面中几乎不会调用response的任何方法)

    3).pageContext:页面的上下文,是pageContext的一个对象,可以从该对象中获取到其他8个隐含对象,也可以从中获取到当前页面的其他信息(学习自定义的标签)

    作用:

    1.forward方法来完成请求的转发
    2.include方法
    3.pageContext可以来获取其他内置对象

    4).session:代表浏览器和服务器的一次会话,是HttpSession的一个对象。

    5).application:代表当前web应用,是ServletContext对象

    6).config:当前JSP对应的Servlet的ServletConfig对象(几乎不使用)。若需要访问当前JSP配置的初始化参数,需要通过映射的地址才可以

    7).out:JspWriter对象。调用out.println()可以直接把字符串打印到浏览器上。

    8).page:指向当前JSP对象的Servlet对象的引用,但为object类型,只能调用Object类的方法

    9).exception:在声明了page指令的isErrorPage=“true”时,才可以使用。

    <%@ page isErrorPage="true" %>

    pageContext,request,session,application(对属性的作用域的范围从小到大)

    转:   https://www.cnblogs.com/yangHS/p/10929029.html

  • 相关阅读:
    Linux网络配置之虚拟网卡的配置(Red Hat 6.5)
    Linux网络配置之虚拟网卡的配置(ubuntu 16.04)
    Red Hat 6.5 本地yum源的配置
    Red Hat 6.5 网络yum源的配置
    动手学深度学习 | 物体检测和数据集 | 40
    软件测试兼职平台
    Android共性问题
    软件测试人员应该知道的
    面试
    设计测试用例时需要考虑的思路
  • 原文地址:https://www.cnblogs.com/fps2tao/p/13186124.html
Copyright © 2011-2022 走看看