第12讲_JSP隐含对象(out、request)
- 格式:ppt
- 大小:2.03 MB
- 文档页数:41
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页面的初始化参数。
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⽂件中直接拿来使⽤的对象 JSP⽂件翻译后⽣成的⽂件:在service⽅法中就引⼊了9个对象,所以在jsp⽂件中才可以直接使⽤九⼤内置对象有哪些四个范围对象的范围从⼩到⼤是什么: 从⼩范围到⼤范围:pageContext、request、session、applicationpageContext对象是什么 pageContext对象代表jsp页⾯上下⽂对象pageContext对象可以⼲什么 通过pageContext对象可以获取整个JSP页⾯环境中的所有数据: 获取当前JSP页⾯中的请求对象:pageContext.getRequest()。
获取当前JSP页⾯中的会话对象:pageContext.getSession()。
获取ServletContext对象:pageContext.getServletContext()。
通过pageContext对象传递数据(只能存储⼀个页⾯中的数据,⽆法跨页⾯。
可以获取include指令包含的jsp页⾯中存储的数据,但是不能获取include动作包含的jsp页⾯中存储的数据): pageContext.setAttribute(“username”,jack); //存 pageContext.getAttribute(“username”); //取 通过pageContext对象往request,session,application对象中存储数据: 向request范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.REQUEST_SCOPE); 向session范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.SESSION_SCOPE); 向application范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.APPLICATION_SCOPE);。
out对象1、什么是out对象?(1) out对象是一个输出流,用于向客户端输出数据。
(2) out对象基类是:javax.servlet.jsp.JspWriter类。
注意:out对象跟Servlet中由HttpServletResponse类得到的PrintWriter对象略有不同,但是JspWriter类和PrintWriter类都是从java.io.Writer类继承而来,所以基本上还是一样的。
(3) out对象的常用方法,如下所示:print()和println()方法的区别:print()方法输出数据时,不会写入一个换行符;而println()方法输出数据时,会写入一个换行符。
但是,浏览器目前不识别println()写入的换行符,如果希望浏览器显示换行,应当向浏览器写入<br>来实现换行。
2 out.close()方法的使用close()方法:用于关闭输出流,一旦输出流被关闭了,就不能再使用out对象进行任何操作。
一般来说,不要在JSP页面中,直接调用out对象的close()方法,将会抛出异常。
测试代码:TestOut01.jsp<%@page contentType="text/html; charset=gb2312"%><html><body><%out.println("长沙民政学院<br>");out.println("软件学院<br>");out.close(); //关闭输出流%></body></html>测试结果:访问该JSP页面,抛出IOException,见该JSP页面转换后的Java文件,可以看到在调用close()方法后,继续使用了out对象,所以会抛出异常。
3 对缓冲区的操作测试代码:TestOut02.jsp一般来说,服务器把发送给客户端的数据先放到一个缓冲区里,缓存起来,缓冲区的默认设置大小为8KB,默认为当缓冲区存满后,将自动发送,即autoFlush属性默认为true。
第三章: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主要内置对象,包括对象的作用、常用函数,并通过具体实例说明其用法,并介绍了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对象。