一、简介
JSP(java server pages)是由Sun公司建立的一种动态网页技术标准。
JSP本质就是servlet。jsp在第一次被访问时会被Web服务器翻译成servlet文件,然后被装载和实例化。此后,每次对此jsp的请求均将通过调用已经实例化的对象产生响应。因此,第一次访问特别慢,而以后就很快。
二、JSP脚本
一个jsp页面就是一个以.jsp为扩展名的程序文件,其组成元素包括HTML标记、jsp标记与各种脚本元素。脚本元素则是嵌入jsp页面的java代码。
1.JSP脚本程序
内部的java代码翻译到service方法的内部。代码中声明的变量属于jsp页面的局部变量。
<%java代码%>
2.JSP表达式
表达式的值由服务器计算,并且计算结果将自动转换为字符串发送到客户端显示。会被翻译成service方法内部out.print()。
<%=java变量或表达式>
3.JSP声明
Jsp声明用于定义jsp程序所需要的变量、方法与类,其声明方式与java相同。会被翻译成servlet的成员的内容,在整个jsp页面内都是有效的,与位置无关。
<%!java代码%>
三、JSP注释
1.Html注释
对于HTML注释,jsp引擎会将其发送到客户端,因此可以在浏览器中查看其内容。
<!--注释内容-->
2.java注释
//单行注释
/*多行注释*/
可见范围 jsp源码 ,翻译后的servlet,不会发送到客户端。
3.JSP注释
<%--注释内容--%>
可见范围 jsp源码可见
四、jsp指令(3个)
jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:
1.page指令
属性最多的指令,实际开发中page指令默认。根据不同的属性,指导整个页面特性。
格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>
常用属性如下:
language:jsp脚本中可以嵌入的语言种类,只能用java
pageEncoding:当前jsp文件的本身编码,内部可以包含contentType
contentType:response.setContentType(text/html;charset=UTF-8)
session:是否jsp在翻译时自动创建session
import:导入java的包
errorPage:当当前页面出错后跳转到哪个页面
isErrorPage:当前页面是一个处理错误的页面
例如:
<%@ page import="java.util.*"%>
<%@ page erroPage="....jsp"%>
2.include指令
页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
格式:<%@ include file="被包含的文件地址"%>
3.taglib指令
在jsp页面中引入标签库(jstl标签库、struts2标签库)
格式:<%@ taglib uri="标签库地址" prefix="前缀"%>
例如:
<%@ taglib uri="/struts-tags" prefix="s"%>
该taglib指令引用Struts2的标记库,并将其前缀指定为s。使用该指令后,即可在jsp页面中使用<s:form></s:form>等Struts2标记。