JSP 基础知识
<!-- 以下为指令标识区域 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.Date"%>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.Scanner" %>
<!-- 以下为HTML代码 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>模拟服务器与浏览器的一次简单交互</title>
</head>
<body>
<!-- 以下为嵌入的java语句 -->
<%
Date date = new Date(); // 获取当前时间戳
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 时间日期格式
String today = sdf.format(date);
Scanner input = new Scanner(System.in);
System.out.println("浏览器需要你的名字:");
String name = input.nextLine();
System.out.println("浏览器需要你的性别:");
String sex = input.nextLine();
System.out.println("浏览器需要你的年龄:");
int age = input.nextInt();
input.close();
%>
当日时间:<%= today%>
<br>
服务器的名字:<%= name %>
<br>
服务器的性别:<%= sex %>
<br>
服务器的年龄:<%= age %>
</body>
</html>
JSP指令标识的语法如下:
<%@ 指令名 属性 1="属性值 1" 属性 2="属性值 2"...%>
指令名:用于指定指令名称。
属性:用于指定属性名称,不同的指令包含不同的属性。
属性值:用于指定属性值。
指令标识
page指令
<%@ page attr1="value1" attr2="value2" ...%>
常用属性有15个:
language属性
设置JSP页面语言属性
<!-- 例如设置为java语言 -->
<%@ page language="java"%>
extends属性
该属性设置JSP页面继承的Java类
import属性
在JSP中导入类包
<!-- 导入Scanner包 -->
<%@ page import="java.util.Scanner"%>
pageEccoding属性
定义JSP页面的编码格式,即指定文件编码
<!-- 指定为UTF-8编码格式 -->
<%@ page pageEccoding="UTF-8"%>
contentType属性
用于设置JSP页面的MIME类型和字符编码
<!-- 设置JSP页面的MIME类型和字符编码为UTF-8 -->
<%@ page contentType="text/html; charset=UTF-8"%>
session属性
指定JSP页面是否使用HTTP的的session会话对象
<!-- 设置JSP页面不使用HTTP会话对象 -->
<%@ page session="false"%>
buffer属性
用于设置JSP的out输出对象使用的缓存区的大小,默认大小为8kb,且单位只使用kb。
<!-- 设置JSP页面out输出对象的使用缓冲大小为128kb -->
<%@ page buffer="128kb"%>
autoFlush属性
用于设置当JSP页面缓存满时,是否自动刷新缓存,默认值为true
<!-- 设置JSP页面取消自动刷新缓存 -->
<%@ page autoFlush="false"%>
isErrorPage属性
该属性可以将当前的JSP页面设置成错误处理页面来处理另一个JSP页面的错误
<!-- 设置当前JSP页面为错误处理页面 -->
<%@ page autoFlush="true"%>
errorPage属性
用于指定处理当前JSP页面异常错误的另一个JSP页面,指定的JSP错误处理页面必须设置isErrorPage属性为true
<!-- 设置处理JSP页面异常错误的页面 -->
<%@ page errorPage="error/aErrorPage.jsp"%>
include指令
该指令可以在一个JSP页面中包含另一个JSP页面,但是该指令是静态包含,即相当于一个JSP页面嵌入另一个JSP页面中,因此不能有相同名称的变量。
其语法如下:
<%@ include file="path/test.jsp"%>
taglib指令
声明该页面中所使用的标签库,同时引用标签库,并指定标签的前缀
<%@ taglib prefix="tagPrefix" url ="tagURL"%>
脚本标识
JSP表达式
JSP表达式用于向页面中输出信息,其不仅可以插入网页的文本中,用于输出内容,也可以插入HTML标签中设置属性值
<%= 表达式%>
声明标识
用于在JSP页面中定义全局的变量或方法
<%! 声明的变量或者方法的代码%>
举例:
<%!
int number = 0;
int getSum(){
number++;
return number;
}
%>
<!-- <%= getSum()>每次刷新页面都会使number+1 -->
代码片段
所谓代码片段就是JSP页面中嵌入的Java代码或者脚本代码
<% 嵌入的java代码或者脚本代码 %>
举例:
<!-- 以下为指令标识区域 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 以下为HTML代码 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>九九乘法表</title>
</head>
<body>
<!-- 以下为嵌入的java语句 -->
<%!
String getTable(){
String str = "";
for(int i = 1 ; i<10; i ++){
for(int j = 1 ; j<=i ; j++){
str += j+"*"+i+"=" +i*j;
str += " ";
}
str += "<br>";
}
return str;
}
%>
<table border="1" style=“font:9px”>
<tr><td height = "30" align="center">九九乘法表</td></tr>
<tr><td><%= getTable() %></td></tr>
</table>
</body>
</html>
JSP注释
HTML 注释
<!-- 这里为注释内容 -->
带有JSP表达式的注释
//单行注释内容
/*
多行注释内容
*/
/**
* 文档注释
*/
隐藏注释
浏览器中通过源码也无法显示的注释
<%-- 注释内容 -->
动作标识
包含文件标识<jsp:include>
JSP的动作标识<jsp:include>用于向当前页面中包含其它文件,被包含的文件可以是静态文件或者动态文件
<jsp:include page="url" flush="false|true"/>
或者
<jsp:include page="url" flush="false|true">
子动作标识符<jsp:param>
</jsp:include>
请求转发标识<jsp:forward>
可以将请求转发到其它的Web资源,可以是另一个JSP文件、HTML页面、Serlet等
<jsp:forward page="url">
或者
<jsp:forward page="url">
<jsp:param>
</jsp:forward>
请求转发标识<jsp:param>
作为其它标识符的子标识符,用于为其它标识传递参数
<jsp:param name="参数名" value="参数值">
上一篇: JSP基础知识
下一篇: JavaWeb详解之JSP