J2EE技术规范(四)——JSP基础 一、JSP概览a、动态内容模版
b、使用定制的Java代码扩展HTML
c、被编译成Servlets
d、可将工作划分为内容制作和程序开发
(1)JSP请求处理
JSP请求由名为JSPServlet的WebLogic Server Servlet处理,包括:
a、将JSP转化为Servlet
b、将转化后的Servlet编译为class文件
c、执行JSP
(2)应用设计模型
A、JSP规范描述了一些应用设计模型
B、这四个模型是:
a、Simple Model(简单模型)
b、Forward Delegation Model
c、Include Delegation Model
d、Decouple Model
二、JSP语法
有两种JSP语法形式:
(1)标准语法
(2)XML语法
三、JSP Scriptlets
(1) 使用<%和%>添加包含可执行Java代码的scriptlets
(2)Sciptlets可以使用流控制
(3)在给定JSP中所有的Sciptlets结合起来必须是一个完整的Java代码逻辑块
我们看一下两个示例:
if语句使用的示例:
[java]view plaincopyprint?
1. <% if (userIsLogged){%>
2. <H1>Welcome</H1>you are logged in
3. <%}else{%>
4. <H1>Waring</H1>you must log in
5. <%}%>
<% if (userIsLogged){%>
<H1>Welcome</H1>you are logged in
<%}else{%>
<H1>Waring</H1>you must log in
<%}%>
浏览器输出:
JSP将根据用户是否登录问候用户
For循环语句使用的示例:
[java]view plaincopyprint?
1. <% for(int j=3;j<=3;j<=1;j--){ %>
2. <H<%=j%>>jsps are great!!!
3. </H<%=j%>>
4. <%}%>
<% for(int j=3;j<=3;j<=1;j--){ %>
<H<%=j%>>jsps are great!!!
</H<%=j%>>
<%}%>
浏览器输出:
Jsps are great!!!
Jsps are great!!!
Jsps are great!!!
四、JSP Expressions (表达式)
(1)使用<%=和%>执行Java表达式
(2)任何一个Java表达式都是有效的
(3)Expressions的内容通常返回到客户端
Expressions引用变量,方法和对象:
五、JSP Declarations (声明)
(1) 使用<%!和%>声明类级的变量和方法
(2)这能够被整个JSP代码引用
声明变量和方法的示例:
[java]view plaincopyprint?
1. <%! double[] price={12.3,23.4,34.5}; //声明一个double的数组和返回doubles的方法
2. double getTotal(){
3. double total=0.0;
4. for(int j=0;j<prices.length;j++){
5. total+=prices[j]; //这能够从expressions,scriptlets和其它声明中引用
6. return total;
7. }
8. }
9. %>
<%! double[] price={12.3,23.4,34.5}; //声明一个double的数组和返回doubles的方法
double getTotal(){
double total=0.0;
for(int j=0;j<prices.length;j++){
total+=prices[j]; //这能够从expressions,scriptlets和其它声明中引用
return total;
}
}
%>