icode icode
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

iqqcode

保持对技术的探索实践与热爱
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JavaSE

  • JavaWeb

    • BootStrap

    • Cookie和Session

    • JavaScript

    • JDBC

    • JQuery

    • JSON

    • JSP

      • JSP基础
        • EL表达式
        • JSTL标签
        • MVC与三层架构理解
      • Maven

      • Servlet

      • Tomcat

      • XML

    • JavaEE

    • JavaTopic

    • 设计模式

    • 计算机基础

    • Java后端
    • JavaWeb
    • JSP
    iqqcode
    2021-06-17
    目录

    JSP基础

    # JSP简介

    JSP概念:Java Server Pages java服务器端页面

    可以理解为:

    • 一个特殊的页面,其中既可以定义html标签,又可以定义java代码
    • 用于简化书写
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>JSP</title>
      </head>
      <body>
      <%
        System.out.println("你好,JSP!");
      %>
      <h2>Hello,JSP!</h2>
      </body>
    </html>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    控制台和页面分别输出:

    在这里插入图片描述

    在这里插入图片描述

    JSP简化了HTML页面书写

    在这里插入图片描述

    # JSP访问原理

    JSP本质是一个Servlet 在这里插入图片描述

    # JSP脚本

    JSP脚本:JSP定义java代码的方式

    1.<% java代码 %>

    定义的java代码在service方法中。 service方法中可以定义什么,该脚本中就可以定义什么

    2.<%! java代码 %>

    定义的java代码在jsp转换后的java类的成员位置(成员变量,成员方法,静态代码块),可能引发线程安全问题!

    3.<%= java代码 %>

    定义的java代码会输出到页面上,输出语句中可以定义什么

    在这里插入图片描述

    页面输出

    在这里插入图片描述

    # JSP指令

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

    格式:<% 指合名称 属性名1=属性值1 属性名2=属性值2 %>

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

    分类:

    • page:配置JSP页面
    • include:导入页面其他资源
    • taglib:导入资源(导包)

    # page指令

    contentType

    contentType等同于``response.setContentType()`

    1. 设置响应消息体的MIME类型及字符集
    2. 设置当前JSP页面编码(IDE集成开发环境)

    pageEncoding:设置当前JSP页面编码字符集

    import:导包

    errorpage:当前页面发生异常后,会自动跳转到指定的错误页面errorpage="404.jsp"

    isErrorPage:标识当前页面是否为错误页面

    • true:是,可以使用内置对象exception
    • false:否,默认值。不可以使用内置对象exception

    # taglib指令

    <%@taglib prefix="c" uri=http://java.suncom/jsp/istl/core"%>
    
    • prefix:自定义的前缀

    # include指令

    <‰@ include file="top.jsp"%>
    

    # JSP注释

    1.html注释:

    • <!-- -->:只能注释html代码片段

    2.jsp注释:

    • <%-- --%>:可以注释所有

    # JSP内置对象

    在JSP页面中不需要获取和创建,可以值接使用的对象

    JSP共有9个内置对象

    1. request请求对象

    request对象属于 Javax. servlet.HttpServletRequest接口的实例化对象。

    【作用】 request对象不但可以用来设置和取得 request范围变量,还可以用来获得客户端请求参数、请求的来源、表头、 cookies等。

    【机制】当用户请求一个JSP页面时,JSP页面所在的 Tomcat服务器将用户的请求封装在内置对象 request中。 request内置对象代表了客户端的请求信息,==主要用于接收客户端通过HTTP协议传送给服务器端的数据==。在客户端的请求中如果有参数,则该对象就有参数列表。

    2. response响应对象

    response对象属于Javax.servlet.HttpServletRresponse接口的实例化对象

    【作用】 response对象用来给客户端传送输出信息、设置标头等

    【机制】 response对象的生命周期由JSP容器自动控制。当服务器向客户端传送数据时,JSP容器就会创建 response对象,并将请求信息包装到 response对象中。它封装了JSP的响应,然后被发送到客户端以响应客户的请求,当JSP容器处理完请求后, response户端对象就会被销毁。

    3. out字符输出流对象

    out:字符输出流对象,可以捋数据输岀到页面上。

    在JSP页面中,out和 response. getwriter()类似。

    response.getwriter()和 out. write()的区别在 Tomcat服务器真正给客户端做出响应之前,会先找 response缓冲区数据,再找out缓冲区数据,response.getwriter()数据输出永远在out.write()之前

    4. pageContext

    pageContext 对象是javax.servlet.PageContext的一个对象。作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。

    5. session

    session对象是javax.servlet.HttpSession的一个实例。在第一个JSP页面被装载时自动创建,完成会话期管理。

    session对象内部使用Map来保存数据,因此保存数据的格式为 Key/value

    6. application

    application对象是javax.servlet.ServletContext的一个实例。

    ==实现了用户间数据的共享==,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在。

    7. page

    内置对象page是HttpJasPage对象,其实page对象代表的就是当前JSP页面,是当前JSP编译后的Servlet类的对象。也就是说:page对象相当于普通java类的this

    8. config

    config 对象是javax.servlet.ServletConfig的一个对象。主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象

    9. exception

    • 在申明了isErrorPage=true之后才可以使用

    JSP的内置对象及方法作用 (opens new window)

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

    图片文章参考:JSP第内置对象的介绍、4种属性范围、应用场景 (opens new window)

    在这里插入图片描述

    编辑 (opens new window)
    上次更新: 2021/06/27, 10:49:09
    JSON数据和Java对象的相互转换
    EL表达式

    ← JSON数据和Java对象的相互转换 EL表达式→

    最近更新
    01
    匿名内部类
    10-08
    02
    函数式接口
    10-08
    03
    ARouter-Kotlin踩坑
    10-05
    更多文章>
    Theme by Vdoing | Copyright © 2021-2023 iqqcode | MIT License | 备案号-京ICP备2021028793号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×