实验3 JSP内置对象
- 格式:doc
- 大小:269.00 KB
- 文档页数:4
jsp 内置对象实验报告JSP 内置对象实验报告一、引言JSP(Java Server Pages)是一种用于开发动态Web应用程序的技术。
在JSP中,有一些特殊的内置对象可以直接在JSP页面中使用,这些对象提供了方便的功能和数据访问接口。
本实验报告将介绍和探讨JSP内置对象的使用和作用。
二、实验目的本实验的主要目的是深入了解JSP内置对象,并通过实际编码来验证其功能和使用方法。
通过本实验,我们将能够更好地理解和应用JSP内置对象,提高Web应用程序的开发效率和质量。
三、实验环境本实验使用的开发环境如下:- 操作系统:Windows 10- 开发工具:Eclipse IDE for Java EE Developers- 服务器:Apache Tomcat 9.0- 浏览器:Google Chrome四、实验步骤1. 创建一个新的动态Web项目,并在该项目中创建一个JSP页面。
2. 在JSP页面中使用内置对象out,通过out对象可以向浏览器输出文本和HTML标签。
例如,可以使用out对象输出一个简单的欢迎消息:“欢迎访问我的网站!”。
3. 使用内置对象request,通过request对象可以获取和设置HTTP请求的参数和属性。
例如,可以使用request对象获取用户提交的表单数据,并进行相应的处理。
4. 使用内置对象response,通过response对象可以设置HTTP响应的状态码、头部信息和内容。
例如,可以使用response对象设置重定向和错误页面。
5. 使用内置对象session,通过session对象可以在不同的页面之间共享数据。
例如,可以使用session对象保存用户的登录状态和购物车信息。
6. 使用内置对象application,通过application对象可以在整个Web应用程序中共享数据。
例如,可以使用application对象保存网站的全局配置信息和统计数据。
7. 使用内置对象config,通过config对象可以获取JSP页面的初始化参数。
实训4 JSP内置对象
实验目的:了解JSP内置对象,及其使用方法
掌握使用JSP的request对象处理页面提交信息的基本方法
实验内容:
实验一:利用request对象获取表单提交信息
制作一个用户信息提交页面,如下所示:
注意内容:
要解决其中的多项选择“爱好”这一项的信息获取,需要采用到数组,使用方法如下:String 数组1[]=request.getParameterValues("输入框名");
提交的信息便存储进入数组1中,输出时候使用循环即可。
用户填写完成后完成,提交到另一个页面,将用户信息显示出来,如下示:
要求:1.页面提交的用户姓名为中文,不能出现乱码
2.表单中的多项选择内容要求正确显示
实训项目二:request对象
在前面实验的基础上,编写程序实现,若用户提交的用户名和密码为空的时候,提示有关错误信息,并跳转回用户信息填写页面,若信息不为空,则跳转到欢迎页面,显示XX用户,欢迎您。
实验步骤:
建立工程—编写程序—编译程序—调试、运行程序。
(可以参考“实验一“中任意一种方法来进行)
实验小结:。
第四章JSP 内置对象4.6 实验一:request对象1,相关知识点在就是jsp中,内置对象request封装了用户请求信息时所提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。
2,参考代码:Register.jsp:<%@page contentType="text/html;charset=gb2312"%><head><%@ include file="head.txt"%></head><%@taglib tagdir="/WEB-INF/tags" prefix="look"%><html><body bgcolor=pink><font size=2><form action="Register_1.jsp" method=post>请输入注册信息,用户名必须由字母或数字组成,带*为必填项。
<table border=1><tr><td>员工编号:</td><td><Input type=text name="id">*</td></tr><tr><td>用户名:</td><td><Input type=text name="name">*</td></tr><tr><td>用户密码:</td><td><Input type=text name="password">*</td></tr><tr><td>用户权限(Y/N):</td><td><Input type=text name="right">*</td></tr><tr><td>性别:</td><td><Input type=text name="sex">*</td></tr><tr><td>联系电话:</td><td><Input type=text name="phone"></td></tr><tr><td>备注:</td><td><Input type=text name="remark"></td></tr></table><br><Input type="submit" name="b" value="提交"><br>注册前<look:QueryTag dataSource="SupermarketMS" tableName="Staff" user="sa" password="sa"/><br><%=queryResult%></font></body></html>Register_1.jsp<%@page contentType="text/html;charset=gb2312"%><%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%><html><body bgcolor=pink><font size=2><%String ID=request.getParameter("id");String aa=request.getParameter("name");String PassWord=request.getParameter("password");String Right=request.getParameter("right");String Sex=request.getParameter("sex");String Phone=request.getParameter("phone");String Remark=request.getParameter("remark");byte bb[]=aa.getBytes("iso-8859-1");aa=new String(bb);%><inquire:Register_2 ID="<%=ID%>" nn="<%=aa%>" pw="<%=PassWord%>"right="<%=Right%>"sex="<%=Sex%>"phone="<%=Phone%>"remark="<%=Remark%>"/><br>注册后所有员工信息<inquire:QueryTag dataSource="SupermarketMS" tableName="Staff" user="sa" password="sa"/><br><%=queryResult%></font></body></html>Register_2.tag代码如下:<%@tag pageEncoding="gb2312"%><%@tag import="java.sql.*"%><%@ attribute name="ID" required="true"%><%@ attribute name="nn" required="true"%><%@ attribute name="pw" required="true"%><%@ attribute name="right" required="true"%><%@ attribute name="sex" required="true"%><%@ attribute name="phone" required="true"%><%@ attribute name="remark" required="true"%><%out.print("hello world");%><% int id=Integer.parseInt(ID);String insert="insert into Staff values("+id+",'"+nn+"','"+pw+"','"+right+"','"+sex+"','"+phone+"','"+remark+"')";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exception e){}Connection con;Statement sql;ResultSet rs;try{String uri="jdbc:odbc:SupermarketMS";con=DriverManager.getConnection(uri,"sa","sa");sql=con.createStatement();sql.executeUpdate(insert);con.close();}catch(Exception e){out.print(""+e);}%>实验2:session对象1,相关知识点Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟. 我们使用session功能,可以达到多个jsp程序从操作同一个java bean, 那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.) 2,参考代码inputGuess.jsp<%@ page contentType="text/html;charset=GB2312" %><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="post" name=form>输入你的猜测:<INPUT type="text" name="boy"><INPUT TYPE="submit" value="送出" name="submit"></FORM></FONT></BODY></HTML>Result.jsp 的代码如下:<% String str=request.getParameter("boy");if(str.length()==0){response.sendRedirect("inputGuess.jsp");}int guessNumber=-1;try{guessNumber=Integer.parseInt(str);Integer integer=(Integer)session.getAttribute("save");int realnumber=integer.intValue();if(guessNumber==realnumber){int n=((Integer)session.getAttribute("count")).intValue();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.sendRedirect("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.jsp");}%>Small.jsp参考代码为:<%@ 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="submit" value="送出" name="submit"></FORM></FONT></BODY></HTML>Large.jsp 参考代码如下:<%@ 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="submit" value="送出" name="submit"></FORM></FONT></BODY></HTML>Success.jsp 的参考代码如下:<%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY 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><A href="inputGuess.jsp">inputGuess.jsp</A></FONT></BODY></HTML>3实验结果及分析。
JSP中的内置对象<j s p:f o r w a r d><jsp:forward>是把一个请求转发到另一个JSP或Servlet或者其他的静态资源(HTML)特点:被forward转发的资源必须与发出请求的页面处于相同的上下文环境中,每当遇到此标签时,容器就会停止执行当前的JSP,转而执行被转发的资源<j s p:p a r a m>l当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给的资源是一个能动态执行的程序时,例如Servlet和JSP页面,那么,还可以使用<jsp:param>标签向这个程序传递参数信息。
l语法1:<jsp:include page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>l语法2:<jsp:forward page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>l<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。
在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
[工学]JSP实验指导书目录试验一:熟悉JSP开发环境1 ..........................................................2 试验二:熟悉JSP开发环境2 ..........................................................3 试验三:熟悉jsp代码编写方式......................................................4 试验三:基本内置对象的使用(application,session,out) ............ 4 试验四:基本内置对象的使用(request,execption) ....................5 试验五:页面信息跟踪传递 ............................................................ 6 试验六:JavaBean使用 ....................................................................8 试验七:数据库基本访问处理 ...................................................... 10 试验八:数据库连接池使用 ..........................................................11 试验九:Struts基本结构 ............................................................... 12 试验十:Struts文件上传 ............................................................... 14 试验十一:Hibernate基本支持 (18)试验一:熟悉JSP开发环境1一实验目的:1. 熟悉JSP开发环境。
实验三JSP编程一、实验目的:1、理解JSP的内置对象;2、掌握JSP内置对象的应用;3、掌握JSP内置对象的编程;二、实验内容:1、编写一个页面,不允许192.开头的客户访问,如果访问,则给它送一个信息:访问禁止。
2、在页面一中输入一个图书价格,到达页面2,在页面2中输入一个汇率,提交,在页面3中显示价格/汇率的结果。
3、登录页面中,用户输入用户名和密码,如果两者相等,则登录成功,跳转到欢迎页面。
如果不成功,则不跳转,并显示“登录错误“。
4、用户访问首页,用一个下拉菜单选择背景颜色,提交,到达欢迎页面,背景颜色为用户选择的颜色。
下次用户访问欢迎页面,直接显示那种颜色,无需从新选择。
5、在用户登录界面中,输入帐号和密码,让用户选择“是否保存登录状态”,如果帐号和密码相等,则登录成功,进入欢迎页面。
在登录时,如果保存登录状态,下次登录时,如果访问登录页面,则进入欢迎页面。
但是,客户如果没有登录状态,也没有经过登录就访问欢迎页面,则跳转到等于页面。
6、编写两个页面,一个显示一些历史图书的名称和价格,一个显示一些计算机图书的名称和价格。
每本书后面都有一个链接:购买。
单击链接,能够将该书本加到购物车中。
每个页面上都有链接:显示购物车。
单击该链接,能够显示购物车的内容,每个内容后面都有一个“删除”链接,单击,将该图书从购物车中删除。
7、客户输入账号和密码登录,如果账号和密码相等,人物登录成功。
登录成功之后,进入欢迎页面。
在该页面内,有一个“退出”按钮,单击回到登陆页面。
要求:退出登录之后,如果访问欢迎页面,或者通过后退按钮回到欢迎页面,都会跳转到登陆页面。
8、编写一个登陆页面,用户登陆,输入账号和密码,如果账号和密码相等认为登陆成功,到达聊天页面。
在该界面中,显示在线名单(登陆成功的所有账号)。
1。
第三章:Jsp隐式对象(request对象、response对象session对象、application对象、cookie)Jsp隐式对象概述:由JSP规范提供,不用编写者实例化。
通过Web容器实现和管理。
所有JSP页面均可使用。
只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)。
常用九大内置对象的作用和方法1、out对象:代表提供输出流的访问。
2、request对象:request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。
常用方法:getparameter()getParameterValues()setAttribute() getAttribute()3、response对象:允许直接访问HttpServletResponse对象常用方法:sendRedirect()4、session对象:允许直接访问HttpServletResponse对象常用方法:setAttribute()、getAttribute()5、application对象:用于多个程序或者多个用户之间共享数据。
常用方法:setAttribute()、getAttribute()6、config :将初始化数据传递给一个JSP页面7、page :代表JSP页面对应的Servlet类实例8、exception:针对错误网页,未捕捉的例外9、pageContext :管理网页的属性内置对象的作用域:◆application:服务器启动到停止这段时间◆session:HTTP会话开始到结束这段时间◆request:HTTP请求开始到结束这段时间◆page:当前页面从打开到关闭这段时间对于每一个用户都共享同一个对象的是:application对象,而每个用户分别使用不同对象实例的是:session对象forword和sendRedirect的区别:forword仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;sendRedirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接getParameter(String name);例题一:文件名:input.html<html>< body bgcolor="white"><font size=1><form action="requestdemo1.jsp" method=post name=form><input type="text" name="boy"><input type="submit" value="Enter" name="submit"></form></font></body></html>文件名:requestDemo1.jsp:<%@ page contentType="text/html;charset=GB2312" %><html><body bgcolor="white"><font size=4><p>获取文本框提交的信息:<%String strContent=request.getParameter("boy");%><%=strContent%> // 输出文本框boy提交的信息<p> 获取按钮的名字:<%String strButtonName=request.getParameter("submit");%><%=strButtonName%> // 输出按钮的value名字</font></body></html>例题二:设计一个简单的“JSP程序设计网上测试系统”,如下图所示。
WEB程序设计(JSP)实验1.编写一个JavaScript程序,在JSP页面上输出当前日期。
<%@page language="java"contentType="text/html; charset=gb2312"%><%@page import="java.util.Date"%><html><head><title>Insert title here</title></head><body><center><% String today=new Date().toLocaleString(); %>今天是:<%=today%></center></body></html>实验二 JSP语法的应用实验内容和要求:1.实现客户在一个登录页面form.jsp(如图2-1)输入登录信息并单击“确定”后跳转到另一个页面doForm.jsp(如图2-2)输出“用户名”和“口令”信息。
图2-1图2-2要求:分别用下列三种方法实现。
(1)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。
在doForm.jsp页面中用<jsp:useBean>动作标识实例化User类对象,再使用<jsp:setProperty>动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用<jsp:getProperty>在页面输出结果。
(2)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。
实验2:内置对象、Cookie及JavaBean实验
一、实验目的:
●理解对象概念,掌握application、session等对象的基本使用方法。
●理解Cookie概念,掌握Cookie的基本使用方法。
●理解JavaBean概念,掌握JavaBean的基本使用方法。
●
二、实验要求:
●使用开发工具Eclipse编程。
●编写程序完成以下实验内容并上交实验报告
●
三、实验内容:
1、编写一个简单的网上商店,用application对象存放网上的商品清单和库存量,用session 对象存放用户的购买信息(用户名、商品名及购买数量),然后利用这些信息给用户结账。
2、利用Cookie实现用户的自动登录功能。
其中,要求在登录页面中通过对Cookie有效期的设置来保存用户的信息。
3、用JavaBean和JSP设计一个某教育机构的简易在线报名子系统。
要求将表单输入的信息通过JSP向JavaBean设置属性,并通过JSP将获取属性返回给客户端。
四、实验过程中遇到的问题及解决手段:
描述实验过程中遇到的问题并尽量提供解决的方法。
五、参考源代码:
1.网上商店:
登陆.jsp:
六、本次实验的体会(结论):。
jsp课程设计懒人之家一、教学目标本课程旨在通过JSP技术的学习,让学生掌握JavaServer Pages的基本原理和开发方法,学会如何利用JSP创建动态网页和Web应用程序。
知识目标:使学生了解JSP的运行原理,理解JSP标签和脚本元的使用,掌握JSP的内置对象,了解JSP与JavaBean的结合使用。
技能目标:培养学生具备使用JSP编写简单的Web应用程序的能力,能独立完成页面设计、数据处理和页面交互。
情感态度价值观目标:激发学生对Web开发技术的兴趣,培养学生的创新意识和团队协作精神,使学生认识到JSP技术在现代社会中的重要作用。
二、教学内容本课程的教学内容主要包括JSP基础知识、JSP页面设计、JSP内置对象、JSP与JavaBean的结合使用以及JSP的安全性等方面。
1.JSP基础知识:介绍JSP的产生背景、发展历程和基本概念,使学生了解JSP技术的地位和作用。
2.JSP页面设计:讲解JSP页面的基本结构,介绍JSP标签和脚本元的使用,让学生学会如何编写一个简单的JSP页面。
3.JSP内置对象:讲解JSP提供的内置对象,如request、response、session等,使学生掌握如何使用这些对象进行页面交互。
4.JSP与JavaBean:介绍JavaBean的概念和作用,讲解如何将JavaBean与JSP页面结合使用,提高Web应用程序的复用性和可维护性。
5.JSP安全性:讲解JSP页面安全性的重要性,引导学生掌握防范常见安全问题的方法。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解JSP的基本概念和原理,使学生掌握JSP技术的基本知识。
2.案例分析法:通过分析实际案例,使学生了解JSP技术在实际项目中的应用,提高学生的实际操作能力。
3.实验法:安排实验课程,让学生动手实践,培养学生的实际编程能力。
四、教学资源本课程所需教学资源包括教材、实验设备、多媒体教学课件和网络资源。
JSP内置对象本讲主要介绍JSP主要内置对象,包括对象的作用、常用函数,并通过具体实例说明其用法,并介绍了Cookie的概念和使用方法。
通过本讲的学习,重点掌握以下内容:●掌握常用内置对象的作用●掌握常用内置对象的用法●了解Cookie的有关操作1.1 内置对象介绍JSP九大隐式对象:[1]request:表示客户端的请求,包含了所有的请求信息,是Servlet中service(或doPost/doGet方法)方法的resquest参数。
[2]response:处理JSP生成的响应,然后将响应结果发送给客户端。
是service(或doPost/doGet方法)方法的response参数。
[3]out:表示输出流,将作为请求的响应发送给客户端。
是JspWriter的一个实例。
[4]session:表示用户的会话状况,用此机制可以轻易的识别每一个用户,能保存和跟踪用户的会话状态。
是HttpSession的一个实例。
[5]pageContext:作用于此页面,可以访问页面作用域中定义的所有隐式对象。
是PageContext的一个实例。
[6]application:作用于整个应用程序。
是ServletContext的一个实例。
[7]page:提供对网页上定义的所有对象的访问。
是一个Object对象。
是此Servlet的一个引用。
[8]config:存储Servlet的一些初始信息。
是ServletConfig的一个实例。
[9]exception:此对象负责处理程序执行过程中引发的异常。
1.2 out:输出对象out对象是JspWriter类的实例,主要用于向客户端输出数据。
out对象与response.getWriter()得到的PrintWriter对象的关系:一、都是继承自java.io.Writer类。
JspWriter在JSP页面中直接用out对象输出,也可以用pageContext.getOut(); 得到out对象。
jsp课程设计实验报告一、课程目标知识目标:1. 掌握Java Server Pages(JSP)的基本概念、原理和编程方法;2. 学会使用JSP内置对象、指令和脚本语言,实现动态网页的构建;3. 了解JSP与JavaBean、Servlet之间的协作关系,能够实现简单的MVC架构。
技能目标:1. 能够运用JSP技术编写动态网页,实现数据的显示、提交和处理;2. 熟练使用JSP内置对象和指令,提高网页开发效率;3. 掌握JSP与JavaBean、Servlet的整合方法,实现功能模块的分离和复用。
情感态度价值观目标:1. 培养学生对Web开发的兴趣,激发主动学习和探究的精神;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 增强学生的网络安全意识,遵循道德规范,养成良好的网络行为。
课程性质:本课程为信息技术学科,旨在帮助学生掌握JSP技术,提高Web 开发能力。
学生特点:学生已具备一定的Java基础,了解Web开发基本概念,对动态网页开发感兴趣。
教学要求:结合学生特点,本课程要求教师以实例教学为主,引导学生动手实践,注重理论与实践相结合。
通过本课程学习,使学生能够独立完成简单的Web应用开发,提高编程能力和项目实践能力。
教学过程中,关注学生个体差异,鼓励学生提问和分享,培养自主学习能力。
课程目标分解为具体学习成果,以便于教学设计和评估。
二、教学内容1. JSP基本概念与原理- JSP技术概述- JSP页面生命周期- JSP与Servlet的关系2. JSP内置对象与指令- 内置对象的作用与使用方法- 常用指令的作用与使用场景3. JSP脚本语言- JSP表达式语言(EL)- JSP脚本片段- JSP声明4. JSP与JavaBean- JavaBean的定义与规范- JSP中使用JavaBean- JavaBean的范围和作用域5. JSP与Servlet的协作- MVC架构概述- JSP、Servlet和JavaBean的整合- 基于MVC的简单实例分析6. JSP应用实例- 数据显示与提交- 用户登录功能实现- 简单购物车功能实现教学内容安排和进度:第一周:JSP基本概念与原理第二周:JSP内置对象与指令第三周:JSP脚本语言第四周:JSP与JavaBean第五周:JSP与Servlet的协作第六周:JSP应用实例分析与实践本教学内容参考课本相关章节,结合课程目标,确保学生能系统掌握JSP技术。
jsp内置对象实验报告JSP内置对象实验报告实验目的:通过实验,了解JSP内置对象的作用和用法。
实验步骤:1. 创建一个简单的JSP页面,命名为index.jsp。
2. 在index.jsp中使用JSP内置对象out,输出一段文本:"Hello, JSP!"。
3. 在index.jsp中使用JSP内置对象request,获取客户端传递的参数,并输出到页面上。
4. 在index.jsp中使用JSP内置对象session,存储用户登录信息,并在其他页面中获取并显示用户信息。
5. 在index.jsp中使用JSP内置对象application,存储全局变量,并在其他页面中获取并显示全局变量的值。
实验结果:1. 使用JSP内置对象out,成功在页面上输出了文本:"Hello, JSP!"。
这说明out 对象可以用来向页面输出内容。
2. 使用JSP内置对象request,成功获取客户端传递的参数,并在页面上显示了参数的值。
这说明request对象可以用来获取客户端的请求参数。
3. 使用JSP内置对象session,成功存储了用户登录信息,并在其他页面中获取并显示了用户信息。
这说明session对象可以用来存储用户的会话信息。
4. 使用JSP内置对象application,成功存储了全局变量,并在其他页面中获取并显示了全局变量的值。
这说明application对象可以用来存储全局变量。
结论:通过本次实验,我们了解了JSP内置对象的作用和用法。
out对象可以用来向页面输出内容,request对象可以用来获取客户端的请求参数,session对象可以用来存储用户的会话信息,application对象可以用来存储全局变量。
掌握了这些内置对象的用法,可以更加灵活地开发JSP页面,实现更丰富的功能。
希望通过本次实验,同学们能够更加熟练地运用JSP内置对象,提高自己的JSP开发能力。
一、实验目的与要求:1.熟悉JDK开发包及Tomcat服务器的安装2.熟悉JSP运行环境的配置二、实验内容:在WINDOWS平台上,自行安装JSP的Web服务器,并将运行环境配置好。
三、实验器材:windows操作系统 + JDK + Tomcat + MyEclipse四、实验步骤:(1)下载JDK以及Tomcat工具。
(2)按照提示安装JDK及Tomcat。
(3)右键单击桌面“我的电脑”图标,在弹出的快捷菜单中选择“属性”,打开“系统属性”对话框,或者在“控制面板”中双击“系统”图标,也可打开“系统属性”对话框,选择“高级”选项卡。
(4)单击“环境变量”按钮,打开“环境变量”对话框,在“系统变量”列表中选中“Path”选项,单击“编辑”按钮,打开“编辑系统变量”对话框。
(5)在“变量值”的文本框中将光标放在最后,输入一个分号“;”,然后再输入JDK 的安装路径。
(6)单击“确定”按钮完成JDK环境的配置。
五、实验结果:可运行JSP程序六、实验小结:1.能说出目前比较流行的JSP开发工具。
2.学会如何安装JDK及Tomcat工具,并配置JDK环境一、实验目的与要求:掌握jsp获取表单的值,练习jsp声明、表达式和JSP动作指令的使用。
二、实验内容:在JSP网页中使用include及forward等JSP动作指令完成动态页面的加载与重定向。
认识通过内部对象获取表单参数和URL从客户端传递来的信息。
三、实验器材:windows操作系统 + JDK + Tomcat + MyEclipse四、实验步骤:1、include指令的使用(1)制作主页面qiuhe.jsp,用于动态加载页面addNum.jsp,qiuhe.jsp页面的代码如下:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY BGCOLOR=Cyan ><jsp:include page="addnum.jsp"> //动态加载页面addNum.jsp<jsp:param name="computer" value="100"/> //用于给参数Computer传递数据100。
肇庆学院计算机学院JSP内置对象实验报告inputNumber.jsp<%@ page contentType="text/html;charset=GB2312"%><HTML><BODY bgcolor=cyan><FONT size=5><FORM action="receiveNumber.jsp" method=post name=form>输入运算数、选择运算符号:<br><Input type=text name="numberOne" size=6><select name="operator"><option value="+">+<option value="-">-<option value="*">*<option value="/">/</select><Input type=text name="numberTwo" size=6><br><Input type="submit" value="提交你的选择" name="submit"> </FORM></FONT></BODY></HTML>receiveNumber.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ taglib tagdir="/WEB-INF/tags" prefix="computer" %><%String a=request.getParameter("numberOne");String b=request.getParameter("numberTwo");String operator=request.getParameter("operator");if(a==null||b==null){a="";b="";}if(a.length()>0&&b.length()>0){%><computer:Computer numberA="<%=a%>" numberB="<%=b%>" operator="<%=operator%>"/> 计算结果:<%=a%><%=operator%><%=b%>=<%=result%><%}%><a href=inputNumber.jsp>返回输入数据界面</a>Computer.Tag<%@ tag pageEncoding="GB2312" %><%@ attribute name="numberA" required="true" %><%@ attribute name="numberB" required="true" %><%@ attribute name="operator" required="true" %><%@ variable name-given="result" scope="AT_END" %><% try{double a=Double.parseDouble(numberA);double b=Double.parseDouble(numberB);double r=0;if(operator.equals("+")){r=a+b;}else if(operator.equals("-")){r=a-b;}else if(operator.equals("*")){r=a*b;}else if(operator.equals("/")){r=a/b;}jspContext.setAttribute("result",String.valueOf(r));}catch(Exception e){jspContext.setAttribute("result","发生异常:"+e);}%>inputRadius.jsp<%@ page contentType="text/html; charset=GB2312" %><HTML><BODY bgcolor=yellow><FONT size=2><FORM action="drawCircle.jsp" method=post name=form>输入圆的半径:<input type=text name="radius" size=6><input type="submit" value="提交" name="submit"></FORM></FONT></BODY></HTML>drawCircle.jsp<%@ page contentType="text/html; charset=GB2312" %><%@ page import="java.awt.*" %><%@ page import="java.io.*" %><%@ page import="java.awt.image.*" %><%@ page import="java.awt.geom.*" %><%@ page import="com.sun.image.codec.jpeg.*" %><HTML><BODY bgcolor="yellow"><FRONT size=3><%String R=request.getParameter("radius");out.print(R);try{double number=Double.parseDouble(R);if(number <=0 || number >100){response.setContentType("text/plain;charset=GB2312");out.println(number + "作为圆的半径不合理");}else if(number>0 && number<=100){response.setContentType("image/jpeg");int width =100,height =100;BufferedImage image =new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();g.setColor(Color.white);g.fillRect(0,0,width,height);Graphics2D g_2d = (Graphics2D)g;Ellipse2D circle = new Ellipse2D.Double(0,0,number,number);g_2d.setColor(Color.blue);g_2d.fill(circle);g.dispose();OutputStream outClient = response.getOutputStream();JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outClient);encoder.encode(image);}}catch(Exception e){response.sendRedirect("inputRadius.jsp");}%></FONT></BODY></HTML>choiceBook.jsp<%@page contentType="text/html; charset=GB2312" %><HTML><BODY bgcolor=yellow><FONT size = 2><p>选择要购买的图书<table><tr><td><a href="orderForm.jsp?bookMess=Java面向对象设计@ISBN:9876@价格:9.9元">Java面向对象设计(10元)</a></td></tr><tr><td><a href="orderForm.jsp?bookMess=JSP程序设计@ISBN:4567@价格:9.5元">JSP程序设计(10元)</a></td></tr><tr><td><a href="orderForm.jsp?bookMess=XML程序设计@ISBN:2356@价格:8.8元">XML程序设计(10元)</a></td></tr></table></FONT></BODY></HTML>orderForm.jsp<%@page contentType="text/html;charset=GBK" %><%@page import="java.util.*" %><%String book = request.getParameter("bookMess");if(book != null){StringTokenizer fenxi = new StringTokenizer(book,"@");String bookName = fenxi.nextToken();String bookISBN = fenxi.nextToken();session.setAttribute(bookISBN,book);}%><html><body bgcolor="cyan"><font size = 4><P>图书订单<table border=3><%Enumeration keys = session.getAttributeNames();while(keys.hasMoreElements()){String key = (String)keys.nextElement();book = (String)session.getAttribute(key);if(book != null){StringTokenizer fenxi = new StringTokenizer(book,"@");byte X[]= ((String)fenxi.nextToken()).getBytes("ISO-8859-1");String bookName = new String(X);byte S[]= ((String)fenxi.nextToken()).getBytes("ISO-8859-1");String isbn = new String(S);byte P[]= ((String)fenxi.nextToken()).getBytes("ISO-8859-1");String price = new String(P);%><tr><td><%= bookName %></td><td><%= isbn %></td><td><%= price %></td> </tr><%}}%></table></font></body></html>。
实验三 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.html
4、点击上述页面中“提交预览我的订单”进入预订成功信息页面,显示如
下显示:。