因为学习android开发,必然要去学习关于Web开发的东西,首先来接触一下JSP。关于JSP的出现背景、工作原理等东西就暂时不写了。直接切入正题,怎么使用JSP。今天先来学习最基础的JSP指令。
JSP指令是干什么的呢?我们都知道JSP其实就是简化的Servlet,JSP指令就是来设置JSP页面的属性,告诉编译器如何生成Servlet,如何处理页面,如编码方式等。JSP指令的格式为:“<%@ JSP指令 %>”。(注:JSP不区分大小写)
JSP的指令标签主要就是以下三个:
-
page
-
include
-
taglib
1. page指令
page从字面理解就是“页面”,所以page的作用就是声明整个JSP页面的相关属性。其格式如下:
<%@ page 属性1="属性1的值1"[,"属性1的值2"…]
属性2="属性2的值1"[,"属性2的值2"…]
…
%>
page的主要属性:
-
language属性
定义了JSP脚本所使用的编程语言,或许这个是用来扩展的,但目前只支持Java,因此只能这样来写:
|
<%@ page language="java" %>
-
import属性
为当前JSP页面引入要使用的Java包和类,并且import属性是page指令中唯一可以多次使用声明的属性,如果引入多个包或类,可以用“,”分开。如:
<%@ page import="java.lang.*","java.io.*" %>
-
contentType属性
定义了JSP页面响应的MIME类型和字符编码,根据该属性判断文档的类型。如:
|
<%@page contentType="text/html;charset=GB2312"%>
contentType默认值默认值是"text/html;charset=ISO-8859-1" 。
常用文档类型有:
-
HTML:text/html
-
纯文本:text/plain
-
JPG图像:image/jpeg
-
GIF图像:image/gif
-
WORD文档:application/msword
-
-
session属性
用来设置是否需要使用内置的session对象,默认值为“true”。
-
autoFlush属性
当缓冲区满时,是否自动刷新,默认值为“true”。
-
buffer属性
指定缓存的大小,值为none或多少kb,在autoFlush为true的情况下有效,如:
<%@ page buffer="16kb" %>
-
isThreadSafe属性
设置当前JSP页面是否线程安全,就是是否允许多线程访问,默认值为true。
-
info属性
描述JSP页面的信息,为任意字符串,可以使用servlet类的getServletInfo()方法来获得该值。
-
errorPage属性
设置一个错误处理页面,当JSP页面出现异常或错误时,会跳转到该属性指定的错误页面,其值为指定的某个JSP页面的相对路径。
-
isErrorPage属性
设置该JSP页面是否为错误处理页面,默认值为false。
当然,page指令还有几个其他不常用或已经取消的属性,就是因为基本不会涉及,了解不了解都无所谓了。
2. include指令
include指令应该是最简单的了,就是指定当前JSP页面包含一个其他的文件,从而和当前文件组成一个整体的文件。该指令可以多次使用。所有包含的文件的源码相当于添加到当前JSP文件中,编译成一个class文件,是包含编译的关系,属于静态包含文件(后面会有一个动作指令与其相似,但原理不同)。其格式如下:
<%@ include file="包含文件的相对路径" %>
3. taglib指令
taglib指令用来指定当前JSP页面内使用的JSP标签库,标签的功能很强大,也很高效,也是JSP最常用的功能,但目前我也不了解到底怎样,日子很长,慢慢学。taglib指令有两个属性,分别指定类库地址uri和前缀prefix。如: