zoukankan      html  css  js  c++  java
  • JSP基础

    1.本质:

    JSP本质上是一个Servlet,它会由JSP引擎翻译为.java源文件,再由JDK编译为.class字节码文件。

    (1)通过查找翻译后的.java源文件,发现它继承了HttpServlet。

    (2)在全局的web.xml文件中,可以找到对应的注册和映射信息。

    (3)翻译后的.java源文件,能找到对应Servlet生命周期方法。

    (4)因为本质上是一个Servlet,所以只能通过Servlet容器来访问。

    2.翻译的时机

    在第一次访问JSP时进行翻译和编译。

    3.基本语法

    (1)JSP模板元素:指 html 标签元素

    (2)JSP表达式:<%= %>,里面的值相当于方法参数,不能加分号。

    (3)JSP脚本片段:<% %>,可以在其中写Java代码,会被翻译为_jspService()方法中。

    (4)JSP指令:<%@ 指令名 属性名=属性值%>

        <1><%@taglib %> 导入第三方标签库

        <2><%@page %>:定义于当前页面相关的一些属性

            contentType属性:用来设置浏览器响应消息头的信息。设置 Content-Type 响应报头,标明即将发送到客户程序的文档的 MIME 类型以及浏览器对响应内容的解码字符集。

            pageEncoding属性:用于设置当前JSP页面翻译成.java源文件的“解码”字符集;设置JSP页面翻译成Servlet源文件时使用的字符集。

            import属性:导入JSP页面中Java类所在的包

            errorPage属性:指定错误显示页面

            isErrorPage属性:能否用于错误页面的显示

            session属性:

            isELIgnored属性:

        <3><%@include %> 静态包含,会共同翻译成一个.java文件,将另一个JSP页面包含到当前JSP页面。

    (5)注释:<%--   --%>

    (6)JSP标签

        <1><jsp:include page=""></jsp:include>,动态包含,包含进来的JSP页面也会翻译为一个.java源文件

        <2><jsp:forward page=""></jsp:forward>,在JSP页面上进行转发

        <3><jsp:useBean id="initDate" class="java.util.Date" scope="page"></jsp:useBean>,在JSP页面中创建对象并保存到对应范围的域对象中。

    4.JSP隐含对象

    (1)不需要创建就可以使用

    (2)九大隐含对象:pageContext,request,session,application,response,config,out,exception,page

    (3)其中request,response对象由Servlet容器来创建,并作为参数,传入到_jspService()方法中,其他隐含对象在_jspService()定义并赋值的。

    (4)域对象:

        <1>能够在自身的属性域中保存数据或获取数据的对象。

        <2>有效范围:

            pageContext:当前JSP页面范围

            request:同一个请求。服务器端转发。

            session:同一个会话。默认从浏览器打开都关闭。

            application:当前web应用。从生到死。

        <3>对象本身的作用:

            pageContext:当前JSP页面的上下文,可以通过这个对象获取其他八个隐藏对象。

            config:代表当前JSP对应servlet的配置信息。

            out:负责将数据输出到浏览器

            exception:代表当前页面捕获到的异常信息

            page:this,代表当期JSP对应的servelt类对象

  • 相关阅读:
    Java的快速失败和安全失败
    Java RMI与RPC的区别
    Java动态代理之JDK实现和CGlib实现(简单易懂)
    JVM——字节码增强技术简介
    Linux内存分配机制之伙伴系统和SLAB
    操作系统动态内存管理——malloc和free的工作机制
    Java中的Map
    Java的PriorityQueue
    Java中的List
    Java中的Set
  • 原文地址:https://www.cnblogs.com/solverpeng/p/5623383.html
Copyright © 2011-2022 走看看