Java EE页显示技术之JSP

JSP

1.概念:

* Java Server Pages:Java服务器页面
    * 可以理解为一个特殊的页面,
    * 其中既可以定义html标签,又可以定义java代码
    用于简化书写

概念

原理

原理

  1. 本质上一个Servlet

Jsp的脚本

Jsp定义Java代码的方式
  1.  <%| 代码%> :
        定义的Java代码在Service方法中。
        Servce方法中可以定义什么,该脚本中就可以定义什么 。
  2.  <%! 代码%>: 
        定义的java代码在JSP转换后的Java类的成员位置。
        一般使用 安全问题
  3.  <%= 代码%>:
         定义Java代码,会输出在页面上。
         输出语句可以定义什么,该脚本就可以定义什么。

Jsp的内置对象

* 在JSP页面不需要获取和创建,可以直接使用的对象
* JSP一共有九个内置对象。
* 3个常用 :
        1. request
        2. response 
        3. out :
           字符的输出流,可以将数据输出到页面上。
           和reponse.getWriter类似。
           * 二者区别: 在Tomcat 服务器真正给客户端做出响应之前,
                     会先找出response缓冲区数据,再找出out数据缓冲区数据。
             response.getWriter()数据永远在out.write()之前。

             尽量只用out输出。

区别

指令

*作用:用于JSP页面,导入资源文件

* 格式
    <% 指令名称 属性名称 属性名称1=属性值1 属性名称2=属性值2 .. %>

分类:
1. page:配置JSP页面的

*contentType:等同于response.setContentType()
     1. 设置响应体的mime类型以及字符集
     2. 设置当前JSP页面的编码(只能是高级的IDE才能生效,
        如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)

     *import:导包

     * errorPage:当页面发生错误后跳转的页面。
     * isErrorPage:标识当前页面是否为错误页面。
       1. true:是,可以使用内置对象exception
       2. false:否,默认值。不可以使用内置对象exception
  1. include
    页面包含的。导入页面的资源文件

  1. taglib

         导入资源(JSTL标签库)
    
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      * rprefix:前缀,自定义的

注释

  1. html注释:

    <!--  -->:只能注释html代码片段(会发送到页面,但是不解析)。
  2. JSP注释:推荐使用

    <%--  --%>:可以注释所有。(不会将注释内容发送到页面)

所有内置对象

在JSP页面中不需要创建,直接使用的对象

一共有九个:

变量名 真实类型 作用
pageContext pageContext 当前页面共享数据,获取其他8个内置对象
request HttpServletRequest 一次请求访问多个资源(转发)
session HttpSession 一次会话的多个请求
application ServletContext 所有用户间共享数据
response HttpServletResponse 响应对象
page Object 当前页面的(Servlet)对象 this
out JspWriter 输出对象,数据输出到页面上
config SerletConfig Servlet的配置对象
excepton Throwable 异常对象

后面五个为域对象

文章目录
  1. 1. JSP
  2. 2. 原理
  3. 3. Jsp的脚本
  4. 4. Jsp的内置对象
  5. 5. 指令
  6. 6. 注释
  7. 7. 所有内置对象
,