说明:此例共包含三个页面,message.jsp,messagePane.jsp,showMessage.jsp.
message.jsp
<pre>
"<%@page contentType="text/html;charset=gb2312" %>"
<html>
<head><title>简单留言板</title></head>
<body>
<form action="messagePane.jsp" method="post" name="form">
<p>输入您的名字:
<input type="text" name="peopleName">
<br>
<p>输入您的留言标题:
<input type="text" name="Title">
<br>
<p>输入您的留言:
<br>
<textarea name="messages" rows="10" cols="36" wrap="physical">
</textarea>
<br>
<input type="submit" value="提交信息" name="submit">
</form>
<form action="showMessage.jsp" method="post" name="from1">
<input type="submit" value="查看留言板" name="look"
</form>
</body>
</html>
messagePane.jsp
<pre>
"<%@page contentType="text/html;charset=gb2312" %>"
"<%@page import="java.util.*" %>"
<html>
<head><title>简单留言板</title></head>
<body>
<%!Vector v=new Vector(); //new一个向量v。
int i=0;
ServletContext application;
synchronized void sendMessage(String s)
{//创建一个同步方法sendMessage().
application=getServletContext();;
i++;
v.add("NO."+i+","+s);
application.setAttribute("Mess",v);//创建一个application对象.
}
%>
<%
String name=request.getParameter("peopleName");
String title=request.getParameter("Title");
String messages=request.getParameter("messages");
if(name==null)
{
name="guest"+(int)(Math.random()*10000);
}
if(title==null)
{
title="无标题";
}
if(messages==null)
{
messages="无信息";
}
String s="Name:"+name+"#"+"Title:"+title+"#"+"Content:"+"<br>"+messages;
sendMessage(s);
out.print("您的信息已经提交!");
%>
<a href="message.jsp">返回</a>
</body>
</html>
showMessage.jsp
"<%@page contentType="text/html;charset=gb2312" %>"
"<%@page import="java.util.*" %>"
<html>
<head><title></title>简单留言板</head>
<body>
<%
Vector v=(Vector)application.getAttribute("Mess");
for(int i=0;i<v.size();i++)
{
String message=(String)v.elementAt(i);
StringTokenizer fenxi=new StringTokenizer(message,"#");//StringTokenizer是一个字符串分割器,按(#)分割。
while(fenxi.hasMoreTokens())
{
String str=fenxi.nextToken();
byte a[]=str.getBytes("ISO-8859-1");
str=new String(a);
out.print("<br>"+str);
}
}
%>
</body>
</html>