JSP 隐含对象
jsp测试题

jsp测试题1.{JSP/Servlet题目}假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。
(选择1项)DA)MyApp目录下B)MyApp\images目录下C)MyApp\WEB-INF目录下D)MyApp\WEB-INF\lib目录下2.{JSP/Servlet题目}哪一个对象可以用于获得浏览器发送的请求。
(选择1项)AA)HttpServletRequestB)HttpServletResponseC)HttpServletD)Http3.{JSP/Servlet题目}事务处理的结束方式。
(选择2项) BDA)中止B)提交C)完成D)回滚4.{JSP/Servlet题目}客户端状态管理的解决方案有。
(选择3项)CA)URL重写B)隐藏域C)CookieD)以上都不是5.{JSP/Servlet题目}与HttpSessionListener接口有关的方法是。
(选择2项)BDA)SessionInitialized()B)SessionCreated()C)SessionFinialized()D)SessionDestroyed()6.{JSP/Servlet题目}关于JSP生命周期的叙述,下列哪些为真?(选择2项)ACA)JSP会先解释成Servlet源文件,然后编译成Servlet类文件B)每当用户端运行JSP时,jspInit()方法都会运行一次C)每当用户端运行JSP时,_jspService()方法都会运行一次D)每当用户端运行JSP时,jspDestroy()方法都会运行一次7.{JSP/Servlet题目}下列哪个为JSP的隐含对象。
(选择1项)BA)envB)pageC)jspinfoD)context8.{JSP/Servlet题目}在J2EE中属于Web层的组件有。
(选择1项)AA)ServletB)EJBC)AppletD)HTML9.{JSP/Servlet题目}在Web应用的根目录ROOT中,可以存放的文件为。
第12讲_JSP隐含对象(out、request)

mitTest.jsp
Java企业应用 Java企业应用
Logo
小结 实现用户登录信息显示
Java企业应用 Java企业应用
Logo
总结
本节中我们已经学习如下主要内容: 本节中我们已经学习如下主要内容:
out对象 对象 request对象 对象
Java企业应用 Java企业应用
Logo
什么是JSP隐含对象 什么是 隐含对象
JSP隐含对象是 Web 容器创建的一组对象 JSP隐含对象是可以直接在JSP页面使用的对象 , 无需使用“new”获取实例 JSP隐含对象的名称是 JSP 的保留字
示例 常用隐含对象
没有出现new关键 关键 没有出现 字,但却可以使用 request对象 对象 <% request.setCharacterEncoding("GBK"); String titleName = request.getParameter("titlename"); %>
Java企业应用 Java企业应用
Logo
JSP隐含对象 隐含对象(out、request) 隐含对象 、
《Java企业技术》
Java企业应用 Java企业应用
Logo
JSP隐含对象 隐含对象(out、request) 隐含对象 、
本讲主要内容: 本讲主要内容: out对象 对象 request对象 request对象
out request
session application
response
Java企业应用 Java企业应用
Logo
out对象的主要方法 对象的主要方法
out对象是javax.servlet.jsp.JspWriter抽象 类的一个非抽象子类的实例,其常用的方 法有 void print():打印各种格式的数据。 void println():打印各种格式的数据,并换 行。 void newLine():输出一个换行符。 void flush() throws IOException:输出缓冲 区的内容。 void clear() throws IOException:清除缓冲 区的内容。如果缓冲区内容已经被刷新过, 会抛出IOException异常。
JSP面试题

一、JSP选择题(1)在J2EE的Web应用中,编译后的class文件存放的目录为(A)A. classes目录B. images目录C. jar目录D. 任意位置(2)在JSP中,哪个指令用来声明JSP欲使用的标签库?(B)A. tldB. taglibC. importD. include(3)Servlet处理请求的方式为(A)A. 以运行的方式B. 以线程的方式C. 以程序的方式D. 以调度的方式(4)在JavaWeb应用中,MVC设计模式中的V(视图)通常由(A)充当。
A. JSPB. ServletC. ActionD. JavaBean(5)网页服务默认的端口号是(D),我们可以通过HTTP地址加上端口号来访问网站。
A. 8100B. 8080C. 9000D. 80(6)JSP标准标签库(JSTL)的标签库描述符文件的后缀是(A)。
A. .tldB. .jarC. .propertiesD. .xml(7)Web服务是一种通过互联网来描述、发布、定位及调用的服务,下列关于Web服务的理解正确的是(D)。
A. Web服务只能在互联网发布,不能在局域网内发布B. Web服务的提供者和请求者必须使用相同的技术平台C. Web服务的提供者和请求者必须使用的语言开发应用程序D. Web服务的数据传输标准是XML说明:Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。
(8)在Java Web应用程序中,使用哪个数据源与JNDI获得数据库连接时,应把JDBC驱动程序jar文件放在(D)下。
A. 应用程序的src目录B. 应用程序的/WEB-INF/lib目录C. Tomcat的根目录D. Tomcat的common/lib目录(9)下面哪个说法是正确的? (B)A. 对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象B. 每个HttpSession对象都有惟一的ID。
chap4-JSP内置对象

request对象的常用方法举例
getProtocol(): 获取请求使用的通信协议,如 http/1.1等。
getServletPath(): 获取请求的JSP页面所在的路 径。
getContentLength(): 获取HTTP请求的长度。 getMethod(): 获取表单提交信息的方式,如POST
example4_8.jsp、example4_8_play_mp4.jsp
22
4.1.5处理超链接
超链接标记 <a href ="example4_9_receive.jsp>购买</a> 使用超链接标记时还可以增加参数: <a href
="example4_9_receive.jsp?id=A1001&price=876 5">购买</a> 获取参数: String idStr = request.getParameter("id");
algin= "top" checked="ok" />男生 (3)复选框checkbox <input type="checkbox" name= "item"
value="A" algin= "top" checked="ok" />足球 (4)口令框password <input type= "password" name= "me" size=
"12" maxlength="30" />
15
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>标签来传递多个参数。
第4章 JSP内置对象

P
例:input1.html
J
s
如何接收多个同名参数?
P
例:request02.html
J
s
P
原因:在整个操作过程中复选框的内容只能得到一个,因 为getParameter()方法,只能接收一个参数的内容,如 果想要接收多个参数,则必须使用: public String[] getParameterValues(String name) 此方法返回一个数组,表示接收同名的一组参数。
§4.1 request对象
J 在JSP中,内置对象request封装了用户请求页面时所提 交的信息,该对象调用相应的方法可以获取封装的信息.即
s
request对象可以获取用户提交的信息。
用户在请求JSP页面时,通常会使用HTML表单提交信息,表 单的一般格式是:
<FORM method=get|post action="提交信息的目的地页面"> 提交手段
J
getParameterNames()方法
此方法可以取得表单提交的所有参数名称
例:request04.html
s
P
思考:如何同时显示复选框的全部内容?
request05.jsp
4.1.5
处理HTML标记_<Select>、<Option>格式
J
下拉式列表和滚动列表通过<Select>和<Option>标记来定义。基本格式 为:
4.1.3
J
常用方法举例
可以用内置对象request对象来获取请求所提交的各类信 息,request对象的常用方法如下:
getProtocol():获取请求使用的通信协议,如http/1.1等。 getServletPath():获取请求的JSP页面所在的目录。 getContentLength():获取HTTP请求的长度。 getMethod():获取表单提交信息的方式,如POST或GET。
Java相关课程系列笔记之10JSP学习笔记(建议用WPS打开)

JSP学习笔记Java相关课程系列笔记之十笔记内容说明JSP(程祖红老师主讲,占笔记内容100%);目录一、JSP基础 (1)1.1什么是JSP (1)1.2为什么要使用JSP (1)1.3 JSP与Servlet的关系 (1)1.4如何写一个JSP文件 (1)1.5 JSP是如何运行的 (1)1.6隐含对象 (2)1.7指令 (2)1.8 JSP注释 (3)1.9案例:创建emplist.jsp页面,将表示逻辑交给JSP处理 (3)二、JSP标签和EL表达式 (4)2.1什么是JSP标签 (4)2.2 JSTL及其使用 (4)2.3什么是EL表达式 (4)2.4 EL表达式的使用 (4)三、JSTL中的几个核心标签 (7)3.1 if (7)3.2 choose (7)3.3 forEach (7)3.4 url (8)3.5 set (8)3.6 remove (8)3.7 catch (8)3.8 import (8)3.9 redirect (8)3.10 out (8)3.11 JSP标签是如何运行的 (8)3.12案例:将员工列表中的Java代码改为JSP标签,并添加分页 (9)四、自定义标签 (10)4.1如何写一个自定义标签 (10)4.2 JavaEE5.0中,如何使用EL表达式和JSTL (10)4.3案例:自定义标签 (10)4.4案例:修改之前员工列表中的日期显示 (11)五、MVC (13)5.1什么是MVC (13)5.2使用MVC的目的 (13)5.3如何使用MVC来开发一个Web应用程序(JavaEE) (13)5.4 MVC的优缺点 (13)5.5案例:简易贷款(贷款数小于余额数*10) (13)5.6修改5.5案例,使用户无法直接访问view.jsp页面 (15)1一、JSP基础1.1什么是JSPJSP(Java Server Page)是Java服务器端动态页面技术。
第5单元 JSP内置对象

Enumeration getAttributeNamesInScope(int scope )
取得所有scope范围的属性名称组成的列举表
void removeAttribute(String name[, int scope])
内置(又称隐含)对象是特定Java类的实例, 它们由JSP引擎在运 行时根据情况自动创建并管理,在JSP页面中可以直接使用。
能实现很多功能, 如: 从客户端获得数据、向客户端发回数据、控制 传输数据的有效域和异常处理等。
对象的名称是JSP的保留字, 使用内置对象可简化应用开发。
隐含对象功能:
不必使用表达式, 直接使用out对象向客户端输出信息。
getParameter() :读取请求参数 getParameterNames():获取指定范围内的请求参数名的集合; getParameterValues():读取指定参数的所有值; getHeader():读取指定字段名的请求头信息。
此外该接口还包含大量的方法, 概括起来分为四类。
请求对象reques
在错误页面中显示出错信息。
<% String st=exception.getMessage();%>
等等… …
9种隐含对象
2
JSP内置对象的由来
3
转译为Servlet
编写jsp页面可 使用隐含对象 注意: 它们在 _jspService() 方法中定义,故 只能在脚本和 表达式中使用
页面对象: page
page对象代表当前JSP页面, 即代表转译后的Servlet
4
JSP容器将JSP页面转译成Servlet后, 将指针this赋给了page对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型则要进行对象数据类型的转换。如整数1,则转换为 new Integer(1); •获得属性 – 当我们使用getAttribute(String name)取得name 属性的值时, 它返回一个ng.Object类型的对象,因此,还必须根据 name 属性值的类型进行类型转换 (Casting)工作。 – 例如,如果要取得String 类型的Name 属性时: String userName = (String)pageContext.getAttribute(“userName”); 或者String userName = pageContext.getAttribute(“userName”).toString();
• 3 、JSP中的隐含对象
• 4、错误处理
3 Sept. 2008 Confidential
JSP中隐含对象的概念
一. 什么是JSP的隐藏对象 二. JSP中有哪些隐藏对象
3 Sept. 2008 Confidential
JSP隐藏对象的由来
下面是一个普通的jsp页面文件helloworld.jsp
对当前JSP页面的引用,即 Java中的this
JSP页面的ServletConfig对象 响应信息 JSP的数据输出对象 异常处理
3 Sept. 2008 Confidential
主要内容
• 1 、JSP中隐含对象的定义 • 2 、属性(Attribute) 与范围
• 3 、JSP中的隐含对象
• 4、错误处理
Object getAttribute(String name)
void removeAttribute(String name)
取得name属性的值
删除名称为name的属性
3 Sept. 2008 Confidential
使用属性的一般注意事项1
•设置属性 – setAttribute(属性名,属性值)方法用来设置属性。 – 其中属性名为字符串类型。属性值为Object类型,如果是原子
3 Sept. 2008 Confidential
属性与范围
一.哪些JSP隐藏对象可以保存属性 二.属性的作用范围(Scope)
3 Sept. 2008 Confidential
可以使用属性的隐藏对象
我们通常会将request、session、application 和pageContext 归为一类, 原因在于:它们皆能借助属性来做到数据分享。 下表 列出了一般储存和取得属性的方法,这些方法pageContext、request、 session和application皆可使用。 方法 void setAttribute(String name, Object value) Enumeration getAttributeNamesInScope(int scope ) 说明 设定名称为name的属性, 属性的设置为value 取得所有scope范围的属 性名称组成的列举表
属性的范围(Scope)---page
概念 属性的范围为page,指的是属性只作用在当前的JSP 页面范围中。 操作方法 – 如果要将数据存入Page 范围,可用 pageContext 对象的setAttribute( )方法; – 若要取得page范围的数据,可用pageContext对 象的getAttribute( )方法。
javax.servlet.HttpSession
javax.servlet.ServletContext
表示会话对象
JSP页面所在Web应用的上下 文对象
page
config response out exception
ng.Object
javax.servlet.ServletConfig javax.servlet.HttpServletResponse javax.servlet.JspWriter ng.Throwable
–
如果是Integer 类型的Year 属性时: Integer Year = (Integer)session.getAttribute("Year");
3 Sept. 2008 Confidential
使用属性的一般注意事项2
•
在使用属性存储数据前,应该首先根据对属性的功能 要求,确定准备将属性存储在Request、Session 、 Application或PageContext的哪个之中,以便将相应 数据存入选定对象之中。 存入不同隐藏对象的属性在功能上有很大区别。
3 Sept. 2008 Confidential
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; ... _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=GBK"); 我们察看jsp页面转译后的_jspService方法 pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true); 时发现,在该方法内,jsp转译引擎生成 application = pageContext.getServletContext(); 了一些局部对象并对它们进行了初始化。 config = pageContext.getServletConfig(); 这就意味着,在jsp的脚本元素中,我们 session = pageContext.getSession(); 可以直接使用这些局部对象(还有request、 out = pageContext.getOut(); response两个参数对象)而不必声明它们。 ...
}
3 Sept. 2008 Confidential
JSP隐藏对象的概念
概念 jsp页面在运行之前的转译过程中,jsp引擎为其_jspService方法 定义了一些局部对象。由于jsp脚本都将转译成_jspService方法 的代码,因此这些局部对象在jsp脚本中是可直接使用的。这些 局部对象一个通常的叫法为隐藏对象。 通过分析_jspService方法的代码,可知常用的隐藏对象有: – pageContext PageContext 类型 – session HttpSession 类型 – application ServletContext 类型 – config ServletConfig 类型 – out JspWriter 类型 – page Object 类型 – request HttpServletRequest类型 – response HttpServletResponse 类型
这一点十分重要,这是因为这将决定属性的作用范围。换句话 说,属性的宿主对象决定了属性的作用域、生存期等重要特性。
范围 JSP的属性有四种宿主对象,也就有了四种作用范围 – page – request – session – application。
3 Sept. 2008 Confidential
<%@ page contentType="text/html;charset=GB2312" %> <html> <head> <title>CH5 - helloworld.jsp</title> </head> <body> <% out.println("Helloworld,JSP!"); %> </body> </html> 转译 我们知道,该文件被第一次浏览时,jsp引擎将对其进行转译。
Java Web技术
3 Sept. 20072008 By Neusoft Group. All rights reserved Copyright © Neusoft Confidential
JSP隐含对象
3 Sept. 2007 © Neusoft Confidential
主要内容
• 1 、JSP中隐含对象的定义 • 2 、属性(Attribute) 与范围
3 Sept. 2008 Confidential
属性的范围(Scope)---page
例子: ------------PageScope1.jsp ----------------<%@ page contentType="text/html;charset=GB2312" %> html> <head> <title>CH6 - PageScope1.jsp</title> 我们在PageScope1.jsp页面中加入两个 </head> page范围的属性:Name和Passwrd: <body> <h2>Page 范围 - pageContext</h2> <% pageContext.setAttribute("Name","scott"); pageContext.setAttribute("Password","tiger"); %> <jsp:forward page="PageScope2.jsp"/> </body> PageScopes.jsp将被调用。问题是,上 </html> 述两个属性在PageScope2.jsp中是否仍