0
点赞
收藏
分享

微信扫一扫

JSP笔记

秦瑟读书 2022-03-12 阅读 68
javajs

JSP

概念:

Java Server Pages : java服务器端页面

  • 可以理解为 : 一个特殊的页面 , 其中既可以直接指定定义 html 标签 , 又可以定义java代码
  • 用于简化书写的

原理:

  • JSP本质上就是一个Servlet

指令:

作用 : 用于配置JSP页面 , 导入资源文件’

格式 : <%@ 指令名称 属性名1 = 属性值1 , 属性名2 = 属性值2… %>

例如 :

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

分类 :

(1) page : 配置jsp页面的

  • contentType : 等同于 response.setContentType ()

    • 设置响应体的mime类型 以及字符集
    • 设置当前jsp页面的编码 (高级开发工具才能实现的功能 , 如果使用低级的开发工具 , 则需要设置pageEncoding 这个属性 才能设置当前页面的字符集编码)
  • language : 设置语言的类型 , 最开始jsp野心很大准备支持所有的编程语言 , 但是到目前为止 , 只支持java这一门语言

    • <%@ page language  ="java" %>
      
  • buffer : (默认值是8kb) 缓冲区的大小 , 将来页面输出使用out就是一个输出流 , 有一个缓冲区 , 这个值就是设置这个缓冲区的大小的 ,

    • <%@ page buffer="16kb" %>
      
  • import : 在页面写java代码的时候 , 需要导对应的包 , 一般写法就是一个包写一行

    • <%@ page import="java.util.ArrayList" %>
      
  • errorPage : 当前页面发生异常后 , 会自动跳转错误页面 (不让用户看到具体的错误信息 , 给用户的提示页面 替换了服务器发出的错误页面 )

    • <%@ page errorPage="error.jsp" %>
      
  • isErrorPage : 标识当前页面是否是错误页面 (默认是false)

    • <%@ page isErrorPage ="true" %>
      
    • 设置这个的目的是可以使用一个内置对象 : exception.getMessage()

    • String exception = exception.getMessage(); 
      这个方法可以获取错误的内容 , 将来是打印到日志文件中的 
      

(2) include : 页面包含的 , 导入页面的资源文件

  • 可以将多个页面的重复部分 , 放在一个单独的页面中 , 在其他页面使用的时候 , 使用 include 即可将这个页面 包含在当前页面中 , 达到复用的效果

  • <%@include file="index.jsp"%>
    

(3) taglib : 导入资源

导入标签库 :

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • prefix 定义前缀 : 自定义的 , 想定义什么定义什么
  • uri : 指定标签库的位置

(4) 注释 :

① html注释 :

  • 只能去注释html代码片段 (使用这种注释包裹的内容会被发送到浏览器页面源码中)

② JSP特有的注释

  • <%-- --%> 可以注释所有 (使用这种注释 , 不会将内容发送到浏览器页面源码上)

JSP脚本: (就是定义代码的格式)

JSP定义java代码的方式 :

(1) <% (java代码) %> : 定义的java代码 , 在jsp转换之后的java类的service方法中 , service方法中可以定义什么 , 该脚本就可以定义什么

(2) <%! (java代码) %> : 定义的是成员 (变量和方法) 在jsp转换之后的java类的成员位置 (一般不要这样定义 , 会造成线程安全问题)

(3) <%= (java代码) %> : 定义的java代码 , 会输出到页面上 , 输出语句中定义的什么 , 这里就可以定义什么

注意:

jsp可以将java代码进行截断 : 这样在输出的时候 , 就不用写输出语句了 , 直接就可以写文字 , 然后将数据包裹在<%= %> 中即可

<% %>
    欢迎回来 , 您上次访问的时间是: <%=value%>
    <% %>

JSP的内置对象:

  • 在jsp这个页面中 , 不需要获取和创建 , 就可以直接使用的对象

  • jsp中一共有9个内置对象

  • 变量名                     真实类型
    pageContext  :           PageContext          当前页面内共享数据 
    										还可以获取其他八个对象
    request   :  			HttpServletRequest   一次请求访问的多个资源 (转发)
    session   :              HttpSession      	  一次会话的的多个请求间
    application  :           ServletContext	      所有用户间共享数据 (服务器开启被创建 , 服务器关闭销毁)
    //上边四个是域对象 //
    response  :              HttpServletResponse   响应对象
    page      :              Object	               当前页面(Servlet)的对象 this
    out       :              JspWriter             输出对象 , 可以将数据输出到页面上 
    config    :              ServletConfig         Servlet的配置对象 
    exception :              Throwable			  异常对象
    
    • request
    • response
    • out :字符输出流对象 , 可以将数据输出到页面上 , 和response.getWriter().write()类似
      • 但是 response.getWriter().write() 不管定义在哪 , 都会先于out输出
      • 在Tomcat服务器真正给客户端做出响应之后 , 会先找response缓冲区数据 , 再找out缓冲区数据 , 所以 , response.getWriter().write() 永远会比out输出的早
    • pageContext
    • session
    • application
    • page
    • config
    • exception (只有在声明了isErrorPage 为true的时候才能使用 )
举报

相关推荐

0 条评论