JSP程序设计实验报告
JSP 程序设计(一)
班级:170408
学号:20172693
姓名:刘馨雨
一、 实验题目:
JSP 语法。
二、 实验目的:
1.掌握如何使用 Tomcat 的基础知识,为以后实验打下基础。
2.掌握怎样 JSP 页面中使用成员变量,怎样 Java 程序片,Java 表达式; 3.掌握怎样在 JSP 页面中使用 include 标记动态加载文件,使用 forward实现页面转向。
三、 实验内容:
(1 1 )
程序代码:
1、inputWord.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>输入单词</title> <style type= "text/css" >
input[type=text] {
width: 20% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 20% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 20% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 200px ;">
<form action = "showDictionary.jsp"
method = "get"
name = "form" >
请输入单词(用空格分隔):<input type = "text"
name = "word" ><br/><br/>
<input type = "submit"
value = "送出"
name = "submit" >
</form> </div>
</body>
</html>
2、showDictionary.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import = "java.util.TreeSet"
%> <%@ page import = "java.util.Iterator"
%> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>显示单词</title> <style type= "text/css" >
.font
{
font-size: 40px ;
color: white ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 10px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <div align= "center"
style="margin-top: 250px ;" class = "font" > <p>
<i>
<%!
TreeSet<String> dictionary = new TreeSet<String>();
public void addWord(String s) {
String word[] = s.split(" ");
for( int i = 0; i < word.length; i++){
dictionary.add(word[i]);
}
}
%>
<%
String str = request.getParameter("word");
addWord(str);
Iterator<String> t = dictionary.iterator();
while(t.hasNext()){
String word = t.next();
out.println(" " + word);
}
%>
</i> </p> </div> </body>
</html>
3、giveFileName.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>读取文件的名称</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <div align= "center"
style="margin-top: 200px ;" class = "font" > <p>
<i>
读取名字是 ok.txt 的文件:
<br/>
<jsp:include page = "readFile.jsp" >
<jsp:param name = "file"
value = "E:\\JavaWork\\ok.txt" />
</jsp:include>
</i> </p>
</div> </body>
</html>
4、readFile.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import = "java.io.*"
%>
<!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>读取文件</title> </head>
<body>
<br/>This is readFile.jsp!<br/><br/>
<%
String s= request.getParameter("file");
File f = new File(s);
if(f.exists()){
out.println("文件" + s + "的内容:");
FileReader in = new FileReader(f);
BufferedReader bIn= new BufferedReader(in);
String line = null;
while((line = bIn.readLine()) != null){
out.println("<br/><br/>" + line);
}
}
else{
%>
<jsp:forward page = "error.jsp" >
<jsp:param name= "message"
value = "File Not Found!!!" />
</jsp:forward>
<%
}
%>
</body>
</html>
5、error.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>错误</title> <style type= "text/css" >
.font
{
font-size: 30px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <div align= "center"
style="margin-top: 200px ;" class = "font" > <p>
<i>
This is error.jsp!<br/><br/>
<%
String s= request.getParameter("message");
out.println("本页面得到的信息:" + s);
%>
</i> </p> </div> </body>
</html>
(2 2 )
程序运行结果截图:
四、实验心得体会
本次实验掌握了 jsp 界面的基本结构,能够在初始界面输入一系列未排序的单词或字母,提交给另一个界面并排序。
学会用 TreeSet。TreeSet()是使用二叉树的原理对新 ADD()的对象按照指定的顺序排序(升序、降序),每增加一个对象都会进行排序,将对象插入二叉树指定的位置,在 Integer 和 String 对象都可以进行默认的 TreeSet 排序。排列无序、不可重复,内部使用 TreeMap 的 SortedSet。
经过课下美化了界面,丰富用户体验。
JSP 程序设计( 二 )
班级:170408
学号:20172693
姓名:刘馨雨
一、 实验题目:
JSP 内置对象。
二、 实验目的:
1、通过本次实验使学生掌握 JSP 内置对象的基本语法,能够应用 request、response、out 等 JSP 内置对象的语法进行动态网站编程。
三、 实验内容:
【实验 1 】
注册页面 编写一个用户 JSP 注册页面,其中包含姓名(text)、密码(password)、年龄(select)、性别(radio)、爱好(checkbox)、自我介绍(textarea)、确认(submit)、重置(reset)表单标签,并请求到另一个 JSP 页面,在这个页面中接收信息,并将用户填写过的信息显示出来。
(1 1 )
程序代码:
1、login.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "java.io.*,java.util.*"
%> <!DOCTYPE html> <html>
<head> <meta charset= "UTF-8" > <title>注册页面</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
}
</style> </head> <body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 170px ;" class = "font" ><p><i>
注册<br/>
<form action = "main.jsp"
method = "post"
name = "form"
>
<table>
<tr>
<td>姓名</td>
<td><input type= "text"
name= "name" ></input>*</td>
</tr>
<tr>
<td>密码</td>
<td><input type= "password"
name= "password" /></td>
</tr>
<tr>
<td>性别</td>
<td><input type= "radio"
value= "男"
name= "gender" />男<input type= "radio"
value= "女"
name= "gender" />女</td>
</tr>
<tr>
<td>年龄</td>
<td>
<select name= "age" >
<script>
for( var i=1;i<=100;i++){
document.write("<option value=""+i+"">"+i+"</option>");
}
</script>
</select>
</td>
</tr>
<tr>
<td>爱好</td>
<td><input type= "checkbox"
value= "爬山"
name= "hobby" />爬山<input type= "checkbox"
value= "K 歌"
name= "hobby" />K歌<input type= "checkbox"
value= "看书"
name= "hobby" />看书</td>
</tr>
<tr>
<td>自我介绍</td>
<td><textarea type= "text"
name= "introduction"
rows= "3"
cols= "50" ></textarea></td>
</tr>
<tr>
<td></td>
<td colspan= "2"
align= "center" >
<input type= "submit"
name= "submit"
value= "确认" >      <input type= "reset"
name= "reset"
value= "重置" >
</td>
</tr>
</table>
</form>
</i></p></div> </body>
</html>
2、main.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>主页面</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
}
.font1
{
font-size: 50px ;
color: white ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 50px ;
} </style> </head>
<body> <body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div style="margin-top: 80px ;margin-left: 600px ;" class = "font1" >信
息</div><br/><br/><br/>
<div align= "left"
style="margin-top: 30px ;margin-left: 550px ;" class = "font" ><p><i>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
if("".equals(name)){
response.sendRedirect("login.jsp");
}
out.println("姓名:" + name + "<br/>");
String password = request.getParameter("password");
out.println("密码:" + password + "<br/>");
String gender = request.getParameter("gender");
out.println("性别:" + gender + "<br/>");
String age = request.getParameter("age");
out.println("年龄:" + age + "<br/>");
String[] hobby = request.getParameterValues("hobby");
for ( int i=0; i<hobby.length; i++){
out.println("爱好" + (i+1) + ":" + hobby[i]);
}
out.println("<br/>");
String introduction = request.getParameter("introduction");
out.println("自我介绍:" + introduction + "<br/>");
%>
</i></p></div> </body>
</html>
(2 2 )
程序运行结果截图:
【实验 2 】
页面刷新
使用 response 对象控制页面 3 秒钟刷新一次。(使用 java.util.Date 函数显示时间)。
(1 1 )
程序代码:
refresh.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "java.io.*,java.util.*"
%> <!DOCTYPE html> <html>
<head> <meta charset= "UTF-8" > <title>3 秒自动刷新</title> <style type= "text/css" >
.font
{
font-size: 30px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 250px ;" class = "font" >
<p>
<i>
3 秒自动刷新<br/>
<%
response.setIntHeader("Refresh", 3);
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
out.println("当前时间为: " + CT + "\n");
%>
</i>
</p>
</div> </body> </html>
(3 3 )
程序运行结果截图:
【实验 3 】
页面跳转
使用 response 对象的重定向功能实现页面跳转。在实验题目 1 中如果表单的姓名在没有填写或为空的情况下提交时,将页面重新定向到注册页面。
(1 1 )
程序代码:
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
if("".equals(name)){
response.sendRedirect("login.jsp");
}
out.println("姓名:" + name + "<br/>");
String password = request.getParameter("password");
out.println("密码:" + password + "<br/>");
String gender = request.getParameter("gender");
out.println("性别:" + gender + "<br/>");
String age = request.getParameter("age");
out.println("年龄:" + age + "<br/>");
String[] hobby = request.getParameterValues("hobby");
for ( int i=0; i<hobby.length; i++){
out.println("爱好" + (i+1) + ":" + hobby[i]);
}
out.println("<br/>");
String introduction = request.getParameter("introduction");
out.println("自我介绍:" + introduction + "<br/>");
%>
(2 2 )
程序运行结果截图:
四、实验心得体会
本次实验掌握了 jsp 内置对象 request+response,主要有以下三行:
request.getParameter(String name); response.setHeader("Refresh","3"); response.sendRedirect(“example.jsp”); 重定向也十分简单的进行跳转,此次实验并不难。
这回在课前预习,能够独立完成,复习了 html 关于表单的知识。
JSP 程序设计( 三 )
班级:170408
学号:20172693
姓名:刘馨雨
一、 实验题目:
JSP 与 JavaBean。
二、 实验目的:
1.掌握使用有效范围是 request 的 bean 存储信息; 2.掌握使用有效范围是 session 的 bean 显示计算机的基本信息; 3.掌握使用有效范围是 application 的 bean 制作一个简单的留言板。
四、 实验内容:
【实验 1 】有效范围为 request 的 的 bean 1. 实验要求 编写一个 JSP 页面 inputAndShow.jsp 和一个名字为 computer 的 Javabean,其中 computer 由 PC.class 类负责创建。
1)
inputAndShow.jsp 页面提供一个表单。其中表单允许用户输入计算机的品牌、型号和生产日期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为 computer 的 bean,并使用表单提交的数据设置 computer的有关属性的值,然后显示 computer 的各个属性的值。
2)
各个属性的值。
3)
编写的 PC.java 应当有描述计算机品牌、型号和生产日期的属性,并提供相应的 getXxx 和 setXxx 方法,来获取和修改这些属性的值。PC.java 中使用 package 语句,包名为:bean.data。将 PC.java 编译后的字节码文件PC.class 保存到对应工程的 WEB-INF\classes\bean\data 目录中。
程序代码:
1、PC.java package bean.data;
public class PC {
String brand;
String model;
String date;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
2、inputAndShow.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "bean.data.PC"
%> <jsp:useBean id= "computer"
class= "bean.data.PC"
scope= "request" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>电脑信息</title> <style type= "text/css" >
input[type=text] {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 30% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
}
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <%request.setCharacterEncoding("UTF-8"); %>
<div align= "center"
style="margin-top: 200px ;" class = "font" ><p><i>
<form action= ""
method= "post" >
电脑品牌:<input type= "text"
name= "brand" ><br/>
电脑型号:<input type= "text"
name= "model" ><br/>
生产日期:<input type= "text"
name= "date" ><br/>
<input type= "submit"
value= "提交" ><br/><br/><br/><br/>
</form>
<jsp:setProperty name= "computer"
property= "*" />
<table>
<tr>
<th>电脑品牌</th>
<th>电脑型号</th>
<th>生产日期</th>
</tr>
<tr>
<td><jsp:getProperty name= "computer"
property= "brand" /></td>
<td><jsp:getProperty name= "computer"
property= "model" /></td>
<td><jsp:getProperty name= "computer"
property= "date" /></td>
</tr>
</table>
</i></p></div> </body>
</html>
程序运行结果截图:
【实验 2 】有效范围为 request 的 的 bean 1. 实验要求 实验2要求与实验1类似,与实验1不同的是,要求编写两个JSP页面input.jsp和 show.jsp。编写一个名字为 computer 的 Javabean,其中 computer 由 PC.class类负责创建。
1)
input.jsp 页面提供一个表单。其中表单允许用户输入计算机的品牌、型号和生产日期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为 computer 的 bean,并使用表单提交的数据设置 computer 的有关属性的值。要求在 input.jsp 提供一个超链接,以便用户单击这个超链接访问 show.jsp 页面。
2)
show.jsp 调用名字为 computer 的 bean,并显示该 bean 的各个属性的值。
3)
编写的 PC.java 应当有描述计算机品牌、型号和生产日期的属性,并提供相应的 getXxx 和 setXxx 方法,来获取和修改这些属性的值。PC.java 中使用 package 语句,包名为:bean.data。将 PC.java 编译后的字节码文件PC.class 保存到对应工程的 WEB-INF\classes\bean\data 目录中。
程序代码:
1.input.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "bean.data.PC"
%> <jsp:useBean id= "computer"
class= "bean.data.PC"
scope= "session" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>输入</title> <style type= "text/css" >
input[type=text] {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 30% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
}
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <%request.setCharacterEncoding("UTF-8"); %>
<div align= "center"
style="margin-top: 200px ;" class = "font" ><p><i>
<form action= ""
method= "post" >
电脑品牌:<input type= "text"
name= "brand" ><br/>
电脑型号:<input type= "text"
name= "model" ><br/>
生产日期:<input type= "text"
name= "date" ><br/>
<input type= "submit"
value= "提交" ><br/><br/><br/><br/>
</form>
<jsp:setProperty name= "computer"
property= "*" />
<a href= "show.jsp" >访问 show.jsp,查看有关信息。</a>
</i></p></div> </body>
</html>
2.show.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "bean.data.PC" %> <jsp:useBean id= "computer"
class= "bean.data.PC" scope= "session" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>显示</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 250px ;" class = "font" ><p><i>
<table>
<tr>
<th>电脑品牌</th>
<th>电脑型号</th>
<th>生产日期</th>
</tr>
<tr>
<td><jsp:getProperty name= "computer"
property= "brand" /></td>
<td><jsp:getProperty name= "computer"
property= "model" /></td>
<td><jsp:getProperty name= "computer"
property= "date" /></td>
</tr>
</table>
</i></p></div> </body>
</html>
程序运行结果截图:
【实验 3 】有效范围为 application 的 的 bean 1. 实验要求 要求编写两个 JSP 页面 inputMess.jsp 和 show.jsp。编写一个名字为 board 的Javabean,其中 board 由 MessBoard.class 类负责创建。
1)
inputMess.jsp 页面提供一个表单。其中表单允许用户输入留言者的姓名、留言标题和留言内容,该表单将用户输入的信息提交给当前页面,当前页面调用名字为 board 的 bean,并使用表单提交的数据设置 board 的有关属性的值。要求在 inputMess.jsp 提供一个超链接,以便用户单击这个超链接访问 show.jsp 页面。
2)
show.jsp 调用名字为 board 的 bean,并显示该 bean 的 allMessage 属性的值。
3)
编写的 MessBoard.java 应当有刻画留言者的姓名、留言标题和留言内容的属性,并且有刻画全部留言信息的属性 allMessage。将 MessBoard.java编 译 后 的 字 节 码 文 件 MessBoard.class 保 存 到 对 应 工 程 的WEB-INF\classes\tom\jiafei 目录中。
程序代码:
1.inputMess.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "tom.jiafei.MessBoard"
%> <jsp:useBean id= "board"
class= "tom.jiafei.MessBoard"
scope= "application" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>留言</title> <style type= "text/css" >
input[type=text] {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 30% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
}
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <%request.setCharacterEncoding("UTF-8"); %>
<div align= "center"
style="margin-top: 200px ;" class = "font" ><p><i>
<form action= ""
method= "post"
name= "form" >
输入您的名字:<br/><input type= "text"
name= "name" ><br/>
输入您的留言标题:<br/><input type= "text"
name= "title" ><br/>
输入您的留言:<br/><textarea type= "text"
rows= "10"
cols= "80"
name= "content" ></textarea><br/>
<input type= "submit"
value= "提交" ><br/><br/><br/><br/>
</form>
<jsp:setProperty name= "board"
property= "*" />
<a href= "showMess.jsp" >查看留言板</a>
</i></p></div> </body>
</html>
2.showMess.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "tom.jiafei.MessBoard" %> <jsp:useBean id= "board" class= "tom.jiafei.MessBoard"
scope= "application" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>留言板</title> <style>
.font
{
font-size: 30px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 280px ;" class = "font" ><p><i>
<jsp:getProperty name= "board"
property= "allMessage" /><br/><br/><br/>
<a href= "inputMess.jsp" >我要留言</a>
</i></p></div> </body>
</html> 3.MessBoard.java
package tom.jiafei;
import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date;
public class MessBoard {
String name;
String title;
String content;
StringBuffer allMessage;
ArrayList<String> savedName;
ArrayList<String> savedTitle;
ArrayList<String> savedContent;
ArrayList<String> savedTime;
public MessBoard() {
savedName = new ArrayList<String>();
savedTitle = new ArrayList<String>();
savedContent = new ArrayList<String>();
savedTime = new ArrayList<String>();
}
public void setName(String name) {
savedName.add(name);
}
public void setTitle(String title) {
savedTitle.add(title);
}
public void setContent(String content) {
savedContent.add(content);
Date time = new Date();
SimpleDateFormat matter = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss");
String messTime = matter .format(time);
savedTime.add(messTime);
}
public StringBuffer getAllMessage() {
allMessage = new StringBuffer();
allMessage.append("<table border=1>");
allMessage.append("<tr>");
allMessage.append("<th>留言者姓名</th>");
allMessage.append("<th>留言标题</th>");
allMessage.append("<th>留言内容</th>");
allMessage.append("<th>留言时间</th>");
allMessage.append("</tr>");
for( int k=0; k<savedName.size(); k++) {
allMessage.append("<tr>");
allMessage.append("<td>");
allMessage.append(savedName.get(k));
allMessage.append("</td>");
allMessage.append("<td>");
allMessage.append(savedTitle.get(k));
allMessage.append("</td>");
allMessage.append("<td>");
allMessage.append(savedContent.get(k));
allMessage.append("</td>");
allMessage.append("<td>");
allMessage.append(savedTime.get(k));
allMessage.append("</td>");
allMessage.append("</tr>");
}
allMessage.append("</table>");
return allMessage;
} }
程序运行结果截图:
四、实验心得体会
本次实验掌握了有效范围是 request 的 bean 存储信息;使用有效范围是session 的 bean 显示计算机的基本信息;使用有效范围是 application 的 bean 制作一个简单的留言板。
这回在课前预习,能够独立完成。
上一篇:c语言实验报告1
下一篇:高分子化学实验报告-离子交换树脂