JSP-指令元素

JSP简介

JSP(java Server Pages)与java Servlet一样,是在服务器端执行的。
不同的是先由服务器编译部署成Servlet执行

JSP入门

  • JSP是服务器技术,java server pages
  • JSP可以写代码(java+HTML+jsp自己的代码)
  • 需要在jsp中
    • <%! %>成员方法,成员变量
    • <%= %>输出内容
    • <% %>局部变量,语句
  • jsp原理:jsp–编译Servlet文件–编译.class文件–执行
  • 在tomcat/work/翻译的Servlet的文件

session

  • session的追踪(了解)
  • session的创建和销毁
    • 第一次访问资源,调用request.getSession(),创建session
    • 销毁
      • 非正常关闭服务器()
      • session的过期,默认是30分钟
      • 在tomacat/conf/web.xml中的配置如下
        • <session-config>
          <session-timeout>30</session-timeout>
          </session-config>
    • 调用session.invalidate() 手动销毁session
  • 正常关闭服务器时,session会被序列化到tomcat/work/Catlina/localHost/项目名下/SESSION.ser
    再次启动服务器时,会反你序列化。

session的域对象

  • ServletContext :代表整个web应用,数据库链接
  • session:一次会话,存放个人的信息
  • request: 一次请求,存放错误处理

JSP语法

jsp脚本元素

声明标签
表达式
代码块

jsp页面注释

  • jsp注释:<%– jsp注释–%>,只会存在jsp文件的阶段,翻译成java文件后注释消失,只能被开发人员看见
  • JAVA注释
    <%
    // 单行
    /**/ 多行
    /**
    *
    */ 文档注释
    %>

    在jsp阶段和翻译成的java文件也存在,编译阶段消失,在页面不存在
  • HTML注释:<!-- -->不会消失,在页面中也能看见

jsp指令元素

功能

  • 用于指示jsp执行某些步骤
  • 用于指示jsp表现特定行为

语法格式

<%@ 指令元素 属性名=属性值 %>
<%@ directive[attribute = "value"]*%>

分类

  • page指令标记 ,设置jsp属性
  • include指令标记 ,包含界面(页面布局)(用的比较少)
  • taglib指令标记 ,引入标签库文件
page指令的属性
  • language :告诉容器jsp中使用的是哪种脚本语言。jsp脚本语言(和解释的脚本语言不同)是一种可以内嵌在jsp中,用于完成某种操作的语言。目前,jsp只支持java语言。(不需要修改)
  • extends :该特性指定了jsp翻译的servlet文件继承的父类。默认继承org.apache.jasper.runtime.HttpJasBase.(不需要改变),可以通过tomcat/work/catalina查看
  • session : 它的值只能是真和假中的一个,表示jsp是否将参与HTTP会话。默认值为true,可以直接使用session,设置为false,就不能直接使用。
  • buffer :设置缓冲区的大小,默认是8kb
  • aotuFlush:设置默认刷新缓冲区(不要修改)
  • errorPage:如果jsp在执行过程中发生了错误,该特性告诉容器应该经请求发送给哪个jsp
  • isErrorPage:默认值是假,设置为真时,可以使用exception变量,获取一些异常的信息。
  • contentType:服务器端输出所有内容采用编码
  • pageEncoding: jsp 翻译成Servlet文件时采用的编码
  • isELIgnored:是否忽略EL表达式(false:不忽略,true:忽略),默认是false

设置全局的错误页面
注意:该设置的全局页面优先级没有page指令中指定的错误页面的优先级高

<!--在web.xml中设置全局的错误页面-->
<error-page>
    <error-code>404</error-code>
    <location>/jsp/404.jsp</location>
</error-page>

<error-page>
    <error-code>500</error-code>
    <location>/jsp/500.jsp</location>
</error-page>
include指令标记

语法格式<%@ include file="要包含文件的地址(静态包含)" %>启示

示例

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%@ include file="head.jsp"%>
<%@ include file="menu.jsp"%>
<h3>网站的新闻(变化的数据)</h3>
<%@ include file="logo.jsp"%>
</body>
</html>

页面源代码
这里写图片描述

//被包含的文件,要删除IDE自动生成的<html><head></head><body></body></html>

<html>
<head>
    <title>Title</title>
</head>
<body>
<h3>网站的logo</h3>
<h3>网站的超链接</h3>
<h3>网站的新闻(变化的数据)</h3>
<h3>网站的友情链接</h3>
</body>
</html>

静态包含原理

这里写图片描述

taglib指令

引入标签库文件
语法:<%@ taglib uri="引入标签库文件的名称" prefix="前缀名"%>
属性:

  • uri:引入标签库文件的名称
  • prefix:标签库的前缀名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值