1.JSP的模版元素中包括网页的静态内容,如html标签和文本。
2.JSP的脚本中包括:
(1)小脚本 <% java代码 %>;
(2)表达式 <%= 2+3 %> 等价于out.print(2+3);
(3)声明 <%! %> 表示在类中定义全局成员,和静态块。
具体参考代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Map" %>
Title
<%--1.声明类属性--%>
<%!
private String name;
private static Map map;
%>
<%--2.声明类方法--%>
<%!
public int sum() {
return 12;
}
%>
<%--3.声明静态代码块--%>
<%!
static {
map = new HashMap();
map.put("key1", "value1");
}
%>
3.JSP注释
JSP注释:<%-- 被注释的内容 --%> 特点:安全,省流量
网页注释: 特点:不安全,费流量
4.三个指令
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP语法:<%@ 指令名称 属性1=“属性值1” 属性2=“属性值2” …%>
如:<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>
<%@ page language=“java” %>
<%@ page import=“java.util.*” %>
在JSP 2.0规范中共定义了三个指令:
(1)page指令
作用:用于定义JSP页面的各种属性。
属性:import 和java代码中的import是一样的
<%@ page import=“java.util.Date,java.util.List”%>
或者:<%@ page import=“java.util.Date”%> <%@ page import=“java.util.List”%>
JSP会自动导入以下的包:
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
session: 是否会自动创建session对象。默认值是true;
buffer: JSP中有javax.servlet.jsp.JspWriter输出字符流。设置。输出数据的缓存大小,默认是8kb.
errorPage: 如果页面中有错误,则跳转到指定的资源。
errorPage="/uri" 如果写“/”则代表当前应用的目录下,绝对路径。如果不写“/”则代表相对路径。
isErrorPage: 是否创建throwable对象。默认是false;
contentType: 等同于response.setContentType(“text/html;charset=utf-8”);
pageEncoding: 告诉JSP引擎要翻译的文件使用的编码。<%@ page pageEncoding=“gbk” %>
isELIgnored: 是否支持EL表达式。 默认是false 。
(2)include指令
静态包含:把其它资源包含到当前页面中。<%@ include file="/include/header.jsp" %>
动态包含:
两者的区别:翻译的时间段不同
前者:在翻译时就把两个文件合并
后者:不会合并文件,当代码执行到include时,才包含另一个文件的内容。
原则:能用静的就不用动的。
代码参考如下:
头部信息
主体信息
<%@include file="/foot.jsp"%>
jsp隐式对象的概述:
九个隐式对象,指在JSP的<%=%> 和<% %>中可以直接使用的对象。如下所示:



