实验二JSP内置对像的使用_第1页
实验二JSP内置对像的使用_第2页
实验二JSP内置对像的使用_第3页
实验二JSP内置对像的使用_第4页
实验二JSP内置对像的使用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告课程名称:网络数据库编程专业班级:计算机科学与技术( )级学生学号:学生姓名:实验名称:实验成绩:课程类别: 必修限选þ 公选 其它JSP内置对象(实验)一、request对象1. 相关知识点HTTP通信协议是客户与服务器之间一种提交(请求)信息与响应信息(request/response)的通信协议。在JSP中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。2实验目的本实验的目的是让学生掌握怎样在JSP中使用内置对象request。3.实验要求学会看懂前调试Testcode2文件夹中的文件。

2、二、session对象1. 相关知识点HTTP协议是一种无状态协议。一个客户向服务器发出请求(request),然后服务器返回响应(response),连接就被关闭了。所以,Tomcat服务器必须使用内置session对象(会话)记录有关连接的信息。同一个客户在某个Web服务目录中的session是相同的;同一个客户在不同的Web服务目录中的session是互不相同的;不同用户的session是互不相同的。一个用户在某个web服务目录的session对象的生存期限依赖于客户是否关闭浏览器、依赖于session对象是否调用invalidate()方法使得session无效或session对象达到

3、了设置的最长的“发呆”时间。2实验目的本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。3实验要求编写四个JSP 页面inputGuess.jsp、,实现猜数字游戏。具体要求如下的具体要求用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。该页面同时负责将这个数字存在用户的session对象中。该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面。页面负责判断inputGuess.jsp提交的猜测是否和用户的session对象中存放的那个数字相同,如果相同就将用户重定向到;如果不相同就将用户重定向到或。的具体要求s

4、mall.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面。success.jsp的具体要求页面负责负责显示用户成功的消息,并负责输出用户session对象中的数据。4JSP页面效果示例(效果如图4-4) 图4-4 输入猜测(效果如图4-5) 图4-5 猜大了(效果如图4-6) 图4-6 猜小了(效果如图4-) 图4-7 猜成功了5参考代码代码仅供参考,学生可按着实验要求,参考本代码编写代码。JSP页面参考代码<% page contentType="text/html;charset=GB2312" %&

5、gt;<HTML><BODY bgcolor=cyan><FONT Size=2><P>随机分给了你一个1到100之间的数,请猜! <% int number=(int)(Math.random()*100)+1; session.setAttribute("count",new Integer(0); session.setAttribute("save",new Integer(number); %> <FORM action="result.jsp" method

6、="post" name=form> 输入你的猜测:<INPUT type="text" name="boy" > <INPUT TYPE="submit" value="送出" name="submit"> </FORM></FONT></BODY></HTML><% String str=request.getParameter("boy"); if(str.lengt

7、h()=0) response.sendRedirect("inputGuess.jsp"); int guessNumber=-1; try guessNumber=Integer.parseInt(str); Integer integer=(Integer)session.getAttribute("save"); int realnumber=Value(); if(guessNumber=realnumber) int n=(Integer)session.getAttribute("count").i

8、ntValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRedirect("success.jsp"); else if(guessNumber>realnumber) int n=(Integer)session.getAttribute("count").intValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRe

9、direct("large.jsp"); else if(guessNumber<realnumber) int n=(Integer)session.getAttribute("count").intValue(); n=n+1; session.setAttribute("count",new Integer(n); response.sendRedirect("small.jsp"); catch(Exception e) response.sendRedirect("inputGuess.j

10、sp"); %><% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan> <FONT Size=2> <FORM action="result.jsp" method="get" name=form > 猜小了,请再猜:<INPUT type="text" name="boy" > <INPUT TYPE=&qu

11、ot;submit" value="送出" name="submit"> </FORM></FONT></BODY></HTML><% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan> <FONT Size=2> <FORM action="result.jsp" method="get"

12、; name=form > 猜大了,请再猜:<INPUT type="text" name="boy" > <INPUT TYPE="submit" value="送出" name="submit"> </FORM></FONT></BODY></HTML><% page contentType="text/html;charset=GB2312" %><HTML><B

13、ODY bgcolor=cyan><FONT Size=2><% int count=(Integer)session.getAttribute("count").intValue();int num=(Integer)session.getAttribute("save").intValue();%><P>恭喜你,猜对了<BR>您共猜了<%=count%>次,这个数字就是<%=num%>。<BR>单击超链接返回到inputGuess.jsp页面:<BR>

14、;<A href="inputGuess.jsp">inputGuess.jsp</A> </FONT></BODY></HTML>有效范围为application的bean(选读)1. 相关知识点JSP页面使用useBean标记调用一个有效范围是application的bean:<jsp:useBeanid= "bean起的名字" class= "创建bean的类" scope= "application"></jsp:useBean&

15、gt;或<jsp:useBeanid= "bean起的名字" class= "创建bean的类" scope= "application"/>JSP引擎为Web服务目录下所有的JSP页面分配一个共享的bean,不同用户的scope取值是application的bean也都是相同的的一个,也就是说,当多个用户同时访问一个JSP页面时,任何一个用户对自己bean的属性的改变,都会影响到其他的用户。2实验目的本实验的目的是让学生掌握使用有效范围是application的bean制作一个简单的留言板。3实验要求要求编写两个JSP页

16、面:inputMess.jsp和show.jsp。编写一个名字为board的Javabean,其中board由MessBoard.class类负责创建。1.input.jsp页面提供一个表单。其中表单允许用户输入留言者的姓名、留言标题和留言内容期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为board的bean,并使用表单提交的数据设置board的有关属性的值。要求在inputMess.jsp提供一个超链接,以便用户单击这个超链接访问show.jsp页面。2.show.jsp调用名字为board的bean,并显示该bean的allMessage属性的值。ractice7WEB-IN

17、Fclassestomjiafei目录中。4JSP页面效果示例(效果如图7-4) 图7-4 设置有效范围是application的bean(效果如图7-5) 图7-5 显示有效范围是application的bean5参考代码代码仅供参考,学生可按着实验要求,参考本代码编写代码。JSP页面参考代码<% page contentType="text/html;charset=GB2312" %><% page import="tom.jiafei.MessBoard"%><jsp:useBean id="board&q

18、uot; class="tom.jiafei.MessBoard" scope="application"/><HTML><BODY> <FORM action="" method="post" name="form"> 输入您的名字:<BR><INPUT type="text" name="name"> <BR>输入您的留言标题:<BR><INPUT type

19、="text" name="title"> <BR>输入您的留言:<BR> <TEXTAREA name="content" ROWs="10" COLS=36 WRAP="physical"></TEXTAREA> <BR><INPUT type="submit" value="提交信息" name="submit"> </FORM> <j

20、sp:setProperty name="board" property="*"/> <A href="show.jsp">查看留言板</A></BODY></HTML><% page contentType="text/html;charset=GB2312" %><% page import="tom.jiafei.MessBoard"%><jsp:useBean id="board" c

21、lass="tom.jiafei.MessBoard" scope="application"/><HTML><BODY bgcolor=yellow> <jsp:getProperty name="board" property="allMessage"/> <A href="inputMess.jsp">我要留言</A></FONT></BODY></HTML>Javabean源文件参考代码

22、package tom.jiafei;import java.util.*;import java.text.SimpleDateFormat;public class MessBoard String name,title,content; StringBuffer allMessage; ArrayList<String> savedName,savedTitle,savedContent,savedTime; public MessBoard() savedName=new ArrayList<String>(); savedTitle=new ArrayList

23、<String>(); savedContent=new ArrayList<String>(); savedTime=new ArrayList<String>(); 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(); SimpleDateFormat matter=new S

24、impleDateFormat("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 b

25、yte bb=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("<table border=1>"); allMessage.append("<tr>"); allMessage.append("<th>留言者姓名</th>"); allMessage.append("<th>留言标题</th>"); allMessage.append("<th>留言内容</th>"); allMessage.append("<th>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论