**
一、JSP简介:
**
1、JSP
JSP是指Java服务器端页面,由HTML+JSP标记+Java代码组成。
2、特点:
①降低了程序设计的难度
②可以使用可视化工具,减少了开发工作量
③不需要手动编译
④包含相关的内置对象、指令元素与动作元素,简化了编写servlet程序的过程。
⑤可运用Java所提供的各类包
3、执行过程:
①请求(Request)
②翻译(Servlet即.java文件)
③编译(.class文件)
④执行
⑤响应(Response)
4、基本元素:
二、JSP基本元素
<参考wugewuge的博客:http://blog.csdn.net/wugewuge/article/details/7979274>
1、jsp注释
<%-- annotation --%> //jsp注释:不经过翻译阶段,客户端不可见
<% //annotation %> //单行注释:经过翻译阶段,客户端不可见
<% /* annotation
annotation
annotation*/%> //多行注释:经过翻译阶段,客户端不可见
<!-- --> //html注释:经过翻译、编译阶段,客户端可见
2、JSP脚本元素
(1)JSP声明
<%! int a=0; %> //成员变量
<% int b=0; %> //局部变量
…… //还有成员方法和局部方法
(2)JSP脚本
<% Java代码 %>
(3)JSP表达式
<%=表达式 %>
//注意:表达式后无分号
// 表达式返回结果为字符串。
3、JSP指令元素
<%@ include / page / tablib %>//三大指令元素
4、JSP动作元素
(1)include动作元素
-
作用:
include动作元素用来在JSP页面中包含其他静态页面和动态页面。
- 无参数格式:
<jsp:include page=”文件路径” flush=”true|false”/>
- 带参数格式:
<jsp:include page=”文件路径” flush=”true|false”/>
<jsp:param name=”参数名1” value=”参数1的值”>
<jsp:param name=”参数名2” value=”参数2的值”/>
<jsp:param name=”参数名3” value=”参数3的值”/>
…
<jsp:param name=”参数名n” value=”参数n的值”/>
</jsp:include>
- 示例:
<body>
<!-- 动态包含静态文件 -->
<jsp:include page="1.html" flush="true"></jsp:include>
<% String name=request.getParameter("name");
if(name==null||name==""){
name="0";
}
%>
<!-- 动态包含文件并传递参数 -->
<jsp:include page="2.jsp" flush="true">
<jsp:param name="r" value="<%=name %>" />
</jsp:include>
<!-- 动态包含文件并不传递参数 -->
<jsp:include page="3.jsp" flush="true"></jsp:include>
</body>
(2)forward动作元素
-
作用:
forward动作元素用来跳转网页,即将当前页面跳转到其他指定页面。转向的目标页面可以是静态HTML页面、JSP页面或Servlet类。
- 无参数格式:
<jsp:forward page=”文件路径” flush=”true|false”/>
- 带参数格式:
<jsp:forward page=”文件路径” flush=”true|false”/>
<jsp:param name=”参数名1” value=”参数1的值”>
<jsp:param name=”参数名2” value=”参数2的值”/>
<jsp:param name=”参数名3” value=”参数3的值”/>
…
<jsp:param name=”参数名n” value=”参数n的值”/>
</jsp:forward>
- 示例:
//用户登录页面,登录成功跳转到sucess.jsp,否则跳转到error.jsp
<body>
<% String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
if(name.equals("sa")&&pwd.equals("123")){
%>
<jsp:forward page="sucess.jsp">
<jsp:param value="<%=name%>" name="name"/>
<jsp:param value="<%=pwd%>" name="pwd"/>
</jsp:forward>
<% }else{%>
<jsp:forward page="error.jsp"></jsp:forward>
<% }%>
</body>
(3)param动作元素
-
作用:
param动作元素主要用来向需要包含的动态页面或要跳转的动态页面传递参数。
语法:
<jsp:param name=”属性名” value=”属性值”/>
//注意:param动作元素必须配合include动作元素、forward动作元素和plugin等元素,在加载外部程序或是网页转换的时候,传递参数给另外一个JSP程序。
- 示例:
<body>
<% String str=null;
str="Hello World!";
%>
<jsp:forward page="1.jsp" >
<jsp:param name="str" value="<%=str%>" />
</jsp:forward>
</body>
(4)useBean动作元素
作用:
useBean动作元素用来在JSP中创建并使用一个JavaBean。实际工作中常用JavaBean做组件开发,而在JSP中只需要声明并使用这个组件,这样可以较大限度地实现静态内容和动态内容的分离。语法:
<jsp:useBean id=”bean的名称” scope=”有效范围” class=”包名.类名”></useBean>
//useBean动作元素有id、class、scope、type和beanName五种属性
- 示例:
//圆形实体类
public class CircleBean {
private double radius=1.0;
private double perimeter;
private double area;
private double PI=3.14;
public CircleBean(){ }
public void setRadius(double r){
radius=r;
}
public double getRadius(){
return radius;
}
public double getPerimeter(){
perimeter=radius*2*PI;
return perimeter;
}
public double getArea(){
area=radius*radius*PI;
return area;
}
}
//jsp页面
<body>
<form id="form1" name="form1" method="post" action="">
请输入圆的半径:
<input type="text" name="radius1" />
<input type="submit" name="Submit" value="提交" />
</form>
<!-- 加载JavaBean -->
<jsp:useBean id="cicle" class="ch07.CircleBean" ></jsp:useBean>
<!-- 使用setProperty属性设置JavaBean属性 -->
<jsp:setProperty property="*" name="cicle" />
<jsp:setProperty property=" radius" name="cicle“ param=“radius1” />
<!-- 使用getProperty属性获取JavaBean属性 -->
<p>圆的半径:<jsp:getProperty property="radius" name="cicle"/> </p>
<p>圆的面积:<jsp:getProperty property="area" name="cicle"/> </p>
<p>圆的周长:<jsp:getProperty property="perimeter" name="cicle"/> </p>
</body>
(5)setProperty
-
作用:
设置Bean中的属性值。
语法:
<jsp:setProperty name="bean的名称" property="*" />
<jsp:setProperty name="bean的名称" property="属性名称" />
<jsp:setProperty name="bean的名称" property="属性名称" param=”参数名称” />
<jsp:setProperty name="bean的名称" property="属性名称" value=”属性值” />
(6)getProperty
-
作用:
getProperty动作元素获取Bean中的属性值并将其转换为字符串,用于在页面中显示。
- 语法:
<jsp:getProperty name="bean的名称" property="属性名称" />
(7)plugin动作元素
-
作用:
plugin动作元素用来在JSP网页中加载Java Applet或JavaBean程序组件。
语法:
<jsp:plugin
type=”bean|applet”
code=”加载Java程序编译后的类名称”
codebase=” 编译后Java程序类所在目录”
name=”名称”
align=”top|right|bottom|left”
height=”加载的程序在窗口中显示的高度”
width=”加载的程序在窗口中显示的宽度”
hspace=”加载的显示区与网页其他内容的水平间隔”
vspace=”加载的显示区与网页其他内容的垂直间隔”>
<jsp:params>
<jsp:param name=”参数名1” value=”参数1的值”>
<jsp:param name=”参数名2” value=”参数2的值”/>
…
<jsp:param name=”参数名n” value=”参数n的值”/>
</jsp:params>
</jsp:plugin>
- 示例:
<form id="form1" name="form1" method="post" action="">
请输入圆的半径:
<input type="text" name="name" />
<input type="submit" name="Submit" value="提交" />
</form>
<%String str=request.getParameter("radius");
if(str==null||str==""){str="30"; }
%>
<!-- 加载Java Applet -->
<jsp:plugin code="CircleApplet.class" type="applet" width="300" height="300">
<jsp:params>
<jsp:param name="width" value="300"/>
<jsp:param name="height" value="300"/>
<jsp:param name="radius" value="<%=str%>"/>
</jsp:params>
</jsp:plugin>