Java Server Page
拯救人类于不断地用response的printWriter写相应内容的场景中。
基本语法
声明
<%! %>
<%! int i; public void setName(){… …} %>
程序代码
<%%>
<% int j; for (int k=0; k<10; k++) { … … } %>
表达式
<%=“hello world”%> <%=i+1%>
注释
格式: <!--… …--> HTML文件的注释,浏览器可以查看到 <%--… …--%> JSP文件的注释,浏览器看不到 <%//… …%> Java语言中的单行注释,浏览器看不到 <%/*… …*/%> Java语言中的多行注释,浏览器看不到 注释的内容不会被执行
指令和动作
<%@指令 属性=“属性值”%>
常用的有page、taglib、include
page
import 导入相应的包,惟一允许在同一文档中多次出现的属性
contentType 设置Content-Type响应报头,标明即将发送到浏览器的文档类型
pageEncoding 设置页面的编码
language 指定页面使用的语言
session 控制页面是否参与HTTP会话
errorPage 处理当前页面中抛出但未被捕获的任何异常
isErrorPage 当前页是否可以作为其他页面的错误处理页面
taglib
<!-- prefix属性用于指定库前缀 --> <!-- uri属性用于指定库的标识 --> <%@taglib uri=“tagLibary” prefix=“prefix”%>
include指令和动作
静态包含 直接在转换成Servlet时编译好
<%@include file=“被包含的文件地址%>
动态包含 访问的时候再编译
<jsp:include page=“URLSpec” flush=“true”/>
jsp:forward/jsp:param
<jsp:forward page=“urlSpec” flush=“true”/> <jsp:forward page=“urlSpec”> <!-- 用于指定参数和其对应的值 --> <jsp:param name=“key” value=“value”/> </jsp:forward>
内置对象
在JSP程序中有9个内置对象由容器为用户进行实例化,程序员可以不用定义就直接使用这些变量。
在JSP转换成Servlet后,会自动追加这些变量的定义,使用内置对象可以简化JSP的开发。
基本是见名知意的
out常用方法
request常用方法
response常用方法
session常用方法
application常用方法
pageContext常用方法
exception用法
exception 对象是Throwable的实例,表示的是JSP的异常信息。
如果要使用它,必须将对应页面page指令的isErrorPage属性设置成true。
单个页面的处理方式
<%@page errorPage="error.jsp" %>
当然也可以在web.xml里统一配置
<error-page> <exception-type>java.lang.Throwable</exception-type> <location>/error.jsp</location> </error-page>
Jsp + JavaBean
使用jsp:useBean的方式创建javaBean实例
<jsp:useBean id=“对象名” scope=“保存范围 class=“包名.类名” /> // 保存范围有:page|request|session|application,默认为page范围。
使用jsp:setProperty的方式设置javaBean的属性值
<jsp:setProperty name="对象名" property="属性名" value="属性值" param="参数名"/>
使用jsp:getProperty的方式获取javaBean的属性值
<jsp:getProperty name="对象名" property="属性名"/>
删除对象
<% page/request/session/application.removeAttribute(“JavaBean的名字”); %>