JSP内置对象实验报告

时间:2019-05-12 11:53:08下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《JSP内置对象实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《JSP内置对象实验报告》。

第一篇:JSP内置对象实验报告

JSP程序设计实验报告

(三)院系:计算机科学与工程学院

【实验题目】

JSP内置对象

【实验目的】

1、了解JSP中4个内置对象request、reponse、session、pagecontext的基本概念。

2、理解JSP内置对象的常用方法的功能。

3、掌握JSP内置对象的应用。

【实验内容】

1、request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

2、response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

3、session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。

4、pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者。

5、练习(自己完成)

【实验代码】

实验1 request对象使用

<%@ page language=“java” import=“java.util.*” pageEncoding=“GBK”%> <%

%>

”>

My JSP 'index.jsp' starting page String path = request.getContextPath();String basePath = request.getScheme()+ “://”

+ request.getServerName()+ “:” + request.getServerPort()+ path + “/”;

请求方式:<%=request.getMethod()%>
请求的资源:<%=request.getRequestURI()%>

请求用的协议:<%=request.getProtocol()%>
请求的文件名:<%=request.getServletPath()%>
请求的服务器的IP:<%=request.getServerName()%>
请求服务器的端口:<%=request.getServerPort()%>
客户端IP地址:<%=request.getRemoteAddr()%>
客户端主机名:<%=request.getRemoteHost()%>

表单提交来的值:<%=request.getParameter(”qwe“)%>
<%

%> String str = ”“;if(request.getParameter(”qwe“)!= null){ Enumeration enumt = request.getParameterNames();while(enumt.hasMoreElements()){ str = enumt.nextElement().toString();out.println(str + ”:“ + request.getParameter(str)+ ”
");} }

第二篇:JSP内置对象讲解教案

第5章 JSP内置对象

在JSP中预先定义好了一些常用的对象,在Web应用中可以直接使用这些对象。内置对象的应用大大简化了Web开发工作。

5.1 JSP内置对象概述

因为java是区分大小写的,所以在JSP中对象名要注意字母的大小写。

JSP内置对象有9个  request对象  response对象  out对象  session对象  application对象  exception对象  page对象

 pageContext对象  config对象

5.2 request对象

 request对象用于接收客户端通过HTTP协议传送给服务器端的数据。

 而response对象主要用来向客户发送信息,它包含了Web服务器对客户的响应信息。

 request和response对象是JSP中很重要的两个内置对象,是实现客户端和服务器交互的基础。

5.2.1 request对象的功能

 request对象用来接收客户端提交的请求

例如:接收用户提交的表单信息

在xxx.jsp文件中需要用request对象接收表单信息。request对象用的比较多的方法是getParameter()方法

5.2.2 getParameter方法

 request对象的getParameter()方法根据指定的参数,获取客户端提交的信息。 其语法规则如下:

<% String name=request.getParameter(“txtName”)%>

其中,name是一个字符串变量。txtName是客户端提交信息中的一个字段名。

5.2.3获取客户提交信息案例 【例5.1】 request对象应用。

 提交页面上有两个文本框,在文本框中输入姓名和电话号码,单击“提交”按钮后,由服务器端应用程序接收提交的表单信息并显示出来。

 其中的infoInput.html为用户的输入页面,提交的信息由服务器端的文件infoReceive.jsp接收并显示。

infoInput.html页面主要代码:

姓名:


电话:


infoReceive.jsp代码

<% String str1=request.getParameter(“RdName”);%> <% String str2=request.getParameter(“PhName”);%> 您输入的信息为:
姓名: <%=str1%>

电话: <%=str2%>
5.2.4 request对象常用方法

 在客户访问页面时,向服务器的JSP引擎提交一个HTTP请求,该请求包含一个请求行、主机头和上载信息。例如:

◦ POST /chapt5/infoReceive.jsp HTTP/1.1

//请求行 ◦ Host localhost

//头,host是头名字

 request对象也提供了一些其他方法,用来获得客户传来信息的其他部分。 request对象常用方法:

1.getProtocol():获取客户端向服务器端传送数据所使用的协议名称和版本号 2.getServerName():获得服务器的名字

3.getServerPort():获得服务器所使用的端口号。4.getRemoteAddr():获得客户端的IP地址。

5.getRemoteHost():获得客户端主机的名字,若失败,则返回客户端的IP地址。6.getMethod():返回客户端向服务器端传送数据的方法,一般方法为get或post。

7.getCookies():返回客户端的cookie对象,结果是一个cookie数组。如果客户端没有发送cookie,则返回空值。

8.getSession(boolean create):返回和当前客户端请求相关联的HttpSession对象,如果当前客户端请求没有和任何HttpSession对象关联,那么当create变量为true,则创建一个HttpSession对象并返回;反之,返回null。9.getHeader(String name):获得http协议定义的传送文件头信息。

10.getAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回null。

11.getAttributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例。12.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例。

13.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例。

14.getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。通常是表单中的参数.15.getParameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。

16.getParameterValues(String name):以字符串数组的形式返回指定参数所有值。

17.getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。18.getRequestURI():获得发出请求字符串的客户端地址

19.getServletPath():获得客户端所请求的脚本文件的文件路径。

20.setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定。

21.getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。22.getContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。23.getInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回。使用此方法可以获得客户端的multipart/form-data数据,可以实现文件上传。

24.isSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false。25.getDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息。26.getInitHeader():获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为int类型。27.getContextPath():返回环境路径.对于JSP来说,一般是当前Web应用程序的根目录。

28.isRequestedSessionIdValid():返回一个指示客户端请求发送Session ID是否仍然有效的布尔值。

29.isRequestedSessionIdFromCookie():返回一个指示客户端请求发送Session ID是否存在于Cookie中的布尔值。

30.isRequestedSessionIdFromURL():返回一个指示客户端请求发送Session ID是否存在于URL中的布尔值。

5.2.5 request对象常用方法应用案例

【例5.2】 使用request对象的常用方法,获取客户端提交信息的不同部分。

本例中的用户输入页面infoInput2.html只需要把例5.1的文件infoInput.html的form的action属性值改为infoReceive2.jsp即可。infoReceive2.jsp主要代码

<%

out.println(“姓名文本框提交信息:” + request.getParameter(“RdName”)+ “
”);out.println(“电话文本框提交信息:” + request.getParameter(“PhName”)+ “
”);out.println(“客户端协议名和版本号:” + request.getProtocol()+ “
”);out.println(“客户机名:” + request.getRemoteHost()+ “
”);out.println(“客户机的IP地址:” + request.getRemoteAddr()+ “
”);out.println(“客户提交信息的长度:” + request.getContentLength()+ “
”);

%> out.println(“---------
”);

out.println(“getContextPath:” +request.getContextPath()+ “
”);out.println(“requestURI=” + request.getRequestURI()+ “
”);out.println(“requestURL=” + request.getRequestURL()+ “
”);out.println(“servletPath=” + request.getServletPath()+ “
”);// getServletPath 不建议使用 因为当servlet映射成/*时 无法获得

String uri = request.getRequestURI();String servletPath = uri.substring(request.getContextPath().length());out.println(“servletPath=” + servletPath + “
”);总结:

request.getRequestURI()与request.getRequestURL()与request.getServletPath()区别

a)getRequestURI()获得的信息:/day6/servlet/RequestServlet b)getRequestURL()获得的信息:http://localhost/day6/servlet/RequestServlet c)getServletPath()获得的信息: servlet/RequestServlet

getServletPath 不建议使用

因为当servlet映射成/*时 无法获得。

d)request.getContextPath()获得的信息: /day6

那如何获取serverpath String uri = request.getRequestURI();

// /day06aaa/servlet/RequestDemo1

String servletPath = uri.substring(request.getContextPath().length());

System.out.println(“servletPath=” + servletPath);5.3 response对象

◦ ◦ 把服务器端的数据以HTTP的格式发送到客户端浏览器 它的功能和request对象的功能相反

 request对象用于得到用户提交的信息  而response对象是向用户发送信息

 两者结合起来完成动态页面的交互功能。

5.3.1 response对象的功能

 response对象提供的几种输出结果的主要方法:

◦ sendRedirect():页面重定向方法。◦ setStatus():设置状态行方法。

◦ setContentType():设置文本类型方法。

5.3.2 sendRedirect()方法

 将客户端浏览器转向新的页面,页面中重定向语句后的代码不再被执行。 它可以根据用户的不同要求转向不同的页面。 例如:防盗链。(第3章 http协议中讲解)

【例5-3】response对象的使用。

 用户在登录界面输入用户名和密码,提交后验证登录者输入的用户名和密码是否正确,根据判断结果转向不同的页面。

◦ 其中userLogin.html为用户输入界面

◦ userReceive.jsp为接收用户输入信息并判断输入是否正确页面

◦ loginCorrect.html和loginError.html分别为登录成功界面和登录失败界面。

userLogin.html页面主要代码:

姓 名:
密 码:

userReceive.jsp页面源代码:

<% String Name = request.getParameter(“RdName”);String Passwd = request.getParameter(“RdPasswd”);if(Name.equals(“Mary”)&& Passwd.equals(“123456”))

response.sendRedirect(“loginCorrect.html”);else

response.sendRedirect(“loginError.html”);%>

 需要注意的是,在实际的Web开发中,用户的信息保存在数据库中,判断用户登录时所输入的用户名和密码是否正确需要连接到数据库,和数据库中的数据进行匹配。此处为了演示sendRedirect方法的使用,简单的和常量进行比较。

5.3.3 response的状态行

1.状态行的作用

当页面出现错误时,服务器会自动响应,将相应的出错信息返回客户端。状态行包含3位数字的状态代码,代表错误的性质和处理方法。共有5类状态码,如下:

1XX(1开头的3位数):主要是实验性质的。例如101表示服务器正在升级协议。

2XX:表示请求成功。如200表示请求成功。

3XX:表示在请求满足之前应采取的进一步行动。如302请求重定向; 305表示请求必须通过代理来访问。

4XX:浏览器不能满足请求时,返回的状态码。如404表示请求的页面不存在。

5XX:服务器执行出现错误时,返回的状态码。如500表示服务器内部发生错误,不能服务。

2.setStatus()方法

程序中可以使用response对象的setStatus()方法设置状态码。在一般情况下,不需要在程序中设置状态码。页面出现问题时,服务器会自动响应,并发送相应的状态码提示用户。

 使用response.setStatus(int n)方法设置状态行

◦ 例如response.setStatus(501)取得错误信息为501的出错信息,返回该出错页面到客户端。◦ 如果状态代码为出错码,页面中 response.setStatus()后面的语句将不被执行。

[例5-4]状态行的应用

本例包含4个文件 : StatueCode.html

responde对象状态行应用案例

显示不同的状态行


href=“statusCode200.jsp”>200请求成功信息


404请求资源不可用信息


501不支持请求的部分功能


第三篇:JSP实验报告

中南民族大学管理学院

学生实验报告

课程名称: JSP程序设计 年

级: 2010 专

业: 姓 名: 学 号: 指导教师:

实验地点: 管理学院综合实验室

学年至 学第 学期

第一章 JSP简介

实验 Tomcat服务器的安装与配置

一、实验目的

本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP页面、怎样修改Tomcat服务器的端口号。

二、实验要求

1、将下载的apache-tomcat-6.0.13.zip解压到硬盘某个分区,比如D。

2、在硬盘分区D下新建一个目录,名字为student,见stuent设置为Web服务目录,并为该Web服务目录指定名字为good的虚拟目录。

3、修改端口号为5678.在server.xml文件中找到修改端口号的部分,将端口号修改为5678.4、启动Tomcat服务器。

5、用文本编辑器编写一个简单的JSP页面biao.jsp,并保存到Web服务目录student中。

6、用浏览器访问Web服务目录student中的jsp页面biao.jsp。

三、实验内容

1、Tomcat安装成功并运行

2、编码实现乘法表 3.代码

四、实验结果

biao.jsp页面

五、实验结果分析

1、默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。

2、设置虚拟目录。在conf目录下的server.xml中前加入:

3、Tomcat服务器必须保持启动。第二章 JSP页面与JSP标记 实验1 JSP页面的基本结构

一、实验目的

本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。

二、实验要求

本实验将用户输入的单词按字典顺序。需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。

1、inputWord.jsp的具体要求 该页面有一个表单,用户通过将该表单输入若干个单词,并提交给showDictionary.jsp页面。

2、showDictionary.jsp的具体要求

该页面负责排序单词,并将排序的全部单词显示给用户。

(1)该JSP页面有个名字为dictionary、类型是TreeSet成员变量。

(2)该JSP页面有public void addWord(String s)方法,该方法将参数s指定的字符串添加到成员变量dictionary中。

(3)该JSP页面在程序片中操作dictionary,即显示全部的单词。

三、实验内容

1)inputWord.jsp页面有一个表单,用户通过该表单输入若干个单词,并提交给showDictionary.jsp页面。

2)showDictionary.jsp负责排序单词,并将排序的全部单词显示给用户。3)代码

四、实验结果

inputWord.jsp页面

showDictionary.jsp页面

五、实验结果分析

1、jsp页面由html标记、jsp标记、成员变了和方法的声明、java程序片和java表达式组成。

2、jsp页面中的成员变量是被所有用户共享的变量。Java程序片可以操作成员变了,任何一个用户对jsp页面成员变量操作的结果,都会影响到其他用户。

实验2 JSP指令标记

一、实验目的

本实验的目的是让学生掌握怎样在JSP页面中使用include指令标记在JSP页面中静态插入一个文件内容。

二、实验要求

该实验要求使用include指令标记使得每个页面都包含有导航条。在进行实验之前将名字是leader.txt的文件保存到本实验所使用的web服务目录中。实验要求编写3个JSP页面,具体要求如下。first.jsp的具体要求

first.jsp使用include指令静态插入leader.txt.second.jsp的具体要求

second.jsp使用include指令静态插入leader.txt.third.jsp的具体要求

third.jsp使用include指令静态插入leader.txt.三、实验内容

leader.txt编写3个JSP页面。

1)frist.jsp使用include指令静态插入leader.txt文本文件。2)second.jsp使用include指令静态插入leader.txt文件。3)third.jsp使用include指令静态插入leader.txt。3)代码 1

2.3.4.4)

四、实验结果

frist.jsp页面

second.jsp页面

third.jsp页面

五、实验结果分析

1、include指令标记是在jsp页面出现该指令的位置处,静态的插入一个文 件。被插入的文件必须是可访问和可使用的。Include指令标记是在编译 阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖与当前jsp 页面,优点是执行速度快。

实验3 JSP动作标记

一、实验目的

本实验的目的是让学生掌握怎样在JSP页面中使用include标记动态加载文件,使用forward实现页面的转向。

二、实验要求

编写3个JSP页面:giveFileName.jsp、readFile.jsp和error.jsp。

1、giveFileName.jsp的具体要求

要求giveFileName.jsp页面使用include动作标记动态加载readFile.jsp页面,并将一个文件的名字比如ok.txt传递给被加载的readFile.jsp页面。

2、readFile.jsp的具体要求

要求readFile.jsp负责根据giveFileName.jsp页面传递过来的文件名字进行文件的读取操作,如果该文件不存在就使用

Forward动作标记将用户转向error.jsp页面。

3、error.jsp的具体要求 负责显示错误信息。

三、实验内容

1)giveFileName.jsp页面使用include动作标记动态加载readFtle.jsp页面,并将一个文件的名字ok.txt传递给被加载的readFtle.jsp页面。

2)readFile.jsp页面负责根据giveFileName.jsp页面传递过来的文件名字进行文件的读取操作,如果该文件不存在就使用forward动作标记将用户转向error.jsp。

3)error.jsp负责显示错误信息。4)代码

四、实验结果

giveFileName.jsp页面

error.jsp页面

五、实验结果分析

1、include动作标记是在jsp页面运行时才处理加载的文件,被加载的文件在逻辑和语 法上独立与当前jsp页面,include指令标记可以使用param子标记向被加载的jsp 文件传递信息。第三章 Tag文件与Tag标记

实验1 JSP页面的基本结构

一、实验目的

本实验的目的是让学生灵活掌握在Tag标记中使用标记体。

二、实验要求

编写一个JSP页面giveMess.jsp和一个Tag文件handleMess.tag。JSP页面通过调用Tag文件在表格中的单元格显示文本,该JSP页面通过使用标记体将要显示的文件传递给被调用的Tag文件。

三、实验内容

1、giveMess.jsp页面使用带标记体的Tag标记来调用Tag文件,其中标记体是一行文本,如下所示:

南非世界杯

2、handelMess.tag使用处理标记体,将标记体给出的文本显示在表格的单元格中。要求表格每行有三个单元,重复显示标记体给出的文本。

3、分别写出giveMess.jsp和handelMess.tag的代码。4.代码

四、实验结果

giveMess.jsp页面

五、实验结果分析

1、tag文件中可以有html标记符、特殊的指令标记、成员变了和方法、java程序片和java表达式。

2、jsp页面使用tag标记动态执行一个tag文件。

3、当jsp页面调用一个tag文件时可能希望动态地向该tag文件传递信息,那么就可以使用带有标记体的tag标记来执行一个tag文件。

实验2 使用attribute指令

一、实验目的

本实验的目的是让学生灵活掌握在Tag标记中使用attribute指令。

二、实验要求

编写一个ShowCalendar.tag文件,该Tag文件负责显示日历。编写一个JSP页面giveYearMonth.jsp,该JSP页面使用Tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份。

三、实验内容

1、giveYearMonth.jsp通过tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份。

2、ShowCalendar.tag文件根据jsp页面传递过来的年份和月份显示日历。该文件能对jsp页面传递过来的数据进行判断,比如,如果jsp页面传递过来的数据不是数值型数据,tag文件负责显示错误信息。4.代码

四、实验结果

giveYearMonth.jsp页面

五、实验结果分析

1、一个tag文件中通过使用attribute指令,使得jsp页面在调用tag文件时,可以 向该tag文件中的对象传递一个引用。tag文件中使用attribute指令:

<%@ attribute name=“对象名字” required=“true”|“false” type=“对象的类型”%>

实验3 使用variable指令

一、实验目的

本实验的目的是让学生灵活掌握在Tag标记中使用variable指令。

二、实验要求

编写一个Tag文件GetWord.tag,负责分解出字符串中的全部单词,并将分解出的全部单词返还给调用该Tag文件的JSP页面。编写一个JSP页面giveSoring.jsp,该页面负责向Tag文件传递一个由英文单词构成的字符串,并负责显示Tag文件返回的全部单词。

三、实验内容

1、giveSoring.jsp通过tag标记调用GetWord.tag,并传递一个由英文单词构成的字符串,显示tag文件返回的全部单词。

2、GetWord.tag使用attibute指令得到jsp页面传递过来的字符串,并用vatiable指令返回全部的单词。

3.代码

四、实验结果 giveSoring.jsp页面

五、实验结果分析

1、Tag文件可以使用variable指令把一个对象返回给调用它的jsp页面

Tag文件使用variable指令给出返回的对象的名字、类型和有效范围:

<%@ variable name-given=“对象名字” variable-class=“对象的类型” scope=“有效范围”%>

第4章 JSP内置对象 实验1 request对象

一、实验目的

本实验的目的是让学生掌握怎样在JSP中使用内置对象request。

二、实验要求

通过JSP页面和Tag文件实现数字的四则运算,要求编写两个JSP页面inputNumber.jsp和receiveNumber.jsp及一个Tag文件Computer.tag。receiveNumber.jsp使用内置对象接受inputNumber.jsp提交的数据,然后将计数任务交给Tag文件Computer.tag去完成。

三、实验内容

1)inputNumber.jsp页面提供一个表单,用户可以通过表单输入两个数、选择四则运算符号,并将输入的两个数和所选择的运算符号提交给receiveNumber.jsp页面。

2)receiveNumber.jsp使用内置对象inputNumber.jsp页面提交的数据,然后将计算任务交给Tag文件Computer.tag去完成。

3)要求Computer.tag使用attribute指令得到receiveNumber.jsp页面传递过来的书和运算符号,使用variable指令将运算结果返回给receiveNumber.jsp页面。

4)代码

四、实验结果

inputNumber.jsp页面

receiveNumber.jsp页面

五:实验结果分析

1、内置对象request的作用就是用来接收客户端提交的请求

2、request对象用的比较多的方法是getParameter方法。

request对象的getParameter方法根据指定的参数,获取客户端提交的信息。

其语法规则如下:

<% String name=request.getParameter(“txtName”)%>

其中,name是一个字符串变量。txtName是客户端提交信息中的一个字段名。

3、下面的就是在实验里面request的使用 <% String a=request.getParameter(“numberOne”);String b=request.getParameter(“numberTwo”);String operator=request.getParameter(“operator”)

实验2 responese对象

一、实验目的

本实验的目的是掌握怎样使用response对象动态响应用户的请求。

二、实验要求

编写两个JSP页面inputRadius.jsp和drawCircle.jsp页面,drawCircle.jsp页面使用response对象做出动态响应。

三、实验内容

1)inputRadius.jsp提供表单,用户在表单中输入一个代表圆的半径的数字,提交给drawCircle.jsp页面。

2)drawCircle.jsp页面首先使用request对象获得inputRadius.jsp提交的数字,然后根据数字的大小做出不同的响应。如果数字小于等于0或者大于100,response对象调用setCountType(String s)方法将contentType属性的值设置为text/plain,同时输出“半径不合理”;如果数字大于0并且小于等于100,response对象调用setContentType(String s)方法将contentType属性的值设置为image/jpeg,并绘制一个圆;如果用户在inputRadius.jsp页面输入了非数字,response对象调用sendRedirect(URL url)方法将用户重定向到inputRadius.jsp。

3)代码

四、实验结果

1、在输入要求的范围以内:

inputRadius.jsp页面

drawCircle.jsp页面

2、当输入的数据不符合要求的结果显示:

inputRadius.jsp页面

drawCircle.jsp页面

五、实验结果分析:

1、response的作用就是把服务器端的数据以HTTP的格式发送到客户端浏览器

2、与request相比,它的功能和request对象的功能相反。request对象用于得到用户提交的信息而response对象是向用户发送信息,两者结合起来完成动态页面的交互功能。

3、response对象的主要方法:

sendRedirect():页面重定向方法 setStatus():设置状态行方法

setContentType():设置文本类型方法

实验3 session对象

一、实验目的

本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。

二、实验要求

使用session对象模拟购物车。编写两个JSP页面choiceBook.jsp和orderForm.jsp。

三、实验内容 1)用户在choiceBook.jsp页面通过超链接将自己要购买的图书信息传递到orderForm.jsp页面。

2)orderForm页面将用户购买的图书信息存储到session对象中,然后生成一个图书订单并显示给用户。

3)代码

四、实验结果:

choiceBook.jsp页面

orderForm页面

五、实验结果分析:

1、session的作用就是记住客户的连接信息,可以使用会话对象(session)。session对象记录了每个客户与服务器的连接信息

2、判断session是否失效有三种情况1)、客户是否关闭浏览器。2)、是否到达最大的发呆时间3)、是否调用validate()函数

3、session对象常用方法:

setAttribute(String name,java.lang.Object value):设定指定名字的属性值,并且把它存储在session对象中。getAttribute(String name):获得指定名字的属性,如果该属性不存在,将会返回null

第5章 JSP中的文件操作(实验)实验1 使用文件字节流读写文件

1、相关知识点。

Fileunputstream流以字节(byte)为单位顺序地读取文件,只要不关闭流,每次调用read的方法就书讯地读取源中其余的内容,直接原到尾末或流被关闭。

Fileunputstream流以字节(byte)为单位顺序地写文件,只要不关闭流,每次调用writer方法就顺序地向输出流写入内容。2.实验目的。

本实验的目的是掌握使用文件输入,输出字节流读写文件。3.实验要求。

1)giveContent.jsp页面提供一个表单,要求该表单提供一个text文件输入框、select下拉列表和一个TextArea文本区,用户可以在text输入框中输入文件的名字、在select下拉列表选择一个目录、通过TextArea输入多行文本。

2)writeContent.jsp页面首先获得giveContent.jsp页面提交的文件所在目录、名字以及TextArea文本区中的内容传递给WriteTag.tag。

3)lookContent.jsp页面提供一个表单,该表单提供两个text文本输入框,用户可以在这两个text文本框中输入目录和文件名字。单击表单的“提交”按钮将text中输入的文件目录以及文件名字提交给readContent.jsp。

4)readContent.jsp页面首先获得lookContent.jsp页面提交的文件目录、名字,然后使用Tag标记调用Tag文件ReadTag.tag,并将文件所在目录、名字传递给ReadTag.tag。

5)writeTag.tag文件使用attribute指令获得writeCintent.jsp页面传递过来的文件目录 文件名字和文件内容,然后使用文件字节输入流将文件内容写入到文件中,给文件所在目录就是writeCintent.jsp页面传递过来的文家目录,名字就是writeCintent.jsp页面传递过来的文家名字。

6)ReadTag。Tag的具体要求

Read.Tag文件使用attribute指令获得readContent.jsp页面传递过来的文件目录 文件名字和文件内容,然后使用文件字节输入流读取文件,并负责现实所读取的内容。

7)代码

4、实验结果:

giveContent.jsp页面

writeContent.jsp页面

lookContent.jsp页面

readContent.jsp页面

5、实验结果分析

1、把输入流的指向称做源,程序从指向源的输入流中读取源中的数据。而输出流的指向是数据要去的一个目的地,程序通过向输出流中写入数据把信息传递到目的地。所有字节输入流类都是InputStream(输入流)抽象类的子类,而所有字节输出流都是OutputStream(输出流)抽象类的子类。

2、int read(): 输入流调用该方法从源中读取单个字节的数据,该方法返 回字节值,如果未读出字节就返回-1。

3、void write(int n): 输出流调用该方法向输出流写入单个字节

实验2 使用文件字节流加密文件

1、相关知识点

fileinputstream流和filereader流都是顺序的读取文件,只要不关闭,每次调用read方法就顺序的读取源中其余的内容,只到源的末尾或流被关闭;二者的区别是fileinputstream流以字节为单位读取文件,filereader流以字符为单位读取文件

Fileoutstream流和filewtiter流顺序地写文件,只要不关闭流,每次调用writer方法的就顺序的向输出流写入内容,只到流被关闭。二者额区别是fileoutstream流以字节为单位些文件,filewtiter流以字符为单位文件

2、实验目的

本实验目的是掌握使用文件字符输入输出读写文件

3、实验要求

编写3个jsp页面inputcontent,jsp write,jsp read.jsp ,两个tag文件write.Tag和read.Tag 1).inputcontent,jsp的具体要求

inputcontent,jsp页面提供一个表单,要求该表单提供textarea的输入界面 用户可以通过textarea的输入界面多行文本提供交给write。Jsp界面 2.)write,jsp 的具体要求

write,jsp页面调用一个tag文件write,jsp将inputcontent,jsp 页面提交的文本信息加密后写入文件save.txt中。

3)read.jsp 的具体要求

read.jsp 页面提供一个表单,该表单提供两个单选按钮,名字分别是读取加密的文件和读取解密的文件 该页面选中的单选按钮的值提交给本页面如果该页面提交的值是单选按钮读取加密的文件的值 该页面调用tag文件read.tag读取文件save.txt如果该页面提交的值是单选按钮读取解密文件的值,该页面负责显示read.tag文件返回的有关信息 4)write.Tag的具体要求

write.Tag文件使用attribute指令获得write.jsp页面传递过来的文本信息,并使用文本文件输出流其写入到文件save.txt 5)read.Tag的具体要求 read.Tag文件使用文件输入流读取文件save.txt,并根据read.jsp的要求决定是否进行 6)代码

四、实验结果:

7)inputContent.jsp页面

8)write.jsp页面

9)read.jsp页面

10)

五、实验结果分析:

11)

1、FileInputStream流和FileReader流都是顺序的读取文件,只要不关闭流。每次调用read方法就顺利的读取源中其余的内容,直到源的末尾或流被关闭。两者的区别是Fileinputstream流以字节为单位读取文件,FileReader流以字符为单位读取文件。

12)

2、FileOutStream流和FileReader流都是顺序的写文件,只要不关闭文件,每次调用write方法就顺序的向输出流写入内容,直到流被关闭。二者的区别是FileOutStream流以字节为单位读取文件,FileReader流以字符为单位读取文件。

实验3 使用数据流读写Java数据

1、实验目的

本实验的目的是掌握使用数据流读写Java数据。

2、实验要求

编写两个JSP页面writeData.jsp和readData.jsp。

3、实验内容

1)writeData.jsp页面使用Java程序片将一个int型数据、一个long型数据、一个char型数据、一个String型数据和一个double型数据写入到名字为javaData.data的文件中。

2)readData.jsp页面读取javaData.data文件中的数据并显示出来。3)代码

4、实验结果

writeData.jsp页面

readData.jsp页面

5、实验结果分析

1、Java使用流(stream)来执行输入输出(I/O)的功能,流是一种数据的源头和目的之 间的通信途径.用于读入数据称为输入流(input stream), 用于写出数据称为输出流(output stream).2、当使用流时需要使用java.io包,因此在涉及数据流操作的程序中都要先导入 java.io包:import java.io.*;

第六章 JSP中使用数据库

要求在webapps目录下新建一个web服务目录chapter6。除特别要求外,本章实验所涉及的jsp页面均保存在chapter6中;tag文件保存在chapter6web-inttags目录中。

实验中用到的数据库为book,其中的表为bookform表。在进行实验之前首先完成下列任务:

1、使用microsoft access 2003 创建一个数据库book(book.mdb)。

2、在数据库book中创建名名字为bookform的表,表的字段及属性如图6-1所示。

3、讲数据库book设置为名字为information的数据源。

实验1 查询记录

1、相关知识点

本实验使用jdbc-odbc桥接器方式和数据库建立连接,查询数据库中表的记录的步骤是:(1)与数据库information建立连接;

Connection con=DriverManager.get Connection(‘jdbc:odbc: information’);(2)返回Statement对象;

Statement sql=con.createStatement();(3)向数据库发送关于查询记录的sql语句。返回查询结果,即Resultset对象

2、实验目的

本实验的目的是掌握使用jdbc查询数据库中表的记录。

3、实验要求

编写一个jsp页面inputMess.jsp。编写一个tag文件FindBook.tag。1)inputMess.jsp的具体要求

inputMess.jsp页面提供表单。表单允许用户输入要查询的内容,以及选择针对该内容的查询条件,比如,输入“实用”,那么可以指定该内容是书名的一部分或作者姓名等。inputMess.jsp页面查询条件条件提交给当前页面,当前页面调用FindBook.tag文件完成查询操作。2)FindBook.tag的具体要求

FindBook.tag文件的使用attribute指令获得inputMess.jsp页面传过来的字段的查询条件,然后与数据源information建立连接、根据得到的查询条件查询bookForm表。FindBook.tag文件使用variable指令的将查询结果返回给inputMess.jsp页面。

4、jsp页面的效果示例

inputMess.jsp的效果如图6-2所示。

5、参考代码

可以按照实验要求,参考本代码编写代码。1)jsp页面参考代码、实验结果

inputMess.jsp

7、实验结果分析:

1、DriverManager类:用语跟踪可用的JDBC驱动程序并产生数据库连接。

2、Connection接口:用于取得数据库信息、生成数据库语句,并管理数据库事务。

3、Statement接口:用于在基层连接上运行SQL语句,并且生成一个结果集。

4、查询结果一般封装在ResultSet对象中。ResultSet实际上是一张数据表。ResultSet对象有多种方法用来从查询结果中读取数据

5、在tag文件通过使用 attribute指令,就可以让调用该tag文件的jsp页面向该tag文件传递在jsp页面输入的查询内容的数据。tag文件通过使用variable属性可以从tag文件向jap页面返回符合查询条件的内容的数据

实验2 更新记录

1、相关知识点

本实验使用jdbc-odbc桥接器方式和数据库建立连接,查询数据库中表的记录的步骤如下:(1)与数据库information建立连接;

Connection con=DriverManager.get Connection(‘jdbc:odbc: information’);(2)返回Statement对象;

Statement sql=con.createStatement();(3)向数据库发送关于更新记录的sql语句: int m=sql.executeUpdate(更新记录的sql语句);更新成功m的值为1,否则为0。

2、实验目的

本实验的目的是掌握使用jdbc更新数据库中表的记录。

3、实验要求

编写一个jsp页面updateRecord.jsp和两个tag文件UpdateRecord.tag、GetRecord.tag。updateRecord.jsp负责调用GetRecord.tag文件,显示GetRecord.tag返回待更新的记录的有关字段的值;updateRecord.jsp调用UpdateRecord.tag文件,并显示UpdateRecord.tag返回的有关更新记录是否成功的信息。1)updateRecord.jsp的具体要求 updateRecord.jsp页面提供一个表单,该表单允许用户输入某种图书的isbn号以及针对该isbn号的图书的更新信息;该页面负责将图书的isbn号传递给GetRecord.tag,将图书的更新信息传递给UpdateRecord.tag。2)GetRecord.tag的具体要求

GetRecord.tag文件使用attribute指令获得updateRecord.jsp页面传递过来的图书的isbn号,并显示和该图书对应的记录。3)UpdateRecord.tag的具体要求

UpdateRecord.tag文件使用attribute指令获得updateRecord.jsp页面传递过来的图书更新信息,然后更新数据库中bookForm表中的记录,并返回更新成功的消息给updateRecord.jsp页面。

4、jsp页面效果示例

updateRecord.jsp的效果如图6-3所示。

5、参考代码

6、实验结果

updateRecord.jsp

7、实验结果分析

1、在数据库的连接于实验一是一样的,只是调用的方法不一样,在查询时Statement对象调用方法public int executeUpdate(String sql)

2、在jsp页面输入图书的ISBN号,GetRecord.tag文件使用attribute指令获得updateRecord.jsp页面传递过来的图书的ISBN号,在数据库里进行查找,并显示和该图书对应的记录

3、UpdateRecord.tag文件使用attribute指令获得updateRecord.jsp页面传递过来的图书更新信息即图书价钱的变化从39到25.5,然后更新数据库中bookForm表中的记录,并返回更新是否成功的消息给updateRecord.jsp页面。这样,如果在查询该图书,那么显示的信息就是更新后的。

实验3 删除记录

1、相关知识点

本实验使用jdbc-odbc桥接器方式和数据库建立连接,那么删除数据库中表的记录的步骤如下:

(1)与数据库information建立连接;

Connection con=DriverManager.get Connection(‘jdbc:odbc: information’);(2)返回Statement对象;

Statement sql=con.createStatement();(3)向数据库发送关于删除记录的sql语句: int m=sql.executeUpdate(更新记录的sql语句);删除成功m的值为1,否则为0。

2、实验目的

本实验的目的是掌握使用jdbc删除数据库中表的记录。

3、实验要求

编写一个jsp页面inputDeletedISBN.jsp和一个tag文件DelRecord.jsp.1)inputDeletedISBN.jsp的具体要求

inputDeletedISBN.jsp页面提供一个表单,该表单允许用户图书的ISBN提交到本页面。2)DelRecord.jsp的具体要求

inputDeletedISBN.jsp页面首先获得本页面提交的图书的ISBN,然后使用tag标记调用DelRecord.jsp删除数据库中表的相应的记录。

4、jsp页面效果示例

inputDeletedISBN.jsp的效果如图6-4所示:

5、参考代码

可以按照实验要求,参考本代码编写代码。

6、实验结果

inputDeletedISBN.jsp

7、实验结果分析:

1、在连接方法和所用的方法都与更新语句相同,因为executeUpdate()方法执行SQL的INSERT,UPDATE或DELETE语句,返回int值,给出受查询影响的行数

2、将图书的ISBN输入到件jsp页面,然后由tag文件进行相应的处理

3、将满足条件的图书直接删除,并将结果显示在本页面。

第七章 jsp与javabean 要求在webapps目录下新建一个web服务目录chapter7。除特别要求外,本章实验所涉及的jsp页面均保存在chapter7中。实验涉及的Javabean的包名均为bean.date,因此,要求在chapter7下建立子目录webclassesbeandate,Javabean的字节码文件保存在该子目录中。

实验1 有效范围为request的bean 1.相关知识点

JSP页面使用useBean标记调用一个有效范围是request的bean:

JSP引擎分配给每个用户有效范围为request的bean是互不相同的,也就是说,尽管每个用户的bean的功能相同,但他们占有不同的内存空间。该bean的有效范围是当前页面,当客户离开这个页面时,JSP引擎取消分配给客户的bean。2.实验目的

本实验的目的是掌握使用有效范围是request的bean的存储信息。3.实验要求

编写一个JSP页面inputAndShow.JSP和一个名字为computer的javabean,其中computer由pc.class类负责创建。

1)inputAndShow.jsp的具体要求

inputAndShow.jsp页面提供一个表单。其中表单允许用户输入计算机的品牌 型号和生产日期,该表单将用户输入的信息提交给当前调用名字为compter的bean,并使用表单提交的数据设置computer的有关属性的值,然后显示compter的各个属性值。2)pc.java的具体要求

编写的pc.java应当有描述计算机品牌 型号 生产日期的属性,并提供相应的getXxx和setXxx方法,来获取和修复这些属性的值。Pc.java中试用package语句,起的包名是bean.data。将pc.java编译后的字节码文件pc.class保存到chapter7WEB-INFclassesbeandata的目录中、4.JSP页面效果示列

inputAndShow.jsp的效果如图:

5、参考代码

可以按照实验要求,参考本代码编写代码。1)jsp页面参考代码、实验结果

inputAndShow.jsp页面

7、实验结果分析

1、JavaBean是一种可复用,跨平台的组件。

2、如果request的bean那么request是用户请求访问的当前组件、以及和当前web组件共享同一用户请求的web组件。范围是指在一个jsp网页发出请求到另一个jsp网页之间,随后这个属性就失效,设定request的范围时可利用request对象中的setattribute()和getattribute(),简单的讲就是客户端的一次请求。

实验2 有效范围为session的bean 1.相关知识点

JSP页面使用useBean标记调用一个有效范围是session的bean:

如果用户在某个Web服务目录多个页面中相互连接,每个页面都含有一个useBean标记,而且各个页面的useBean标记中Id的值相同 scope的值都是session,那么,该用户在整个bean的属性,其他的页面的这个bean的属性也将发生同样的变化,当用户的会话(session)的消失,比如用户关闭浏览器时,jsp引擎取消分配的bean,即释放bean所占的内存空间。需要注意的是,不同的用户的scop取值是session的bean是互不相同的(占有不同的内存),也就是说,当两个用户同时访问一个jsp页面时,一个用户对自己bean的属性的改变,不会影响到另一个用户。2.实验目的

本实验目的是让学生掌握使用有效范围是session的bean显示计算机的信息,3.实验要求

本实验2要求和实验1类似,但是和实验1不同的是,要求编写两个jsp页面input.jsp和show,jsp。编写一个名字为compter的javabean,其中compter由pc.class类负责创建。

1)input.jsp的具体要求

input.jsp页面提供一个表单。其中表单允许用户输入计算机的品牌 型号和生产日期,该表单将用户输入的信息提交给当前调用名字为compter的bean,并使用表单提交的数据设置computer的有关属性的值。要求在input.jsp提供一个超链接以便用户单机这个超链接访问show.jsp页面。13)show.jsp的具体要求

Show.jsp调用名字为computer的bean,并显示bean的各个属性的值。3)pc.java的具体要求

编写的pc.java应当有描述计算机品牌 型号 生产日期的属性,并提供相应的getXxx和setXxx方法,来获取和修复这些属性的值。Pc.java中试用package语句,起的包名是bean.data。将pc.java编译后的字节码文件pc.class保存到chapter7WEB-INFclassesbeandata的目录中。4.JSP页面效果示列 Input.jsp的效果如图

show.jsp的效果如图

6、实验结果

input.jsp页面

Show.jsp页面

7、实验结果分析

1、session就是JavaBean对象被创建后,一直存在于当前回话中,在同一会话中,共享同一JavaBean

2、session基于会话的,当用户网页关闭的话,session就清空了或是到达了session最大的发呆时间。

实验3 有效范围application的bean 1.相关知识点

JSP页面使用useBean标记调用一个有效范围是application的bean:

JSP引擎为web服务目录下所有的jsp页面分配一个共享的bean,不同用户的scope取值是application的bean都是相同的一个,也就是说,当用户同时访问一个jsp页面时,任何一个用户对自己bean的属性的改变,都会影响到其他的用户。2.实验目的

本实验目的是掌握使用有效范围是application的bean制作一个简单留言板。3.实验要求

要求编写两个jsp页面inputMess.jsp和show.jsp。编写一个名字为board的javabean,其中board由MessBoard.class类负责创建.。第6章 inputMess.jsp的具体要求

inputMess.jsp页面提供一个表单。其中表单允许用户输入留言者的姓名 留言标题和留言内容,该表单将用户输入的信息提交的当前页面,当前页面调用名字为board的bean,并使用表单提交的数据设置board的有关属性的值。要求在inputMess.jsp中提供一个连接,已便用户单击这个超链接是访问show.jsp页面 第7章 show.jsp的具体要求

Show.jsp调用名字为board的bean,并显示该bean的allMessage属性的值 3)MessBoard.class的具体要求

编写MessBoard.java应当有刻画留言者的姓名.留言标题 和留言内容属性,并刻画全部留言信息的属性allMessage。将MessBoard.java保存到chapter7WEB-INFclassesbeandata的目录中。4.JSP页面效果示列

inputMess.jsp的效果如图 show.jsp的效果如图

5、参考代码

6、实验结果

inputMess.jsp页面

show.jsp 页面

7、实验结果分析

1、如果在scope指定范围内,该JavaBean已存在,则不会生成新的JavaBean对象,而是直接获得已经存在的 JavaBean 对象的引用.2、使用标签访问JavaBean属性: 调用Bean中的get方法得到某属性的值

调用Bean中的set方法给某属性赋值

3、Application:在服务器运行期间有效,当运行Tomcat时,就会生成Application,而且所有用户在访问相同服务目录项的文件时,application对象都是相同的,当关闭Tomcat时,Application对象失效。

第四篇:JSP实验报告(范文模版)

(1)创建名称为“UserInfo.java”类文件,该文件的主要代码如下:

package com;

public class UserInfo { private String username=“";

private String password=”“;

private String repassword=”“;

private String realname=”“;

private String sex=”“;

private String age=”“;

private String born=”“;

private String address=”“;

private String introduce=”“;

public String getUsername(){

return username;

} public void setUsername(String username){

this.username = username;

} public String getPassword(){

return password;

} public void setPassword(String password){

this.password = password;

} public String getRepassword(){

return repassword;

} public void setRepassword(String repassword){

this.repassword = repassword;

} public String getRealname(){

return realname;

} public void setRealname(String realname){

this.realname = realname;

} public String getSex(){

return sex;

} public void setSex(String sex){

this.sex = sex;

} public String getAge(){

return age;

} public void setAge(String age){

this.age = age;

} public String getBorn(){

return born;

} public void setBorn(String born){

this.born = born;

} public String getAddress(){

return address;

} public void setAddress(String address){

this.address = address;

} public String getIntroduce(){

return introduce;

} public void setIntroduce(String introduce){

this.introduce = introduce;

}

}

(2)用户注册页面的代码如下:

<%@ page contentType=”text/html;charset=gb2312“ language=”java“

im port=”java.sql.*“ errorPage=”“%> 用户注册

name=“form1” onSubmit=“return

用户名:
密码:
确认:
用户真实姓名:
性别:  男    女

年龄:
出生:
地址:
介绍:

type=”reset“ name=”Submit2“ value=”重置">

第五篇:JSP编程实验报告

JSP编程实验报告

学生姓名:学生班级:学生学号:指导教师:实验n(n-实验顺序号):实验名称

一、实验目的二、实验内容及步骤

三、源代码

四、运行界面

五、收获和体会

下载JSP内置对象实验报告word格式文档
下载JSP内置对象实验报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    面向对象程序设计-实验报告2★

    GDOU-B-11-112 广东海洋大学学生实验报告书 实验名称 实验2:构造函数和析构函数 课程名称 面向对象程序设计 学院(系) 学生姓名 成绩信息学院学号 专业 计算机科学与技术实验地......

    PPT内置音乐

    操作步骤如下: 第一步,打开要插入声音的幻灯片,在菜单中依次单击“插入”→“影片和声音”→“文件中的声音”命令,把所需的声音文件插入,插入声音文件后会出现一个提示,询问是否......

    Access数据库对象综合应用 实验报告

    实验报告课程名称:《计算机软件基础》 实验类型:设计型(验证型、创新型、综合型、设计型) 实验项目名称:Access数据库对象综合应用学生姓名:专业: 教育技术学学号: 指导老师: 实验地......

    汇报材料jsp

    汇 报 提 纲 (2011年10月00日) 首先,我代表友好区委、区政府对省考核组各位领导和专家莅临友好区检查指导工作表示热烈的欢迎。下面,我将友好区近年来创建国家级卫生城市工作开......

    JSP学习心得

    学习JSP程序设计心得体会 满怀期待的等待 在去年暑假得知自己被录取到了武汉科技学院经济管理学院信息管理与信息系统专业的那天起我就与信管这个专业结下不解之缘。但是当......

    JSP教学大纲

    《JSP》课程教学大纲 课程名称:JSP 英文名称:Java Server Page 一、课程基本情况 学时:108 2.课程类别:专业基础必修课 3.适用专业:计算机及其应用专业 4.适用对象:专科、本科 5.先修......

    JSP教学大纲

    CUUG 中国UNIX用户协会China Unix User Group Java Server Pages教学大纲 第一部分 JSP基础 一、概述 1.1 Java技术的发展 1.2 Java Servlets 1.3 现有Web服务器简述 1.......

    面向对象程序设计大作业实验报告[5篇范例]

    面向对象程序设计大作业实验报告 计算机2000班 周博慧 学号 *** 2001年 12月 5日 一,功能介绍 程序采用C++为设计语言,使用VISUAL C++提供的头文件,操作平台基于do......