文章目录
前言
- JSP工作原理
- JSP基础语法
- JSP中3个编译指令
- JSP中7个动作指令
- JSP中9个内置对象
一、JSP页面组成
- 静态部分:标准的HTML标签、静态页面内容构成;
- 动态部分:Java程序控制的内容,是由Java程序动态生成
二、JSP执行过程
JSP转译和编译
JSP工作原理
- 如果该jsp页面第一次收到请求,先编译jsp文件,生成对应的Servlet
- 如果jsp页面已有对应的servlet,则根据请求动态生成标准的html页面
JSP优点
- 将内容与表示分离
- 强调可重用组件
JSP基础语法
JSP页面元素组成
- JSP脚本:可以包含任何可执行的Java代码。Java代码可通过JSP脚本嵌入html页面。
- JSP表达式:提供了一种输出表达式值的简单方法,语法格式如<%=表达式%>。
- JSP声明:用于声明变量和方法。声明时不需要定义类。
- JSP注释:用于标注在程序开发过程中开发提示,不会输出到客户端。
JSP脚本
- JSP Scriptlet概念
JSP脚本就是在JSP页面里嵌入一段Java代码 - JSP脚本在JSP页面中的表现形式
<% Java代码 %>
示例
- circle.jsp文件用于输出圆面积的页面,要输出面积s的值,先计算s的值,然后输出结果。
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<html>
<body>
<%
double r=10.0, s;
s=3.14 * r * r;
out.print(s);
%>
</body>
</html>
- 将上面的circle.jsp文件存放到WebRoot文件夹下。启动Tomcat服务器,在浏览器中输入地址“http://localhost:8080/JSPExample/circle.jsp”,将在窗口中显示圆面积的值“314.0”。
使用JSP Scriptlet进行JSP编程
<body>
<h1>以直角三角形的形式显示数字</h1>
<%
for(int i=1;i<10;i++) {
for(int j=1;j<=i;j++) {
out.println(j);
}
out.println("<br/>");
}
%>
</body>
JSP表达式
- 表达式的概念
表达式是对数据的表示,系统将其作为一个值进行计算和显示 - 表达式在JSP页面中的表现形式
<%= Java表达式 %>
示例
- circle.jsp文件用于输出圆面积的页面,要输出面积s的值,先计算s的值,然后输出结果。JSP中提供了一种表达式,可以很方便地输出圆面积运算结果,代码如下:
<body>
<%double r=10.0; %>
<%=3.14*r*r %>
</body>
<body>
<h1>JSP表达式 </h1>
<b>PI 的值: </b><%=Math.PI %><br />
<b>100,99中最大的值 :</b><%=Math.max(100,99) %><br/>
<b>100,99中最小的值 :</b><%=Math.min(100,99) %><br/>
<b>3+2-5的值 :</b><%=3+2-5 %><br/>
<b>(3+2)==5的值 :</b><%=(3+2)==5 %><br/>
<b>(3+2)!=5的值 :</b><%=(3+2)!=5 %><br/>
</body>
JSP声明
- JSP 声明的概念
-
JSP声明就是在JSP页面中声明Java方法或变量等
- JSP声明在JSP页面中的表现形式
- <%! 变量和方法声明 %>
JSP声明变量代码片段:
<%!
String name="liu";
int i=0;
%>
JSP声明方法格式如下:
<%!
返回值数据类型 函数名(数据类型 参数, …) {
语句;
return (返回值);
}
%>
使用JSP声明进行JSP编程
》 需求分析:某系统计算的金额中有两种形式,一种是带有两位小数的,另一种是整数。现在要求你在JSP页面将不带小数的金额转换为带两位小数的金额。
解决方法:
1、利用JSP声明,声明一个方法,将整数转换 为两位小数
2、利用JSP脚本调用声明方法,转换金额
3、在JSP页面利用表达式显示转换后金额
代码
<%!
//申明一个常量
final String SEPARATOR =".";
//声明一个方法
public String convertAmountWithSeparator(String money) {
int index = money.indexOf(SEPARATOR);
String str="";
if(index==-1)
str = money+".00";
return str;
}
%>
JSP注释
- 输出注释
输出注释的语法规则如下:
<!-- 注释内容[<%=表达式%>]-->
- 这种注释和HTML文件中的注释很相似,唯一不同的是,前者可以在这个注释中用表达式,以便动态生成不同内容的注释。这些注释的内容在客户端是可见的,即能够返回到客户端html文件中。如下面一段注释:
<!-- 现在时间是:<%=(new java.util.Date()).toLocaleString() %> -->
- 隐藏注释
隐藏注释的语法规则如下:
<%-- 注释内容--%>
- 隐藏注释与输出注释不同的是,这个注释虽然写在JSP程序中,但是不会发送给用户,即在返回到客户端html的文件中不可见。