您的位置:首页 > Web前端 > JavaScript

JSP学习笔记之二

2011-10-24 20:39 253 查看
JSP页面和JSP标记

1. JSP页面的基本结构

一个JSP页面可由5种元素构成:普通的HTML标记、JSP标记、变量和方法的声明、java程序片、java表达式。

HTML标记可直接交给浏览器处理显示;jsp标记、数据和方法声明、java程序片由服务器执行,并将结果返回给用户浏览器;java表达式由服务器计算,并转化为字符串后交给用户浏览器。

如下示例:计算100的因子之和。时间变化只有按F5时才能变化。

<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import= "java.util.Date" %>
<%!
Date date;
public int getFactorSum(int n){
int sum=0;
for(int i=1;i<n;i++){
if(n%i==0)
sum=sum+i;
}
return sum;
}
%>
<HTML><BODY bgcolor="cyan">
<FONT Size=4><P>程序片创建Date对象:
<% date=new Date();
out.println("<br>"+date+"<br>");
int m=100;
%>
<%= m %>
的因子之和是(不包括<%= m %>):
<%= getFactorSum(m)%>
</P></FONT></BODY></HTML>

1.1 变量和方法的声明

变量:在“<%!”和”%>”之间声明,直接的变量称为JSP页面的成员变量。在整个JSP页面内都有效;多用户访问时共享。

方法:一样,也是在”<%!”和”%>”之间,整个JSP页面内有效;方法内变量只在方法中有效。

示例:由于是共享的,所有下面页面实现了访问用户的统计。

<%@ page contentType="text/html; charset=GB2312" %>
<%!
int i=0;
public int record(){i++;
return i;}
%>
<HTML><BODY bgcolor="cyan">
<FONT Size=4><P>您是第:<%= record() %>位用户!
</P>
<FORM action="mess.jsp" method=post name=form>
<INPUT TYPE="text" name="boy">
<INPUT TYPE="submit" value="enter" name="submit">
</FORM>
</FONT></BODY></HTML>


1.2 Java程序片

在<%和%>之间插入程序片,这些程序片被JSP引擎按顺序执行。

在程序片中声明的变量称为JSP页面的局部变量,方法中声明的变量就是属于此类。

1.3 表达式

在<%=和%>之间插入表达式。

1.4 注释

HTML注释:<!--此乃注释-->

JSP注释:<%--注释--%>

2. JSP标记

2.1 page指令

page用来定义整个JSP页面的一些属性和这些属性的值。可以标记的值有:contentType/import/language/session/buffer/autoflush/isThreadSafe/pageEncoding

language属性

定义JSP页面使用的脚本语言,目前只能取Java。

<%@page language=”java” %>

import属性

为JSP页面引入Java核心包中的类,这样可以在JSP页面的程序片部分、变量和方法中使用核心包中的类。

默认包含:

”java.lang.*”、”javax.servlet.*”、”javax.servlet.jsp.*”、”javax.servlet.http.*”

contentType属性

contentType默认为”text/html; charset=ISO-8859-1” 可以改。对于前一部分,可以改为:text/plain、image/gif、application/msword;后面一部分,可以有:GB2313。

session属性

设置是否需要内置的session对象。

buffer属性

用来指定out设置的缓冲区大小或不适用缓冲区,一般默认为8kb。

autoFlush属性

out缓冲区被填满时,是否自动刷新。可取true或false

isThreadSafe属性

是否允许多个线程同时访问该JSP页面。默认为true。

2.2 include指令标记

在某处插入一个文件

<%include file=”文件URL” %>

2.3 include动作标记

格式为:

<jsp:include page=”文件URL”/>

或<jsp:include page=”文件URL”>

param子标记

</jsp:include>

include动作标记告诉jsp页面动态加载一个文件,和之前include指令标记不同的是,当JSP引擎把jsp页面译成java文件时,不把jsp页面中动作指令include所指定的文件和原JSP页面合并,而是告诉java解释器,这个文件在JSP允许时才处理。

示例:两个页面,用户向第一个页面输入数字提交(如果为空, 默认为100),在第二个页面计算数字的和,并显示。

第一个页面:

<%@ page contentType="text/html; charset=GB2312" %>
<HTML><BODY bgcolor="cyan"><FONT Size=3>
<FORM action="" method=post name=form>
<INPUT type="text" name="ok">
<BR> <INPUT type="submit" value="送出" name=submit>
</FORM>
<P>请输入一个整数,单击按钮求连续和
<% String a=request.getParameter("ok");
if(a==null) a="100";
int i=Integer.parseInt(a);
%>
<jsp:include page="computer.jsp">
<jsp:param name="input" value="<%= i %>" />
</jsp:include>
</FONT></BODY></HTML>
computer.jsp

<%@ page contentType="text/html; charset=GB2312" %>
<HTML><BODY>
<%  String str=request.getParameter("input");
int n=Integer.parseInt(str);
int sum=0;
try{
for(int i=1;i<=n;i++)
sum+=i;
}
catch(NumberFormatException e){
out.print("<BR>"+"请输入数字字符:");
}
%>
<P>从1到<%= n %>的连续和是:<%= sum %>
</BODY></HTML


2.4 param动作标记

以“名字-值”的形式为其他标记提供附加信息。与jsp:include、jsp:forward、jsp:plugin一起使用。

2.5 forward动作标记

格式:

<jsp:forward page=”要转向的页面” />



<jsp:forwardpage=”要转向的页面”>

param 子标记

</jsp:forward>

2.6 plugin动作标记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: