• Java-JSP既可以指定定义HTML标签,又可以定义java代码


      1. 概念:
      • Java Server Pages:java服务器端页面
        • 可以理解为:一个特殊页面,其中既可以指定定义HTML标签,又可以定义java代码
        • 用于简化书写
      1. 原理:
      • JSP本质上就是一个Servlet
      1. JSP的脚本:JSP定义Java代码的方式
      2. <% 代码 %>:定义的java代码,在service方法中,service方法中可以定义什么,该脚本就可以定义什么
      3. <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置
      4. <%= 代码 %>:定义的java代码,会输出到页面上,输出语句中可以定义什么
      1. JSP的内置对象
      • 在jsp页面中不需要创建和获取,可以直接使用的对象
      • jsp一共有9个内置对象
      • request
      • response
      • out:字符输出流对象,可以将数据输出到页面上,和response.getWriter()类似
        • response.getWriter()和 out write()的区别:
          • 在Tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据
          • response.getWriter()数据输出永远在 out.write()之前
      1. 指令
      • 作用:用于配置JSP页面,导入资源文件
      • 格式:<%@指令名称 属性名1=属性值1 属性名2=属性值2. . . %>
      • 分类
        1. page :配置JSP页面
          * contentType:等同于response.setContentType()
          1. 设置响应体的mime类型以及字符集
          2. 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
        * import:导包
        * errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
        * isErrorPage:标识当前页面是否是错误页面
            * true:是,可以使用内置对象exception
            * false:否,默认值,不可以使用内置对象exception
        
        1. include :页面包含的,导入页面的资源文件
          • <%@include file="top.jsp"%>
        2. taglib :导入资源
      1. 注释
      2. html注释
        * :只能注释html片段
      3. jsp注释:推荐使用
        * <%-- --%>:可以注释所有
      1. 内置对象
      • 在jsp页面中不需要创建,直接使用的对象
      • 一共有9个
        变量名 真实类型 作用
        • pageContext PageContext 当前页面共享数据,还可以获取其他8个内置对象
        • request HttpServletRequest 一次请求访问的多个资源(转发)
        • session Httpsession 一次会话的多个请求间
        • application ServletContext 所有用户间共享数据
        • response HttpServletResponse 响应对象
        • page Object 当前页面(Servlet)的对象 this
        • out JspWriter 输出对象,数据输出到页面上
        • config ServletConfig Servlet的配置对象
        • exception Throwable 异常对象

    代码如下

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@include file="top.jsp"%>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h3>主题信息</h3>
    <% pageContext.setAttribute("msg","hello"); %>
    <%=pageContext.getAttribute("msg")  %>
    </body>
    </html>
    ----------------------------------------------------------------------
    <%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h1>服务器正忙...</h1>
    <%
        String message = exception.getMessage();
        out.print(message);
    %>
    </body>
    </html>
  • 相关阅读:
    10 Fresh & Free Bootstrap 5 Admin and Dashboard Templates 2022 辉
    非参数估计:核密度估计KDE 辉
    7个顶级静态代码分析工具 辉
    基于机器学习的用户实体行为分析技术在账号异常检测中的应用 辉
    Docker镜像扫描器的实现 辉
    Kubehunter:一个用于Kubernetes渗透测试的开源工具 辉
    九大顶级静态代码分析工具 辉
    Apache ab压力测试
    Insert into select 批量同步数据
    JVM 逃逸分析 同步缺省 标量替换 栈上分配
  • 原文地址:https://www.cnblogs.com/dongxuelove/p/13043925.html
Copyright © 2020-2023  润新知