一、JSP网页主要分为elements 和 Template Data两部分
Template Data: JSP Container不处理部分,如HTML
Elements: 必须由JSP Container处理部分,大小写必须一致
有四种类型,Directive、 Scripting、 Action、 EL
二、批注
客户端可以看到的批注:<!-- xxxxxxxxx -->
开发程序员专用的批注:<%-- xxxxxxxx --%>或者 <% /** xxxxxxxx **/ %>
三、Quoting 和 Escape规则
<% <%
‘ \'
“ \"
\ \\
%> %\>
四、Directive
<%@ xxxxxxx %>
page指令:
<%@ page xxxxxxx%>
有11个属性(language, extends, import, session, buffer, autoFlaush, isThreadSafe, info, errorPage, isErrorPage, contentType,pageEncoding, isELIgnored)
<%@ page import = "java.util.Date" %> 导入java.util套件,那么这个套件中有哪些方法?
include指令:JSP编译时插入JSP网页、HTML网页、文本文件、Java程序(避免使用<html> <body>标签)
<%@ include file = "relativeURLspec" %>
<jsp:directive.include file = 'relativeURLspec" />
taglib指令:
<%@ tablib uri = "tagLibraryURI" prefix = "tabPrefix" %>
<jsp:directive.tablib uri = "tagLibraryURI" prefix = "tabPrefix" />
五、scripting elements
声明 <%! 这是声明 %>仅本页有效,此声明为全局变量,如需局部变量,请在 <% xxxx %>中声明
<%! int i = 0 ; %>
<%! int a, b, c; %> <%! Circle b = new Circle(2.0); %>
<%! public String f(int i) { if ( i < 3 ) return (" i 小于 3");} %>
scriptlets <% 这是scriptlets %>
只要合乎Java本身的语法即可,声明变量或方法,显示出表达式,使用隐含的对象和使用<jsp:useBean>声明过的对象,编写JSP语句
表达式 <%= 这是表达式 %>
《%= (new java.util.Date()).toLocaleString() %>
不能使用分号做结束符
六、Action Elements
有20项Action,分为5类
1:存取JavaBean
<jsp:useBean> <jsp:setProperty> <jsp:getProperty>
2:JSP1.2原有的action元素
<jsp:include>
<jsp:include page = "{urlSpec | <%= expression %>}" flush = "true | false" />
page:代表一个相对路径的文件
flush:若为true,缓冲区满时,将会被清空, 默认值为false
<jsp:forward>
将客户端所发出来的请求,从一个JSP网页转交给另一个JSP网页。
<jsp:forward page={"relativeURL" | "<%= expression %>} /><jsp:forward page={"relativeURL" | "<%= expression %>} >
<jsp:param name="PN" value="{PV | <%= expression %>}" /> *
</jsp:forward>
<jsp:param>
用来传递key/value信息,可以与 include , forward, plugin 搭配使用,新增参数比request对象所含的对象优先级高
<jsp:plugin>
用于在浏览器中播放或显示一个对象(通常为Applet 或 Bean) 详细参数:P65
<jsp:params>
传参数给<jsp:plugin>
<jsp:fallback>
当<jsp:plugin>不能启动Applet或Bean时,浏览器显示的错误信息
3:JSP Document
<jsp:root> <jsp:declaration> <jsp:scriptlet> <jsp:expression> <jsp:text> <jsp:output>
4:产生动态XML元素的标签
<jsp:attribute> <jsp:body> <jsp:element>
<jsp:element name = "first name" >
<jsp:attribute name="name">Mike</jsp:attribute>
<jsp:body>Hello</jsp:body>
</jsp:element>
执行结果
<firstname name="Mike>Hello</firstname>
5:Tag file中用到的元素
<jsp:invoke> <jsp:doBody>
七、错误处理
JPS网页->Servlet类 Translation Time Processing ErrorsHTTP Status 500错误,JSP程序问题或者配置问题
Servlet类处理每一请求时 Client Request Time Processing Errors 利用Exception机制进行
<%@ page errorPage="xxx.jsp" %>
<%@ page isErrorPage="true" %>