实验三 内置对象的使用
- 格式:doc
- 大小:121.50 KB
- 文档页数:6
实验三 JSP内置对象一、实验目的1.掌握JSP内置对象的用法2.掌握request、out、response、session的实际应用二、实验要求1.认真完成实验内容并得到正确的程序运行结果。
2.为你的程序加上注释,使得其清晰可读。
3.利用调试程序来修改你程序的逻辑错误4.本次实验要求写实验报告,交于下次实验课上交三、实验原理略四、主要仪器及耗材计算机及eclipse、Tomcat软件五、实验内容与步骤1.使用JSP开发一个简易酒店预订系统,功能需求如下:1)创建login.html页面,输入用户名及密码进行登录,界面如下图所示<button type="submit" class="btn-1"></button>2、登录成功后进入酒店房间列表界面,如果用户名及密码有误则重定向制至login.html。
List<Map> roomList=new ArrayList();Map room=new HashMap();room.put(“roomName”,”zzzz”);room.put(“zc”,”1111”);room.put(“no”,”0”);roomList.add(map);for(Map room: roomList){out.println(room.get(“roomName“))}<table width="690" border="0" cellspacing="0" cellpadding="0" style="overflow:hidden;"><tr id="vl_t" onmousemove="javascript:this.bgColor='#e1f3ff';"onmouseout="javascript:this.bgColor='#FFFFFF';" bgcolor="#FFFFFF"> <td width="150" valign="top" colspan="2" style="cursor:pointer"> <strong>精致山景房 </strong> </td><td valign="top">双早</td><td valign="top">大/双</td><td valign="top">免费</td><td valign="top"><em style="text-decoration: line-through;">¥1788</em></td> <td valign="top"><em>¥558</em></td><td valign="top" align="center"> <input name="selectedrooms" type="checkbox"id="arcID" value="1" class="np"> </td></tr></table>3、在上述页面中选择房间后,点击“提交预定”进入下图所示填写订单界面,显示用户选择的房间住处,并将用户信息自动填入联系人信息相关文本框中;如果用户没有登录或session超时,则重定向至login.html4、点击上述页面中“提交预览我的订单”进入预订成功信息页面,显示如下显示:。
实验报告题目:内置对象院系:计算机科学与工程学院【实验题目】内置对象【实验目的】1.理解内置对象的作用。
2.掌握Response内置对象的方法及属性。
3.掌握Request对象的用法。
4.掌握Session对象的用法。
5.熟悉Application对象的用法。
【实验内容】(一)运用Request对象实现用户登录用QueryString属性接收上一页面使用“?”传递到本页的数据。
用户访问网站时首先看到的如图所示页面(default.aspx),当用户填写了自己的姓名并单击“提交”按钮跳转到下一页面(welcome.aspx)时,页面中将显示欢迎信息。
(1)打开Visual Studio 2010创建一个网站,在Default.aspx页面上创建文本“请输入你的姓名:”,并创建TextBox,最后再创建“提交”按钮。
在“提交”按钮中写入事件,首先获取文本框中输入的文本,再通过页面的重定向进行响应,该页面效果如2-1图示。
图2-1 登录页面效果图(2)点击“提交”按钮进入反馈页面,该页面效果如2-2图示。
图2-2 反馈页面效果图(二)运用Response对象实现文件下载使用Response对象的WriteFile方法输出一个Excel文件。
程序运行时,用户单击页面中链接按钮,弹出对话框;单击“打开”按钮可在浏览器显示Excel 文件内容,单击“保存”按钮可单线程下载文件到本地硬盘。
该示例开发步骤如下:(1)打开Visual Studio 2010创建一个网站,设计Default.aspx页面,在该页面上创建一个LinkButton并显示一段文本提示用户点击下载,再通过Response.WriteFile()实现文件的下载。
该页面效果如2-3图示。
图2-3 提示页面效果图(2)单击文字,进行下载。
该页面效果如2-4图示。
图2-4 下载页面效果图(三)运用Session和Application对象使用Application对象和Session对象,结合全局配置文件Global.asax和站点配置文件Web.config,设计一个能统计当前在线人数的Web应用程序。
实验3.1 内置对象的应用目的与要求(1) 熟练掌握Application、Session对象的使用。
(2) 熟练掌握Request、Response对象的使用。
(3) 熟练掌握Cookie对象的使用。
内容和步骤【练习1】使用Application和Session对象统计在线人数(必做)(1) 启动Visual Studio 2010,使用Visual C# 语言新建一个网站。
(2) 在网站中添加Global.asax全局应用程序文件,要求应用程序生命周期开始时,初始化在线人数。
新用户会话开始时,在线人数加1,会话结束时,在线人数减1。
Global.asax 代码如下:void Application_Start(object sender, EventArgs e){ // 在应用程序启动时运行的代码// 初始化Application["counter"] = 0;}void Session_Start(object sender, EventArgs e){ ……}void Session_End(object sender, EventArgs e){ ……}(3) 在Default.aspx网页设计视图中放置3个Label控件,所包含的控件及属性列于表T-1中。
表T-1 Default.aspx文件控件及其属性在页面第一次加载时,将在线人数Application["counter"] 赋给Label3.Text,实现在界面显示在线人数。
其代码如下:Label3.Text=Application["counter"].ToString ();(4) 运行程序,结果如图T.4所示。
连续按下”刷新”按钮,观察网页上在线人数的变化。
图T.4 运行结果【练习2】利用Cookie对象统计IP地址登录次数。
(必做)(1) 在练习1建立的网站中,新建页面IPCounter.aspx,在界面中添加一个文本框和一个按钮。
安徽机电职业技术学院实验报告一、实验目的熟练掌握Javascript的数组对象、字串对象、数学对象、日期对象;二、实验内容1、编写第6章中的示例源文件,并且在IE浏览器中进行调试。
2、阅读“猜美国州名的游戏”的实现程序。
<html><head><script language = "JavaScript" > <!--var state = new Array(50);var len = state.length;/* 初始化数组 */state[0]="ALABAMA";state[1]="ALASKA";state[2]="ARIZONA";state[3]="ARKANSAS";state[4]="CALIFORNIA";state[5]="COLORADO";state[6]="CONNECTICUT";state[7]="DELAWARE";state[8]="FLORIDA";state[9]="GEORGIA";state[10]="HAWAII";state[11]="IDAHO";state[12]="ILLINOIS";state[13]="INDIANA";state[14]="IOWA";state[15]="KANSAS";state[16]="KENTUCKY";state[17]="LOUISIANA";state[18]="MAINE";state[19]="MARYLAND";state[20]="MASSACHUSETTS";state[21]="MICHIGAN";state[22]="MINNESOTA";state[23]="MISSISSIPPI";state[24]="MISSOURI";state[25]="MONTANA";state[26]="NEBRASKA";state[27]="NEVADA";state[28]="NEW HAMPSHIRE";state[29]="NEW JERSEY";state[30]="NEW MEXICO";state[31]="NEW YORK";state[32]="NORTH CAROLINA";state[33]="NORTH DAKOTA";state[34]="OHIO";state[35]="OKLAHOMA";state[36]="OREGON";state[37]="PENNSYLVANIA";state[38]="RHODE ISLAND";state[39]="SOUTH CAROLINA";state[40]="SOUTH DAKOTA";state[41]="TENNESSEE";state[42]="TEXAS";state[43]="UTAH";state[44]="VERMONT";state[45]="VIRGINIA";state[46]="WASHINGTON";state[47]="WEST VIRGINIA";state[48]="WISCONSIN";state[49]="WYOMING";var sr = Math.floor(Math.random() * len); var answer = state[sr];/* 初始化猜的次数 */var tries = 0;var startTime = new Date();var endTime = "";function guessit(){var guess = document.mForm.guess.value; if (guess.toUpperCase() == answer) {endTime = new Date();var diff = diffTime(startTime,endTime);var msg = "";if (diff<60)msg = "你用了 " + diff + " 秒";elsemsg = "不过你用了太长的时间";alert("回答正确! 州名是 " + answer + ", " + msg);newGame();}tries++;switch(tries){case 1:hint.innerHTML = "第一次提示:州名的开始字母是" + answer.charAt(0);break;case 2:hint.innerHTML = "第二次提示:州名的结束字母是" + answer.charAt(answer.length - 1);break;case 3:hint.innerHTML = "第三次提示:州名有 " + answer.length + " 个字母";break;case 4:hint.innerHTML = "最后一次提示:州名的第三个字母是" + answer.charAt(2);break;default:hint.innerHTML = "没有提示了";}if (tries == 6) {if (confirm("对不起! 州名是 " + answer + "\n还想再玩吗?")) newGame();}}function clearBox(){document.mForm.guess.value = "";hint.innerHTML = "输入你的答案,然后按回车键:";document.mForm.guess.focus(); // 将光标聚集在文本框中}function newGame(){location.reload(); // 重新刷新网页}function diffTime(from,to) {;var diffTime = parseInt((to - from) / 1000);return diffTime;}//--></script></head><body onload="clearBox();"><h3>猜美国州名游戏</h3><form name="mForm" method="post" onsubmit="guessit();return false;"> <div id="hint">输入你的答案,然后按回车键:</div><div><input type="text" name="guess"></div><br><div><input type="button" value="重玩" onClick=newGame()></div> </form></body></html>3、利用字串对象的属性和方法编写程序,将用户输入的字符串反向输出倒页面上,并且要求将其中的小写字母转换为大写字母,例如:如果输入“abc123”,则在页面中输出“321CBA”.源文件<html><head><script language="JavaScript"> <!--function currencyFormat() {var n;var inputString= document.mainForm.zifu.value;for (var i=inputString.length-1,i>=0,i--){n +=inputString.subStr(i,1);}document.mainForm.out.value=n;}//--></script></head><body><form name="mainForm"><div>输入字符串:<input type="text" name="zifu" id=""></div><div><input type="button" value="反向输出" onClick="currencyFormat()"></div><input type="text" name="out" value=""></form></body></html>4、编写程序,在页面上显示当前日期和时间,并显示是星期几。
实验三JSP内部对象的使用实验室:Linux(1)实验室S5-208实验日期:2014年9 月22日星期三节次5-6实验项目名称:实验三JSP内部对象的使用一、实验目的、要求:(1)掌握request对象、response、session、application对象、out对象的常用方法及其应用。
(2)理解request对象、response对象、session对象、application对象、out对象的作用。
(3)了解其他内置对象:获取会话范围的pageContext对象、读取web.xml配置信息的config对象、应答或请求的page对象、获取异常信息的exception对象的使用。
二、实验主要设备与材料:PC机、JDK1.5+、eclipse-jee-juno-win32、Tomcat6+、MyEclipse8.5+、MySQL 5+三、实验步骤与结果1、编写针对各种类型的客户端请求的jsp 处理程序。
代码示例:Index.html:<BODY><FORM ACTION="deal.jsp" METHOD="POST"><P> 姓名:<INPUT TYPE="TEXT" SIZE="20" NAME="username"></P><P> 密码:<INPUT TYPE="PASSWORD" SIZE="20" NAME="password"></P><P><INPUT TYPE="SUBMIT" VALUE=" 提交"> </P></FORM></BODY>deal.jsp:姓名:<%=request.getParameter("username")%> <br>密码:<%=request.getParameter("password")%>2、编写 jsp会话跟踪处理程序,该程序能跟踪处理会话过程中的各种信息。
实验三JSP内置对象一.实验目的(1)了解JSP中9个内置对象request、reponse、out、session、application、config、pagecontext、page、exception的基本概念。
(2)理解JSP内置对象的常用方法的功能。
(3)掌握JSP内置对象的应用。
二. 主要仪器设备及环境(1)PC机(2)操作系统:WINDOWSXP(3)软件:记事本, JDK、TOMCAT,IE三. 实验内容与步骤1.用JSP的内置对象request在前后台页面间传递表单数据;用内置对象前后台页面间的参数传递(1)客户端主界面experiment3_1.jsp,表单封装了三个参数:<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page contentType="text/html;charset=GBK"%><html><head><title>这是第一个JSP</title></head><body>大家好!恭喜你的第一个JSP <br><form name="submitt" action="experiment3_2.jsp" method="post" >第一个数:<input type="text" name="a" value="0" ><br>第二个数:<input type="text" name="b" value="0" ><br>第三个数:<input type="text" name="c" value="0" ><br><input type="submit" value="提交"><input type="reset" value="重填"></form></body></html>(2)第一个后台响应experiment3_2.jsp,用request对象提取前台传过来的参数,验证输入的数据a、b、c分别是西文、数字、中文:<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%!String s1,s2,s3;%><% s1=request.getParameter("a");s2=request.getParameter("b");s3=request.getParameter("c");%><html><body> This is experiment3_2.jsp page<br>前台传过来的a=<%=s1%><br>前台传过来的b=<%=s2%><br>前台传过来的c=<%=s3%><br>a+b+c=<%=s1+s2+s3%><br><a href="Experiment3_1.jsp">返回</a><br></body></html>思考●请检查结果都正确吗?尤其注意传输中文字符时是否为乱码?如果出现乱码,如何修改代码?可用书上介绍的方法,也可request.setCharacterEncoding("GBK");答:没有出现乱码,只是experiment3_2.jsp的计算为字符串●s1+s2+s3是什么运算?答:字符串运算(3)第二个响应界面experiment3_3.jsp,用request对象提取前台传过来的参数,进行运算后将其结果显示给客户端:<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%!int x,y,z;%><%x=Integer.valueOf(request.getParameter("a")).intValue();y=Integer.valueOf(request.getParameter("b")).intValue();z=Integer.valueOf(request.getParameter("c")).intValue();%><html><body>从Experiment3_1.jsp传过来的参数求得体积:<br>用request:<%=x*y*z%><br><a href="Experiment3_1.jsp">返回</a><br></body></html>思考●修改Experiment3_1.jsp什么地方才能响应experiment3_3.jsp?答:在action那里修改,如下图所示:●为什么三个数据都用Integer.valueOf(request.getParameter("a")).intValue();语句处理?答:因为三个数据都要转换成整数●请在前台输入含有非数字字符数据,你看到什么结果?为什么?答:会出现一下图的结果,因为强制转换为数字类型,不能为字符型进行计算。
实验三类与对象实验三类与对象1、实验目的1)使用类来封装对象的属性和功能。
2)掌握类变量与实例变量,以及雷方法与实例方法的区别。
3)掌握使用package和import语句。
2、实验内容1)编写一个Java应用程序,该程序中有3各类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。
具体要求如下:●Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。
另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。
●Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。
●Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
程序模板:AreaAndLength.java请按模板要求,将【代码】提换为Java程序代码。
class Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a, double b, double c){【代码1】//参数a、b、c分别赋值给sideA、sideB、sideC if(【代码2】)//a、b、c构成三角形的条件表达式{ 【代码3】//给boo赋值}else{ 【代码4】//给boo赋值}}double getLength(){ 【代码5】//方法体,要求计算出length的值并返回}public double getArea(){if(boo){double p = (sideA + sideB + sideC) / 2.0;area = Math.sqrt(p * (p – sideA) * (p – sideB) * (p – sideC)); return area;}else{System.out.println(“不是一个三角形,不能计算面积”); return 0;}}public void setABC(double a, double b, double c){【代码6】//参数a、b、c分别赋值给sideA、sideB、sideC if(【代码7】)//a、b、c构成三角形的条件表达式{ 【代码8】//给boo赋值}else{【代码9】//给boo赋值}}}class Lader{double above,bottom,height,area;Lader(double a,double b,double h){ 【代码10】//方法体,将参数a、b、c分别赋值给above、bottom、height }double getArea(){ 【代码11】//方法体,要求计算出area并返回}}class Circle{double radius,area;Circle(double r){ 【代码12】//方法体}double getArea(){ 【代码13】//方法体,要求计算出area并返回}double getLength(){ 【代码14】//getArea方法体的代码,要求计算出length并返回}void setRadius(double newRadius){ radius = newRadius;}}public class AreaAndLength{public static void main(String args[]){double length,area;Circle circle = null;Trangle trangle;Lader lader;【代码15】//创建对象circle【代码16】//创建对象trangle【代码17】//创建对象lader【代码18】//调用Circle方法返回周长并赋值给lengthSystem.out.println(“圆的周长:”+length);【代码19】//调用Circle方法返回面积并赋值给areaSystem.out.println(“圆的面积”+area);【代码20】//调用Trangle方法返回周长并赋值给lengthSystem.out.println(“三角形的周长:”+length);【代码21】//调用Trangle方法返回面积并赋值给areaSystem.out.println(“三角形的面积:“+area);【代码22】//调用Lader方法返回面积并赋值给area;System.out.println(“梯形的面积:”+area);【代码23】//调用Trangle方法设置三个边,要求将三个边修改为12,34,15【代码24】//调用Trangle方法返回面积并赋值给areaSystem.out.println(“三角形的面积:”+area);【代码25】//调用Trangle方法返回周长并赋值给lengthSystem.out.println(“三角形的周长:”+length);}}实验后的练习(1)程序中仅仅省略【代码15】,编译能通过吗?(2)程序中仅仅省略【代码16】,编译能通过吗?(3)程序中仅仅省略【代码15】,运行时出现怎样的异常提示?(4)给Trangle类增加3个方法,分别用来返回3个边:sideA、sideB和sideC(5)让AreaAndLength类中的Circle对象调用方法修改半径,然后输出修改后的半径以及修改半径后的圆的面积和周长。
实验三JSP内置对象编程练习
实验目的
1、理解JSP的内置对象
2、掌握JSP内置对象的基本用法;
3、着重掌握request,response,session对象的常用方法的使用;
实验要求
1、按实验指导书的内容安排独立完成相关的程序;
2、完成并提交实验报告。
实验内容
说明:所有上机程序都在MyEclipse工具中开发运行。
对应的实验项目和实验指导书都在教师课件中下载,解压BookStoreForExp.zip后将该示例项目导入MyEclipse中,再根据下列要求来编写代码。
一、实现用户注册
访问register.jsp页面,填写注册信息,并交给doReg.jsp页面处理,并在doReg.jsp页面显示用户提交的注册信息。
register.jsp
doReg.jsp
2)乱码处理
在注册信息中输入中文,再提交,查看是否有乱码出现,如果出现了乱码,请实现乱码处理。
二、实现用户登录
访问myaccount.jsp实现用户登录,登录名为Tom,密码为123,将登录信息提交给doLogin.jsp页面验证,验证成功后将用户名登录成功的状态保存到session对象中,并跳转到index.jsp页面,并在首页显示:欢迎您:Tom
index.jsp显示欢迎用户
如果用户在登录页面选择了记住用户名,使用Cookie保存用户的用户名,并在下一次登录时能自动填写到登录框中。
logon.jsp
三、实现授权访问
在details.jsp页面中增加代码,实现只允许注册用户在登录后访问,未登录用户访问将直接跳转到登录页面让用户登录。
实验难点实验内容实验目的实验重点实验步骤实验内容1、JavaScript 内置函数的应用2、JavaScript 内置对象的应用3、JavaScript 浏览器对象的应用实验难点实验内容实验目的实验重点实验步骤实验目的1、掌握JavaScript 内置函数的使用方法2、掌握JavaScript 常用内置对象的属性和方法3、掌握JavaScript 浏览器对象的含义4、掌握使用浏览器对象提供的信息来完成一定功能的网页设计。
实验难点实验内容实验目的实验重点实验步骤实验重点1、掌握JavaScript 内置函数的使用方法2、掌握JavaScript 常用内置对象的属性和方法3、掌握JavaScript 浏览器对象的含义实验难点实验内容实验目的实验重点实验步骤实验难点1、掌握使用浏览器对象提供的信息来完成一定功能的网页设计。
实验难点实验内容实验目的实验重点实验步骤实验内容一:JavaScript 内置函数的应用1、eval( ):计算字符串表达式的值2、parseFloat( )和parseInt( ):将字符串开头的整数或浮点数分解出来,转换为整数或浮点数3、isNaN( ):确定一个变量是否为NaN (Not a Number )4、escape( ):将字符串中的非字母数字字符转换为按格式%XX 表示的数字5、unescape( ):将字符串格式为%XX 的数字转换为字符6、程序案例1_1:求用户在提示对话框中输入的表达式的值。
7、思考题:判断用户输入的字符是不是数字,如果是,分别将其转换成浮点数和整数,并显示到网页上。
实验难点实验内容实验目的实验重点实验步骤实验内容二:JavaScript 内置对象的应用1、Math 对象2、Date 对象3、Number 对象4、String 对象5、Array 对象实验难点实验内容实验目的实验重点实验步骤一、对象的基本概念1、什么是对象对象用于描述客观世界存在的特定实体。
实验三内置对象的使用
(考核实验,必须当堂提交检查!)
一、实验目的
掌握request、response、out、session及application等常用内置对象的使用
二、实验环境
1.MyEclipse或Dreamweaver 8
2.Tomcat服务器
三、实验内容及步骤
1、现提供了某网站的四个页面,分别为:login.jsp、register.html、regiserInfo.jsp和
index.jsp。
要求:用户登录网站必须首先在login.jsp中输入用户名和密码登录index.jsp,如果直接访问index.jsp,则应强制用户登录,即将请求自动重定向到login.jsp。
如果是新用户,则请先注册:点击login.jsp中的“注册”超链接进入register.html进行注册,用户输完信息后点击“提交”按钮将打开registerInfo.jsp页面,在该页面中将显示用户的注册信息。
上页几个页面的界面分别如下所示:
图1 login.jsp界面
图2 register.html界面
图3 registerInfo.jsp界面
2、按上述所描述的功能,并根据注释将以下代码空白处补充完整,然后执行各页面,查。