《实验二JSP内置对像的使用.doc》由会员分享,可在线阅读,更多相关《实验二JSP内置对像的使用.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、广州中医药大学信息技术学院实 验 报 告课程名称:网络数据库编程专业班级:计算机科学与技术( )级学生学号:学生姓名:实验名称:实验成绩:课程类别: 必修 限选 公选 其它JSP内置对象(实验)一、request对象1. 相关知识点HTTP通信协议是客户与服务器之间一种提交(请求)信息与响应信息(request/response)的通信协议。在JSP中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。2实验目的本实验的目的是让学生掌握怎样在JSP中使用内置对象request。3. 实验要求学会看懂前调试Testcode
2、2文件夹中的文件。二、session对象1. 相关知识点HTTP协议是一种无状态协议。一个客户向服务器发出请求(request),然后服务器返回响应(response),连接就被关闭了。所以,Tomcat服务器必须使用内置session对象(会话)记录有关连接的信息。同一个客户在某个Web服务目录中的session是相同的;同一个客户在不同的Web服务目录中的session是互不相同的;不同用户的session是互不相同的。一个用户在某个web服务目录的session对象的生存期限依赖于客户是否关闭浏览器、依赖于session对象是否调用invalidate()方法使得session无效或se
3、ssion对象达到了设置的最长的“发呆”时间。2实验目的本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。3实验要求编写四个JSP 页面inputGuess.jsp、result.jsp、small.jsp、large.jsp和success.jsp,实现猜数字游戏。具体要求如下1.inputGuess.jsp的具体要求用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。该页面同时负责将这个数字存在用户的session对象中。该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面。 result.jsp的具体要求re
4、sult.jsp页面负责判断inputGuess.jsp提交的猜测是否和用户的session对象中存放的那个数字相同,如果相同就将用户重定向到success.jsp;如果不相同就将用户重定向到large.jsp或small.jsp。.small.jsp和large.jsp的具体要求small.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面。success.jsp的具体要求success.jsp页面负责负责显示用户成功的消息,并负责输出用户session对象中的数据。4JSP页面效果示例inputGuess.jsp(效果如图4-4)
5、 图4-4 输入猜测large.jsp(效果如图4-5) 图4-5 猜大了small.jsp(效果如图4-6) 图4-6 猜小了large.jsp(效果如图4-) 图4-7 猜成功了5参考代码代码仅供参考,学生可按着实验要求,参考本代码编写代码。JSP页面参考代码inputGuess.jsp随机分给了你一个1到100之间的数,请猜! int number=(int)(Math.random()*100)+1; session.setAttribute(count,new Integer(0); session.setAttribute(save,new Integer(number); 输入你
6、的猜测: result.jsprealnumber) int n=(Integer)session.getAttribute(count).intValue(); n=n+1; session.setAttribute(count,new Integer(n); response.sendRedirect(large.jsp); else if(guessNumberrealnumber) int n=(Integer)session.getAttribute(count).intValue(); n=n+1; session.setAttribute(count,new Integer(n)
7、; response.sendRedirect(small.jsp); catch(Exception e)response.sendRedirect(inputGuess.jsp);small.jsp 猜小了,请再猜: large.jsp 猜大了,请再猜: success.jsp int count=(Integer)session.getAttribute(count).intValue(); int num=(Integer)session.getAttribute(save).intValue();恭喜你,猜对了您共猜了次,这个数字就是。单击超链接返回到inputGuess.jsp页面
8、:inputGuess.jsp 有效范围为application的bean(选读)1. 相关知识点JSP页面使用useBean标记调用一个有效范围是application的bean:或JSP引擎为Web服务目录下所有的JSP页面分配一个共享的bean,不同用户的scope取值是application的bean也都是相同的的一个,也就是说,当多个用户同时访问一个JSP页面时,任何一个用户对自己bean的属性的改变,都会影响到其他的用户。2实验目的本实验的目的是让学生掌握使用有效范围是application的bean制作一个简单的留言板。3实验要求要求编写两个JSP页面:inputMess.jsp
9、和show.jsp。编写一个名字为board的Javabean,其中board由MessBoard.class类负责创建。1. inputMess.jsp的具体要求input.jsp页面提供一个表单。其中表单允许用户输入留言者的姓名、留言标题和留言内容期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为board的bean,并使用表单提交的数据设置board的有关属性的值。要求在inputMess.jsp提供一个超链接,以便用户单击这个超链接访问show.jsp页面。2. show.jsp的具体要求show.jsp调用名字为board的bean,并显示该bean的allMessage属
10、性的值。3. MessBoard.java的具体要求编写的Car.java应当有刻画留言者的姓名、留言标题和留言内容属性,并且有刻画全部留言信息的属性:allMessage。将MessBoard.java编译后的字节码文件MessBoard.class保存到practice7WEB-INFclassestomjiafei目录中。4JSP页面效果示例inputMess.jsp(效果如图7-4) 图7-4 设置有效范围是application的beanshow.jsp(效果如图7-5) 图7-5 显示有效范围是application的bean5参考代码代码仅供参考,学生可按着实验要求,参考本代码编
11、写代码。JSP页面参考代码inputMess.jsp 输入您的名字: 输入您的留言标题: 输入您的留言: 查看留言板show.jsp 我要留言Javabean源文件参考代码MessBoard.javapackage tom.jiafei;import java.util.*;import java.text.SimpleDateFormat;public class MessBoard String name,title,content; StringBuffer allMessage; ArrayList savedName,savedTitle,savedContent,savedTime
12、; public MessBoard() savedName=new ArrayList(); savedTitle=new ArrayList(); savedContent=new ArrayList(); savedTime=new ArrayList(); public void setName(String s) try byte bb=s.getBytes(iso-8859-1); s=new String(bb); catch(Exception exp) name=s; savedName.add(name); Date time=new Date(); SimpleDateF
13、ormat matter=new SimpleDateFormat(yyyy-MM-dd,HH:mm:ss); String messTime=matter.format(time); savedTime.add(messTime); public void setTitle(String t) try byte bb=t.getBytes(iso-8859-1); t=new String(bb); catch(Exception exp) title=t; savedTitle.add(title); public void setContent(String c) try byte bb
14、=c.getBytes(iso-8859-1); c=new String(bb); catch(Exception exp) content=c; savedContent.add(content); public StringBuffer getAllMessage() allMessage=new StringBuffer(); allMessage.append(); allMessage.append(); allMessage.append(留言者姓名); allMessage.append(留言标题); allMessage.append(留言内容); allMessage.ap
15、pend(留言时间); allMessage.append(); for(int k=0;ksavedName.size();k+) allMessage.append(); allMessage.append(); allMessage.append(savedName.get(k); allMessage.append(); allMessage.append(); allMessage.append(savedTitle.get(k); allMessage.append(); allMessage.append(); allMessage.append(); allMessage.append(savedContent.get(k); allMessage.append(); allMessage.append(); allMessage.append(); allMessage.append(savedTime.get(k); allMessage.append(); allMessage.append(); allMessage.append(); return allMessage;第 14 页
限制150内