目录

三种指令类型

Page指令

列:session与errorPage的运用

include指令

列:静态包含

标签

Include标签

列:实现动态包含发送接收信息

fordword标签

列:jsp实现跳转页面

jsp注释

列:注释练习


指令:发送给jsp编译器的信息(告诉jsp编译器如何处理jsp页面,不会直接生成输出)

语法:<%@ 指令 {属性=value,....}%>

三种指令类型

Page指令

导入页面所依赖的属性并将这些传递给JSP编译器

Include指令

jsp页面翻译时包含文本或代码

Taglib指令

描述编译器所应用的标签库

Page指令

语法:<%@page {attr=”value”}%>

  • page language="java" 表示jsp页面嵌入的脚本是java代码
  • contentType="text/html; charset=UTF-8" 设置响应文件类型和字符集编码
  • pageEncoding="UTF-8" 表示JSP文件本身编码
  • import="java.util.*"  引用类,导入包中的类
  • 默认值是session="true"  是否参与一个http会话 表示页面可以直接使用 session对象

Session=false,告诉jsp编译器不要创建session对象了.

  • errorPage="error.jsp"   处理错误页面的URL
  • isErrorPage="true"   处理错误页面的信息
  • buffer="16kb"   设置输出缓冲区大小.
  • autoFlush="true"   设置缓冲区是否被自动刷新.

列:session与errorPage的运用

session指令默认为true,表示页面可以使用session对象,可以设置为false

errorPage处理错误页面的URL

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ page session="true"%>
<%@ page errorPage="error.jsp" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><%=new Date()%><%session.setAttribute("mysession", "123");int i = 100 / 0; //发生异常%><%session.getAttribute("mysession");%>
</body>
</html>

error.jsp 显示错误

isErrorPage="true"   处理错误页面的信息

buffer 页面输出的缓冲区是8k

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" isErrorPage="true" buffer="8kb"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>显示错误</title>
</head>
<body>出错了...<%=exception.getMessage() %>
</body>
</html>

include指令

动态包含,先包含进来,然后一起编译,生成一个 . java文件

列:静态包含

includeA.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@include file="includeB.jsp"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><h1>includeA.jsp 我包含了</h1>
</body>
</html> 

includeB.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><h2 style="color: red">includeB.jsp</h2>
</body>
</html>

标签

Include标签

分开编译,(就会产生二个.java文件,)然后再动态包含进来,生成两个 . java文件

列:实现动态包含发送接收信息

includeC.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><%request.setCharacterEncoding("utf-8");%><jsp:include page="includeD.jsp"><jsp:param value="aa你好" name="uname" /></jsp:include><h1>includec.jsp 我编译了。。。</h1>
</body>
</html>

includeD.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><%=request.getParameter("uname")%><h2 style="color: red">includeD.jsp</h2>
</body>
</html>

fordword标签

转发,服务器端跳转(又称内部跳转),跳转地址不变,跳出去不会回来

列:jsp实现跳转页面

forwordA.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><%System.out.println("forwardA.jsp  begin");request.setAttribute("css", "csss");response.sendRedirect("forwardB.jsp");%><%--    <!--forword代码一次跳转,跳转到另一个页面不会再回来--><jsp:forward page="forwardB.jsp"><jsp:param value="111" name="user"/></jsp:forward> --%><%System.out.println("forwardA.jsp  end");%>
</body>
</html>

forWordB.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><%  System.out.println("forwardB.jsp");%><%=request.getParameter("user") %><%=request.getAttribute("css")%>
</body>
</html>

结果:

输入http://localhost:8080/0615jsp指令标签与表达式/jsp/forwardB.jsp会跳转到如下界面

问题:你们猜猜值为什么是空的?


jsp注释

注释有如下方式:

HTML页面注释

这里面的注释会被编译(加载页面时,会进行语法判断,取需要的变量默认值)

<!-- 我是注释 -->

jsp页面注释

-这里之后的注释都不会被编译

<%--  jsp注释   --%>

jsp脚本的单行注释

<%
// 书写注释的内容

%>

jsp脚本的多行注释

<%
/* 
书写注释的内容
书写注释的内容
*/
%>

列:注释练习

jsp page指令、include指令、include标签、forword标签、jsp注释方式相关推荐

  1. jsp taglib指令_JSP指令–页面,包含和taglib示例

    jsp taglib指令 JSP Directives are used to give special instruction to container for translation of JSP ...

  2. 自定义标签的使用jsp实例_JSP自定义标签示例教程

    自定义标签的使用jsp实例 Today we will look into JSP custom tags. Earlier we learned about JSP Action Elements, ...

  3. JSP page对象简介说明

    转自: JSP page对象简介说明 下文笔者将讲述JSP中page对象的简介说明,如下所示: page对象简介page对象是java.long.Object类的实例page对象指JSP页面自身,那么 ...

  4. JSP的3大指令Page,include,taglib

    一般格式是<%@ 指令名称 属性1="属性值" 属性2="属性值" -%> 指令名称有三种:page,include,taglib <%@ p ...

  5. jsp:include标签与include指令的区别

    <!-- 把a.jsp和b.jsp包含到index.jsp里面一起编译,静态包含,先包含在编译 --> 而用include指令加载文件时,是将加载文件和Jsp页面合并成一个新的Jsp页面后 ...

  6. jsp include指令标签

    假设须要在JSP页面内某处总体嵌入一个文件,就能够考虑使用这个指令标签. 该指令标签例如以下: <%@ include file ="文件的名字"%> 该指令标签的作用 ...

  7. jsp中include指令和动作的区别

    1.include指令是编译阶段的指令,又称为文件加载指令被插入的文件必须保证插入后形成的新文件符合JSP页面的语法规则. nclude可以在JSP页面转换成Servlet之前,将JSP代码插入其中. ...

  8. jsp通过include指令引入html乱码的解决方法

    本文转自:https://blog.csdn.net/gnail_oug/article/details/51707061 在jsp中使用<%@include file="in.htm ...

  9. 第11课:JSP指令 Include指令 Taglib指令 (JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)

    Include指令 JSP include 指令用于通知 JSP 引擎在翻译当前 JSP 页面时,将其他文件中的内容合并进当前 JSP 页面转换成的 Servlet 源文件中,这种在源文件级别进行引入 ...

最新文章

  1. 下划线在 Python 中的特殊含义
  2. SHADER 用 step替代 if-else
  3. Spring Boot和Apache Camel
  4. 混合云模式助力斗鱼搭建混搭大数据架构
  5. 洛谷入门题P1000、P1001、P1421、P1425题解(Java语言描述)
  6. 【干货】10张GIF动图让你弄懂循环、递归、二分检索等概念
  7. ODE网络:一场颠覆RNN的革命即将到来
  8. Java-模拟KTV点歌(控制台程序)
  9. visio 2016安装教程
  10. 计算机二级office树的知识,计算机二级office选择题白话串讲--二叉树,是什么树?(1)...
  11. android连接打印机打印pdf文件,如何在Android设备上打印PDF文件
  12. sprintf函数的使用方法
  13. Arduino Uno 学习第零课,Arduino认识
  14. 计算机指令执行过程详解
  15. p3110 二叉堆练习3--排序
  16. 产品经理知识体系专题
  17. 如何在Windows中使用截图工具进行屏幕截图
  18. 大道至简之四:透过现象看本质
  19. 【Python脚本】得王者金币,王者大佬快来带我飞
  20. SpringBoot+Vue+ElementUI实现后台管理系统

热门文章

  1. 苹果执行请求时出错_iOS网络请求错误整理
  2. 阿根廷为啥跪了?足球里装芯片、AI系统,2022 年世界杯暗藏哪些“黑科技”?...
  3. 【DP】探索数字迷塔
  4. c语言输出斐波那契数列pta,从斐波那契数列说起
  5. 农行银企直联Java
  6. python输入圆半径,求圆周长和圆面积、猜数作业
  7. 【全网最细PAT题解】【PAT乙】1024 科学计数法
  8. Excel在统计分析中的应用—第九章—非参数检验-Mann-Whitney U检验
  9. 刷脸支付会员营销效率高成本底更精准智能
  10. 武汉大学计算机学院课题组,牛晓光 - 教师简历 CV- 武汉大学计算机学院