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= "确认" >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<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 制作一个简单的留言板。

 这回在课前预习,能够独立完成。

推荐访问: 程序设计 实验 报告

【JSP程序设计实验报告】相关推荐

工作总结最新推荐

NEW
  • 同志们:今天这个大会,是市委全面落实党要管党、从严治党要求的一项重大举措,也是对县市区委书记履行基层党建工作第一责任人情况的一次集中检阅,同时是对全市基层党建工作的一次再部署、再落实的会议。前面,**

  • ***年,我认真履行领班子、带队伍、抓党员、保稳定的基层党建工作思路,以学习贯彻习近平新时代中国特色社会主义思想和党的十九大历次全会精神为主线,以市局基层党建工作考核细则为落脚点,落实全面从严治党主体

  • 根据会议安排,现将2022年履行抓基层党建工作职责情况报告如下:一、履职工作特色和亮点1 突出政治建设,着力在思想认识上提高。牢固树立抓党建就是抓政绩的理念,以“党建工作抓引领、社区治理求突破,为民服

  • 2022年以来,在**党委的正确领导下,坚持以习近平新时代中国特色社会主义思想为指导,深入学习宣传贯彻党的二十大精神,以党建工作为统领,扎实开展夯实“三个基本”活动,以“四化四力”行动为抓手,聚力创建

  • 各位领导,同志们:根据会议安排,现就2022年度抓基层党建工作情况汇报如下:一、主要做法及成效(一)强化政治引领。一是不断强化理论武装。坚持通过党组会、中心组学习会和“三会一课”,第一时间、第一议题学

  • 2022年度抓基层党建工作述职报告按照党委工作部署,现将本人2022年度抓基层党建工作情况报告如下:一、2022年度抓基层党建工作情况(一)旗帜鲜明讲政治将旗帜鲜明讲政治放在全局发展首要位置,积极开展

  • 2022年,是我在数计系党总支书记这个新岗位上度过的第一个完整的工作年度。回首一年来在校党委的正确领导下,与数计系领导班子和全体师生共同走过的日子,艰辛历历在目,收获温润心田。作为党总支书记,我始终牢

  • 按照考核要求,现将本人一年来,作为统战部长履行职责、廉洁自律等方面情况报告如下:一、着眼增强政治素质,不断深化理论学习坚持把旗帜鲜明讲政治作为履职从政的第一位要求,带领统战系统干部坚决拥护“两个确立”

  • **年,紧紧围绕党工委、管委会的决策部署,全体人员团结协作、凝心聚力,紧扣党工委“**”基本工作思路,全力开拓进取,认真履职尽责,圆满完成各项工作任务。一、个人思想政治状况柠檬文苑www bgzjy

  • 按照县委关于开展抓基层党建述职评议会议的有关要求,经请示县委组织部同意,今天,我们在此召开2022年度基层党组织书记抓基层党建述职评议会议。1 首先,请**党委书记,**同志述职。**党委能够主动研究