由于学习android开发,必然要去学习关于Web开发的东西,首先来接触一下JSP。关于JSP的出现背景、工做原理等东西就暂时不写了。直接切入正题,怎么使用JSP。今天先来学习最基础的JSP指令。html
JSP指令是干什么的呢?咱们都知道JSP其实就是简化的Servlet,JSP指令就是来设置JSP页面的属性,告诉编译器如何生成Servlet,如何处理页面,如编码方式等。JSP指令的格式为:“<%@ JSP指令 %>”。(注:JSP不区分大小写)
java
JSP的指令标签主要就是如下三个:android
pageweb
include编程
taglib缓存
1. page指令安全
page从字面理解就是“页面”,因此page的做用就是声明整个JSP页面的相关属性。其格式以下:session
<%@ page 属性1="属性1的值1"[,"属性1的值2"…]
属性2="属性2的值1"[,"属性2的值2"…]
…
%>多线程
page的主要属性:app
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。如:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>