java学习笔记—JSP2(33)

1  JSP注释

JSP注释主要为了方便开发人员阅读JAVA代码。

语法:

<%--  注释语句 --%>

总结:

HTML注释可以在查看浏览器页面源码的时候可见。但是JSP的注释是给开发者看的因此在浏览器端是无法看见的。

2 JSP指令

JSP指令主要用于通知浏览器如何解析或者处理当前的JSP页面数据。

语法:

<%@ 指令名  指令属性列表%>

常见的JSP指令

1.	page
page指令只要用于通知浏览器如何解析页面的数据。
<%@page
autoFlush="true"			? 指定是否自动刷新
        buffer="8kb"				? 指定缓冲区大小
        contentType="text/html; charset=utf-8" ? 设置页面内容类型
        errorPage=""				? 指定处理错误的
        extends="" 				? 指定需要继承的父类
        import=""					? 指定需要导入的包名以及类
        info=""						? 指定页面的信息
        isELIgnored="false"		? 指定当前页面是否忽略EL表达式
        isErrorPage="false"		? 指定当前页面是否是处理错误的页面
        isThreadSafe="true"		? 指定当前页面是线程安全的
        language="java"			? 指定JSP的脚本语言,默认java语言
        pageEncoding="utf-8"		? 指定数据的编码方式
        session="true"				? 指定是否使用session
%>

举例1:在JSP中导入类。

JSP的page指令中只有import属性可以连续出现多次,因此可以使用该属性导入多个包中类。

import="java.util.Date"  import="java.io.File"

简化:

import="java.util.Date,java.io.File"

举例2:

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8" import="java.util.Date,java.io.File" errorPage="/error.jsp"%>
<!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>
  系统时间:<%= new Date() %><br/>
  <% File file = new File("aa.txt"); %>
  <%= file %>
  <br/>
  <%= 10/0 %>
</body>

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true"%>
<!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>错误处理页面</title>
</head>
<body>
  <%= exception.getMessage() %>
</body>
</html>

举例3:使用JSP的page指令属性忽略页面中的EL表达式。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true" isELIgnored="true"%>
<!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>错误处理页面</title>
</head>
<body>
  <%= exception.getMessage() %>
  ${20+30 }
</body>
</html>

总结:如果不忽略那么显示的值是50,如果忽略那么直接显示${20+30}。

800x600

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

MicrosoftInternetExplorer4

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}

2        include

JSP中可以使用包含指令来将公用的页面直接包含进来,进而提高代码的维护性。

<body>
   <%-- 使用包含指令包含其他的页面 --%>
   <%@include file="/included.jsp" %>
   <p>some text some text some text some text</p>
</body>

总结:

被包含页面和包含页面被翻译在同一个java文件中。因此将这种包含方式称之为静态包含。

那么被包含页面中最好不要出现包含页面中已经具有的数据。

3 taglib

JSP的taglib指令可以引入其他的标签库文件,使得在JSP页面中可以直接使用标签进行数据的逻辑处理。

<%-- 使用taglib指令引入标签库信息 --%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:out value="波"></c:out>

4 JSP动作

JSP动作主要是用于简化JSP中出现的JSP脚本片段。

常见的动作

<jsp:include page=""></jsp:include>		? 包含页面
<jsp:forward page=""></jsp:forward>		? 请求转发
<jsp:param/>								    ? 传递参数

举例1:使用JSP动作包含页面。

该方式在包含页面的时候将包含页面和被包含页面都进行了翻译和编译,因此称之为动态包含。

包含页面action.jsp

<body>
   <jsp:include page="/included.jsp" flush="true">
      <jsp:param name="name" value="jack"/>
   </jsp:include>
   <h4>包含页面的数据</h4>
</body>

被包含页面included.jsp

<body>
   <h3>被包含页面的数据: <%= request.getParameter("name") %> </h3>
</body>

举例2:使用JSP动作实现页面的转发。

<jsp:forward page="/included.jsp">
   <jsp:param name="name" value="jack"/>
</jsp:forward>
时间: 2024-10-25 16:58:42

java学习笔记—JSP2(33)的相关文章

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

【Java学习笔记之二十六】深入理解Java匿名内部类

在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者

Java学习笔记之继承

一.继承的基础 在Java术语中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass). 举例说明: 1 class Box 2 { 3 public double width; 4 public double height; 5 public double depth; 6 7 //重载构造方法 8 public Box(Box ob) 9 { 10 width = ob.width; 11 height = ob.height; 12 depth = ob.dep

Java学习笔记之接口

一.接口的概念与定义 首先考虑一个简单的接口的定义: public interface Output { int MAX_LINE = 40; void out(); void getData(String msg); } 定义接口使用关键字interface 修饰符interface前面的public可以省略,如果省略,则采用默认访问控制,即只有在相同包结构的代码才可以访问此接口 接口不可以有构造方法(区别于类中的构造方法) 接口里面的所有成员,包括常量.方法等都是public访问权限,所以在

Java学习笔记——File类之文件管理和读写操作、下载图片

Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数 (boolean) mkdir() 创建此抽象路径名指定的目录  (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. (boolean) delete() 删除此抽象路径名表示的文件或目录 (boolean) createNe

Java学习笔记之方法重载,动态方法调度和抽象类

一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程序: 1 class A 2 { 3 int i, j; 4 A(int a, int b) 5 { 6 i = a; 7 j = b; 8 } 9 10 // display i and j 11 void show() 12 { 13 System.out.println("i and j: &

Java学习笔记——动态代理

所谓动态,也就是说这个东西是可变的,或者说不是一生下来就有的.提到动态就不得不说静态,静态代理,个人觉得是指一个代理在程序中是事先写好的,不能变的,就像上一篇"Java学习笔记--RMI"中的远程代理,其中客户端服务对象就是一个远程服务对象的代理,这个代理可以使得客户在操作时感觉像在操作本地对象一样,远程对象对于客户是透明的.我们可以看出这里的远程代理,是在程序中事先写好的,而本节我们要讨论的远程代理,是由JVM根据反射机制,在程序运行时动态生成的.(以上是本人的理解,如果有不正确的地

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载