JSP实验3 request对象、session对象
浅谈page,request,session,application四种范围
浅谈page,request,session,application四种范围JaveWeb四种主要的范围:1.page: page表⽰页⾯范围。
页⾯范围对应的时间段为:从客户访问⼀个jsp⽂件开始,到这个jsp⽂件执⾏结束。
2.request: request表⽰请求范围。
请求范围时间段为:从客户请求访问⼀个jsp⽂件开始,到这个jsp返回响应结果结束,如果这个jsp⽂件把请求转发给其他web组件,那么知道其他web组件返回响应结果结束。
请求范围是指服务器响应⼀次客户请求的过程,从servlet容器接收到⼀个客户请求开始,到返回响应结果结束, 请求范围与servletRequest和servletResponse相对应。
3.session: session表⽰会话范围。
会话范围对应着整个会话的⽣存周期。
会话范围是指浏览器与⼀个web应⽤进⾏⼀次会话的过程。
具体实现上,会话范围与httpsession对象的⽣命周期相对应。
因此web组件只要共享同⼀个httpsession对象也就能共享会话范围内的数据。
举例说明: 浏览器进程第⼀次请求访问应⽤中⼀个⽀持会话的⽹页,servlet容器驶⼊寻找请求中表⽰sessionID的cookie,由于还不存在这样的cookie,所以⼀个新的会话开始了,创建⼀个httpsession的对象,然后为它分配唯⼀的sessionID,并把id作为Cookie 放在http响应结果中,当浏览器接收到http响应后,会把sessionID保存的cookie保存在客户端。
浏览器进程继续访问应⽤的任意⼀个⽀持会哈德页⾯,http请求会包含表⽰sessionID的Cookie,servlet容器试图寻找http请求中sessionID的cookie,找到后可以找到与sessionID匹配的httpSession。
4.application(应⽤)范围: web应⽤范围对应整个web应⽤的⽣存周期。
Jsp实验报告 request和response的使用
(1)
实验内容:
1.编写一个JSP页面inputNumber.jsp,该页面提供一个表单,用户通过表单输入两个整数,及四则运算符号提交到本页面。根据选择的运算符计算出结果,页面效果如下:
2.设计并实现一个用户登录的过程,其中login.jsp页面用于用户输入相应的用户名和密码进行登录,checklogin.jsp用于检查用户名和密码是否正确,如果用户输入用户名wangyu,密码123456后,单击【提交】按钮,成功登录后转向success.jsp页面,否则,在checklogin.jsp页面给出错误提示“400错误”运行结果如下:
<optionvalue="*">*
<optionvalue="/">/
</select>
<inputtype="text"name="sideB"><br>
<inputtype="submit"value="提交你的选择"name="submit">
</FORM>
<%
String sa=request.getParameter("sideA");
如果数字<100,response对象调用setContentType(String s)方法将MIME类型设置为application/msword,同时输出该数字的平方;
如果数字>=100,response对象调用setStatus(int n)方法将状态行的内容设置为404;
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中</Host>前加入:<Context path=”/**” docBase=”路径” debug=”0” reloadable=”true/”>3、Tomcat服务器必须保持启动。
第二章 JSP页面与JSP标记实验1 JSP页面的基本结构一、实验目的本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。
二、实验要求本实验将用户输入的单词按字典顺序。
需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。
JSP程序设计实验报告
JSP程序设计实验报告JSP程序设计实验报告1、实验目的1.1 将Java代码与页面相结合,实现动态网页的开发 1.2 学习和掌握JSP程序设计的基本原理与技巧1.3 掌握使用JSP实现数据库操作的方法2、实验环境2.1 操作系统:Windows 102.2 开发工具:Eclipse IDE2.3 服务器:Apache Tomcat2.4 数据库:MySQL3、实验内容3.1 搭建JSP开发环境3.1.1 安装Eclipse IDE3.1.2 配置Apache Tomcat服务器3.1.3 连接Eclipse与Tomcat服务器3.2 创建JSP页面3.2.1 新建一个JSP文件 3.2.2 编写标签和JSP代码 3.2.3 展示动态数据3.3 JSP基本语法3.3.1 声明标签3.3.2 表达式标签3.3.3 脚本标签3.3.4 注释标签3.3.5 动作标签3.4 JSP中的控制语句3.4.1 条件判断语句3.4.2 循环语句3.4.3 转向语句3.5 JSP中的对象与方法3.5.1 request对象3.5.2 response对象3.5.3 session对象3.5.4 JSP表单处理3.6 JSP与数据库交互3.6.1 连接数据库3.6.2 执行SQL语句3.6.3 处理数据库返回结果4、实验步骤4.1 搭建JSP开发环境4.1.1 并安装Eclipse IDE4.1.2 并配置Apache Tomcat服务器4.1.3 在Eclipse中连接Tomcat服务器4.2 创建JSP页面4.2.1 在Eclipse中创建新的JSP文件4.2.2 编写JSP页面的标签和JSP代码4.2.3 保存并运行JSP页面4.3 学习和练习JSP基本语法和控制语句4.3.1 编写JSP页面,使用各种JSP标签和控制语句4.3.2 运行JSP页面,查看结果4.4 实现JSP与数据库的交互4.4.1 创建一个数据库,并设计相应的表4.4.2 连接数据库,执行SQL语句4.4.3 在JSP页面中展示数据库查询结果5、实验结果分析在本次实验中,我们成功搭建了JSP开发环境,并创建了多个JSP页面。
jsp实验1-11
软件工程系《JSP应用技术》实验指导书专业班级:软件11-1、2指导教师:朱亚玲实验一 JSP开发环境的搭建一、实验目的1.熟练掌握Tomcat服务器的安装与配置,为后续实验做好准备工作;2.掌握Web服务目录的设置;3.熟练掌握Web服务目录下JSP页面的访问;4.掌握Tomcat服务器端口号的修改。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.Tomcat服务器的安装与配置;(1)下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。
(2)下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\。
2.Web服务目录的设置;(1)在D:\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web 服务目录指定名字为friend的虚拟目录。
打开Tomcat目录中conf文件夹里的文件,找到出现</Host>的部分。
然后在</Host>的前面加入:<Context path=" " docBase=" " debug=0 reloadable="true" /> (2)修改端口号为9999。
在文件中找到修改端口号部分,默认端口修改为9999。
(3)启动Tomcat服务器。
如果已经启动,应该,并重新启动。
3.JSP页面的访问;(1)使用“记事本”编写一个简单的JSP页面,文件名用自己的姓名拼音命名(如张三:zhangSan.jsp),文件名是,并保存到Web服务目录student中。
(2)打开上一步建立的JSP页面进行编辑,使其页面运行起来时显示你的专业、班级、学号,姓名。
(3)在浏览器的地址栏中输入Tomcat服务器的IP地址和端口号,并通过虚拟目录friend访问Web服务目录student中第2步编辑后的JSP页面,访问路径是:。
JSP-简单的登录实现
Integer c1 = (Integer) application.getAttribute("count"), c2 = new Integer(
c1.intValue() + 1);
application.setAttribute("count", c2);
String username = request.getParameter("username");
String password = request.getParameter("password");
String id = request.getParameter("id");
String authcode = request.getParameter("authcode");
<tr><td colspan="2" align="center"><input type="submit" value="LOGIN" />
</td></tr>
</table></form>
......
Welcome.jsp:
<%
if (((String)request.getParameter("submit"))!=null) {
......
<%
if (((String) request.getParameter("submit")) != null) {
实验3-2 session对象
实验3-2session对象1.相关知识点HTTP协议是一种无状态协议。
一个客户向服务器发出请求(request),然后服务器返回响应(response),连接就被关闭了。
所以,Tomcat服务器必须使用内置session对象(会话)记录有关连接的信息。
同一个客户在某个Web服务目录中的session是相同的;同一个客户在不同的Web服务目录中的session是互不相同的;不同用户的session是互不相同的。
一个用户在某个web服务目录的session对象的生存期限依赖于客户是否关闭浏览器、依赖于session对象是否调用invalidate()方法使得session无效或session对象达到了设置的最长的“发呆”时间。
2.实验目的本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。
3.实验要求本实验编写3个JSP页面login.jsp,show.jsp和exit.jsp。
login.jsp页面提供一个表单,用户可以通过表单输入姓名提供给login.jsp页面,该页面将用户的姓名存放到用户的session(会话)中。
如果用户链接到show.jsp页面,该页面将检查用户的session 中是否存放了姓名,否则就将用户重新定向到login页面;如果用户链接到exit.jsp页面,exit.jsp将销毁用户的session。
●login.jsp的具体要求login.jsp页面提供一个表单,要求表单中提供一个text输入框,供用户输入名字提交给当前页面,login,jsp页面将用户输入的名字存放到用户的session(会话)中。
●show.jsp的具体要求要求show.jsp页面可以显示一幅图像。
但前提条件是,用户事先必须在session中存放有名字,否则无法看到图像,而且还会被重新定向到login.jsp页面。
●exit.jsp的具体要求用户一旦访问exit.jsp页面,用户的session的对象将被销毁,用户必须重新访问其他的页面获得新的session。
jsp实验3-购物车实验
/**
*图书分类,这里的图书分类定义比较简单,没有多级分类信息
* */
public class BookCatalog {
String id;//分类关键字
String title;//分类名称
public BookCatalog(String id, String title) {
}
public void setTitle(String title) {
this.title = title;
}
}
2.创建图书类Book.java
packagecom.bookstore.model;
/**
*图书类
**/
publicclassBook {
Stringisbn;//图书关键字
StringcatalogId;
}
3.创建图书库BookStore,提供了几个类方法模拟从数据库获得书籍信息。
package com.bookstore.model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
5.创建一个对应订购图书的订单项OrderItem
package com.bookstore.model;
/**
*一个订购项
* */
public class OrderItem {
Book book;//订购的图书
int nums;//概述订购的数量
private float sum;//合计
第三章:JSP内置对象 (request对象、response对象session对象、application对象、cookie)
第三章: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程序设计网上测试系统”,如下图所示。
JSP实验指导
实验一JSP运行环境安装与配置实验时间:3月7日实验目的:1、掌握JSP运行环境的安装与配置。
2、熟悉Tomcat服务器的安装与配置。
3、掌握JSP文件的建立与使用。
4、熟悉JSP开发环境实验内容:1、安装J2SDK并设置相关环境变量。
2、安装与启动Tomcat服务器3、设置Web服务目录4、编写测试JSP页面实验步骤(过程):参照教材实验二JSP页面实验时间:3月21日实验目的:1、掌握JSP页面的基本结构及运行原理。
2、掌握怎样声明JSP页面的成员变量和方法3、掌握怎样使用Java程序片和Java表达式。
4、掌握在JSP页面中使用HTML标记。
实验内容:1、编写一个JSP页面,计算出100以内的素数。
2、设计两个JSP页面a.jsp和b.jsp,a.jsp页面使用表单提交数据给b.jsp页面,要求a.jsp通过text方式提交一个字符串给b.jsp,b.jsp页面获取a.jsp提交的字符串,并使用Java表达式显示这个字符串及其长度。
3、请编写JSP页面inputNumber.jsp和getNumber.jsp。
inputNumber.jsp页面使用表单通过text方式提交一个数字给getNumber.jsp页面,getNumber.jsp计算并显示这个数的平方和立方。
实验过程:实验题目1:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=yellow><P> 100以内的素数有:<BR>int i,j;for( i=1;i<=100;i++){ for( j=2;j<i;j++){ if(i%j==0)break;}if(j==i)out.println("<BR>素数:"+i);}%></BODY> </HTML>实验题目二:a.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><FORM action="b.jsp" method=post name=form><BR>请输入一个字符串:<INPUT type="text" name="name" ></BR><INPUT TYPE="submit" value="提交" name="submit"> </FORM></FONT></BODY></HTML>b.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><% String str=request.getParameter("name");%><P> 您输入的字符串是:<%=str %><P> 字符串的长度为:<%=str.length() %></FONT></BODY></HTML>实验题目3:inputNumber.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><FORM action="getNumber.jsp" method=post name=form><BR>请输入一个数字:<INPUT type="text" name="number" ></BR><INPUT TYPE="submit" value="提交" name="submit"> </FORM></FONT></BODY></HTML>getNumber.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><% String str=request.getParameter("number");double d=Double.parseDouble(str);out.println(d+"的平方为:"+d*d);out.println("<BR>"+d+"的立方为:"+d*d*d);}catch(NumberFormatException exp){out.println("<BR>"+exp);}%></FONT></BODY></HTML>实验三JSP标记实验时间:4月4日实验目的:1、掌握JSP指令标记、动作标记和自定义标记的使用2、掌握Tag文件设计、保存及调用方法。
JSP9大内置对象详解
JSP9⼤内置对象详解内置对象特点:1. 由JSP规范提供,不⽤编写者实例化。
2. 通过Web容器实现和管理3. 所有JSP页⾯均可使⽤4. 只有在脚本元素的表达式或代码段中才可使⽤(<%=使⽤内置对象%>或<%使⽤内置对象%>)常⽤内置对象:1. 输出输⼊对象:request对象、response对象、out对象2. 通信控制对象:pageContext对象、session对象、application对象3. Servlet对象:page对象、config对象4. 错误处理对象:exception对象对象常⽤⽅法说明:1.out对象(数据流 javax.servlet.jsp.jspWriter)⽅法名说明print或println输出数据newLine输出换⾏字符flush输出缓冲区数据close关闭输出流clear清除缓冲区中数据,但不输出到客户端clearBuffer清除缓冲区中数据,输出到客户端getBufferSize获得缓冲区⼤⼩getRemaining获得缓冲区中没有被占⽤的空间isAutoFlush是否为⾃动输出2.request对象(请求信息 javax.servlet.http.HttpServletrequest)⽅法名说明isUserInRole判断认证后的⽤户是否属于某⼀成员组getAttribute获取指定属性的值,如该属性值不存在返回NullgetAttributeNames获取所有属性名的集合getCookies获取所有Cookie对象getCharacterEncoding获取请求的字符编码⽅式getContentLength返回请求正⽂的长度,如不确定返回-1getHeader获取指定名字报头值getHeaders获取指定名字报头的所有值,⼀个枚举getHeaderNames获取所有报头的名字,⼀个枚举getInputStream返回请求输⼊流,获取请求中的数据getMethod获取客户端向端传送数据的⽅法getParameter获取指定名字参数值getParameterNames获取所有参数的名字,⼀个枚举getParameterValues获取指定名字参数的所有值getProtocol获取客户端向端传送数据的协议名称getQueryString获取以get⽅法向传送的查询字符串getRequestURI获取发出请求字符串的客户端地址getRemoteAddr获取客户端的IP地址getRemoteHost获取客户端的名字getSession获取和请求相关的会话getServerName获取的名字getServerPath获取客户端请求⽂件的路径getServerPort获取的端⼝号removeAttribute删除请求中的⼀个属性setAttribute设置指定名字参数值3.response对象(响应 javax.servlet.http.HttpServletResponse)⽅法名说明addCookie添加⼀个Cookie对象addHeader添加Http⽂件指定名字头信息containsHeader判断指定名字Http⽂件头信息是否存在encodeURL使⽤sessionid封装URLflushBuffer强制把当前缓冲区内容发送到客户端getBufferSize返回缓冲区⼤⼩getOutputStream返回到客户端的输出流对象getOutputStream返回到客户端的输出流对象sendError向客户端发送错误信息sendRedirect把响应发送到另⼀个位置进⾏处理setContentType设置响应的MIME类型setHeader设置指定名字的Http⽂件头信息4.session对象(会话 javax.servlet.http.HttpSession)⽅法名说明getAttribute获取指定名字的属性getAttributeNames获取session中全部属性名字,⼀个枚举getCreationTime返回session的创建时间getId获取会话标识符getLastAccessedTime返回最后发送请求的时间getMaxInactiveInterval返回session对象的⽣存时间单位千分之⼀秒invalidate销毁session对象isNew每个请求是否会产⽣新的session对象removeAttribute删除指定名字的属性setAttribute设定指定名字的属性值5.pageContext对象(页⾯上下⽂ javax.servlet.jsp.PageContext)⽅法名说明forward重定向到另⼀页⾯或Servlet组件getAttribute获取某范围中指定名字的属性值findAttribute按范围搜索指定名字的属性removeAttribute删除某范围中指定名字的属性setAttribute设定某范围中指定名字的属性值getException返回当前异常对象getRequest返回当前请求对象getResponse返回当前响应对象getServletConfig返回当前页⾯的ServletConfig对象getServletContext返回所有页⾯共享的ServletContext对象getSession返回当前页⾯的会话对象6.application对象(应⽤程序 javax.servlet.ServletContext)⽅法名说明getAttribute获取应⽤对象中指定名字的属性值getAttributeNames获取应⽤对象中所有属性的名字,⼀个枚举getInitParameter返回应⽤对象中指定名字的初始参数值getServletInfo返回Servlet编译器中当前版本信息setAttribute设置应⽤对象中指定名字的属性值7.config对象(Servlet的配置信息 javax.servlet.ServletConfig)⽅法名说明getServletContext返回所执⾏的Servlet的环境对象getServletName返回所执⾏的Servlet的名字getInitParameter返回指定名字的初始参数值getInitParameterNames返回该JSP中所有的初始参数名,⼀个枚举8.page对象(当前JSP的实例,ng.object)它代表JSP被编译成Servlet,可以使⽤它来调⽤Servlet类中所定义的⽅法9.exception对象(运⾏时的异常,ng.Throwable)被调⽤的错误页⾯的结果,只有在错误页⾯中才可使⽤,即在页⾯指令中设置:<%@page isErrorPage=“true”%>Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。
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开发能力。
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第4章实验报告
肇庆学院计算机学院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 内置对象实验报告
jsp 内置对象实验报告
JSP 内置对象实验报告
JSP(Java Server Pages)是一种用于开发动态网页的技术,它允许开发人员在HTML 页面中嵌入 Java 代码。
在 JSP 中,有许多内置对象可以帮助开发人员访问请求、会话和应用程序信息,以及执行其他常见任务。
本实验报告将探讨JSP 内置对象的使用和功能。
首先,我们创建了一个简单的 JSP 页面,并在其中使用了内置对象。
我们使用了 request 对象来获取客户端发送的请求信息,并使用了 session 对象来管理用户会话信息。
通过使用这些内置对象,我们能够轻松地访问和操作客户端请求和会话数据,从而实现更灵活和动态的网页。
接下来,我们尝试使用 application 对象来访问应用程序范围的数据。
通过将数据存储在 application 对象中,我们可以确保所有用户都能够访问和共享这些数据,从而实现更高效的应用程序设计。
此外,我们还使用了 out 对象来向客户端输出动态内容。
通过将 Java 代码嵌入到 JSP 页面中,并使用 out 对象来输出结果,我们能够实现更灵活和动态的网页内容,从而提升用户体验。
总的来说,JSP 内置对象为开发人员提供了丰富的功能和便利的操作方式,使得开发动态网页变得更加简单和高效。
通过本次实验,我们深入了解了这些内置对象的使用和功能,相信这将对我们今后的 JSP 开发工作产生积极的影响。
jsp八大对象
response
对象的作用是封装JSP产生的响应,然后将其发送至客户端以响应 客户的请求。 2. response对象被封装为javax.servlet.http.HttpServletResponse接 口 3. 常用方法 Viod sendRedirect(String location):将请求重新定位到一个不同的URL 例如用 sendredirect(“http://localhost:8080/bss/list.jsp?page=1”); 1.
• page
page对象的实质就是ng.Object,它是ng.Object类的一个 实例。page对象代表JSP本身,更确切的说,它是代表JSP被转译后 的Seቤተ መጻሕፍቲ ባይዱvlet,它可以调用Servlet类定义的方法,作用和Java中的this一
样。
pageContext
pageContext表示一个javax.servlet.jsp.PageContext对象。 PageContext对象的作用是取得任何范围的参数,通过PageContext 对象可以获取JSP页面的out、request、response、session、 application等对象,重新定向客户的请求等
Session 1. session对象的作用是记录每个客户端的访问状态,以便跟踪每个 客户端的操作状态。 2. session对象被封装为javax.servlet.http.HttpSession接口,通过调 用pageContext.getSession()方法可以获取一个session对象。
application
1.
2.
类似于系统的“全局变量”,用于实现用户之间的数据共享。他是 存储到服务器上.直至服务器关闭为止. application对象被封装为javax.servlet.SercletContext接口的类型, 通过pageContext.getSrevletContext()方法可以获取application对 象。
JSP九大对象
JSP内置对象:一.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
它是HttpServletRequest的实例。
JSP下面介绍request的常用方法:1,getParameter();getParameterValues();使用如下String str=request.getParameter();2,setAttribute();getAttribute();removeAttribute();getMethod();getPr otocol();getReqeustURI();getRemoteAddr();getServerPort();和getServerName();二.response对象:对客户的请求做出动态的响应,向客户端发送数据。
三.session对象1.什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。
当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。
当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。
request对象
课堂实践总结
知识点要求
request对象的主要作用是接收客户端发送而来的请 求信息
学习导航
JSP内置对象概述 内置对象概述
JSP内置对象是指在 内置对象是指在JSP内置的、不需要预先声明 内置的、 内置对象是指在 内置的 就可以在脚本代码和表达式中直接使用的对象。 就可以在脚本代码和表达式中直接使用的对象。
2
JSP通过 通过request对象获取客户浏览器的请求,通 对象获取客户浏览器的请求, 通过 对象获取客户浏览器的请求 对客户浏览器进行响应。 过response对客户浏览器进行响应。而session则一 对客户浏览器进行响应 则一 直保存着会话期间所需要传递的数据信息。 直保存着会话期间所需要传递的数据信息。
课堂案例2——全面认识 全面认识request的常用方法 课堂案例 全面认识 的常用方法
案例学习目标 学习request对象各种常用方法的使用。
案例知识要点 request对象各种方法的功能及应用场合。
课堂案例3——使用 使用request获取复杂表单信息 课堂案例 使用 获取复杂表单信息
案例学习目标 学习request对象获取复杂表单信息的方法。
15
6
课堂案例1—使用 使用request获取简单表单信息 课堂案例 使用 获取简单表单信息
案例学习目标 学习request对象获取简单HTML表单信息的方法。
案例知识要点 request对象getParameter方法、应用getParameter方 法获取HTML页面中文本框表单元素的提交信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3-1request对象1.相关知识点HTTP通信协议使用户与服务器之间一种请求和响应(request/response)的通信协议。
在JSP中,内置对象request封装了用户请求提交时所提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。
2.实验目的:本实验的目的是让学生掌握怎样在JSP中使用内置对象request.3.实验要求:编写一个JSP页面input.jsp,该页面提供一个表单,用户可以通过表单输两个数和四则运算符号提供给页面表单。
用户提交表单后,input.jsp将计算任务交给一个JSP页面result.jsp去完成。
◆input.jsp的具体要求input.jsp页面提供一个表单,要求表单中提供两个text输入框,供用户输入数字;提供一个下拉列表,该下拉列表有加、减、乘、除四个选项,供用户选择运算符号。
用户在表单中输入数字、选择运算符号提交给result.jsp页面。
◆result.jsp的具体要求要求result.jsp页面获取input.jsp提交的数据,并计算出相应的结果显示给用户。
4.参考代码input.jsp<%@page language="java"contentType="text/html;charset=gb2312"pageEncoding="utf-8"%><html><body bgcolor=yellow><form action="result.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></body></html>result.jsp<%@page language="java"contentType="text/html;charset=gb2312"pageEncoding="utf-8"%><html><body bgcolor=green><%String numberOne=request.getParameter("numberOne");String numberTwo=request.getParameter("numberTwo");String operator=request.getParameter("operator");if(numberOne==null){numberOne="0";}if(numberTwo==null){numberTwo="0";}try{double a=Double.parseDouble(numberOne);double b=Double.parseDouble(numberTwo);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;out.println(a+""+operator+""+b+"="+r); }catch(Exception e){out.println("请输入数字字符!"); }%></body></html>5.结果截图input.jsp页面:验证加法:以55+55为例提交后:验证减法:以110-20为例提交后:验证乘法:以20*20为例提交后:验证除法:以20/10为例提交后:异常处理:提交后:实验3-2session对象1.相关知识点HTTP协议是一种无状态协议。
一个客户向服务器发出请求(request),然后服务器返回响应(response),连接就被关闭了。
所以,Tomcat服务器必须使用内置session对象(会话)记录有关连接的信息。
同一个客户在某个Web服务目录中的session是相同的;同一个客户在不同的Web服务目录中的session是互不相同的;不同用户的session是互不相同的。
一个用户在某个web服务目录的session对象的生存期限依赖于客户是否关闭浏览器、依赖于session对象是否调用invalidate()方法使得session无效或session对象达到了设置的最长的“发呆”时间。
2.实验目的本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。
3.实验要求本实验编写3个JSP页面login.jsp,show.jsp和exit.jsp。
login.jsp页面提供一个表单,用户可以通过表单输入姓名提供给login.jsp页面,该页面将用户的姓名存放到用户的session(会话)中。
如果用户链接到show.jsp页面,该页面将检查用户的session 中是否存放了姓名,否则就将用户重新定向到login页面;如果用户链接到exit.jsp页面,exit.jsp将销毁用户的session。
●login.jsp的具体要求login.jsp页面提供一个表单,要求表单中提供一个text输入框,供用户输入名字提交给当前页面,login,jsp页面将用户输入的名字存放到用户的session(会话)中。
●show.jsp的具体要求要求show.jsp页面可以显示一幅图像。
但前提条件是,用户事先必须在session中存放有名字,否则无法看到图像,而且还会被重新定向到login.jsp页面。
●exit.jsp的具体要求用户一旦访问exit.jsp页面,用户的session的对象将被销毁,用户必须重新访问其他的页面获得新的session。
4.参考代码Login.jsp代码:<%@page language="java"contentType="text/html;charset=gb2312" pageEncoding="utf-8"%><head><a href=login.jsp>登录</a><a href=show.jsp>看图</a><a href=exit.jsp>退出</a></head><html><body><form action=""method=post name=form>输入名字就算登录了:<br><input type=text name="name"size=6><br><input type="submit"value="提交"name="submit"></form></body></html><%String name=request.getParameter("name");if(name==null)name="";session.setAttribute("login_name",name);%>show.jsp代码:<%@page language="java"contentType="text/html;charset=gb2312" pageEncoding="utf-8"%><head><a href=login.jsp>登录</a><a href=show.jsp>看图</a><a href=exit.jsp>退出</a></head><html><body><%String name=(String)session.getAttribute("login_name");if(name==null||name.length()==0){response.sendRedirect("login.jsp");}%><img src="C:\Users\E550C\Desktop\文档与其它\19_222949_5.jpg" width=200height=178></img></body></html>其中C:\Users\E550C\Desktop\文档与其它\19_222949_5.jpg是图片路径,可根据需要更改。
附图:exit.jsp代码:<%@page language="java"contentType="text/html;charset=gb2312" pageEncoding="utf-8"%><head><a href=login.jsp>登录</a><a href=show.jsp>看图</a><a href=exit.jsp>退出</a></head><html><body><%session.invalidate();%><b>session会话失败</b></body></html>5.实验结果输入姓名提交提交后:点击看图点击退出Ps:编者语《JSP实用教程(第三版)》耿样义张跃平编著这本书上实验2到实验7,编者都有编辑文档,内容包括实验要求、实验目的、代码甚至必要操作。