当前位置:文档之家› jsp内置对象详解

jsp内置对象详解

JSP内置对象详解

JSP基于Java语言,面向对象也是它的一大特色.JSP中包含大量的内置对象和可扩展的组件对象.可以说,对象是JSP编程技术的精髓.在这一章中,我们将介绍JSP中的对象,重点讲述JSP的内置对象,说明它们的功能,并通过示例来介绍它们的使用方法.

掌握JSP的内置对象的用法,基本掌握JSP的开发技巧

要求

能灵活应用JSP的内置对象来开发程序

技能

介绍JSP的内置对象

理论

3.1 对象与内置对象

对象是典型的具有方法,属性和集合的事物

对象的属性反映了对象的状态,可以读取或设置.对象的集合是由很多不同的与对象有关系的属性和值的配对组成的.

对于一般的对象,要想使用它,必须先声明一个类,再将它实例化,就会得到一个可以使用的对象. 下面我们通过一个例子来讲解一般对象的使用方法.

文件useobject.jsp _____

JSP程序中8个默认的内置对象

对于它们而言,不用声明就可以直接使用.这8个对象分别是

request,response,pageContext,session,application,out,config和page.

page

实现处理本页当前请求的类的实例

java.1ang.Object

page

page

本JSP 的ServletConfig

javax.servlet.ServletConfig

config

page

向输出流写入内容的对象

Javax.servlet.jsp.JspWriter

out

application

从servlet 配置对象获得的servlet 上下文(如在getServletConfig() ,getContext()的调用中) Javax.servlet.ServletContext

application

session

为请求的客户创建的session对象

Javax.servlet.http.HttpSession

session

page

本JSP 的页面上下文

Javax.servlet.jsp.PageContext

pageContext

page

对请求的应答

依赖协议的java.servlet.ServletResponse子类(例如,javax.servlet.HttpServletResponse) response

request

触发服务调用的请求

依??协议的java.servlet.ServletRequest子类(例如,javax.servlet.HttpServletRequest) Request

范围

代表内容

类型

内置对象

3.2 request对象

request对象是ServletRequest的一个实例.当客户端请求一个JSP网页时,JSP引擎会将客户端的请求信息包装在这个request 对象中,请求信息的内容包括请求的标题头(Header),信息(如浏览器的版本信息,语言和编码方式等),请求的方式(如HTTP方法:GET, POST,PUT等),请求的参数名称,参数值和客户端的主机名称等,然后将request对象当作jspService方法的HttpServletRequest参数值,所以我们可以通过这个对象来取得有关客户端的请求信息.

3.2.1 request对象的方法

方法

返回接收请求的端口

getServerPort

返回接收请求的服务器的主机名

getServerName

返回发出请求的URL 的机制

getScheme

返回发送请求的接口程序的完全限定的主机名

getRemoteHost

返回发送请求的接口程序的IP 地址

getRemoteAddr

返回运用替换规则从虚拟地址中获得的实际地址

getRealPath

返回从请求体中读取的文本的缓存数据

getReader

返回请求的协议和版本号

getProtocol

返回作为字符串列举的指定参数的值

getParameterValues

返回本次请求的参数名字

getParameterName

返回包含指定参数的单独值的字符串

getParameter

返回在请求体中读取二进制数据的输入流

getlnputStream

返回请求实体数据的InternetMedia类型

getContenType

返回请求实体数据的大小

getContentLength

返回为请求的输入进行编码的字符集合

getCharacterEncoding

返回请求的给出名字的属性的值

getAttribute

描述

方法

request对象使用示例

1. request对象获取服务器及客户端的信息

文件request1.jsp

2. 用request对象来获取和处理表单传过来的参数值

(1) 建立HTML表单

(2) 使用GET和POST方法

(3) 用request对象处理

用户输入的数据用来存放在request对象里,用javax.servlet.HttpServletRequest来执行,你可以在JSP代码中直接访问request对象.并且处理表单传送过来的数据.

文件request3.htm request3.jsp

3. 用request对象来获取和处理表单传过来的中文参数值的处理

文件request2.htm request2.jsp

3.3 response对象

response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的response对象.它用于将浏览器参考信息,如回应的Header,回应本体(HTML的内容)以及服务器端的状态码等信息提供给客户端.

3.3.1 response对象的方法

重定向客户端的地址

sendRedirect

设定指定名字的HTTP文件头的值

setHeader

向客户端发送错误信息

sendError

判断指定的HTTP文件头是否存在

containsHeader

添加HTTP文件头(Header),将会传送到客户端

addHeader

添加一个Cookie对象,用来保存客户端的用户信息

addCookie

为应答设置内容类型

setContentType

为应答设置内容长度

setContentLength

返回用于格式化文本应答的打印程序

返回用于书写二进制应答数据的输出流

getCharacterEncoding

返回用于MIME编码的字符集合

getCharacterEncoding

3.3.2 response对象使用示例

下面的示例程序实现了定时刷新页面的功能

文件refresh.jsp

这个程序指定页面每隔5秒钟自动刷新一遍,服务器重新执行这个程序,产生新的当前时间,然后输出到客户端.所以,页面上显示的时间每隔5秒钟就增加5秒钟,实现了类似时钟的功能.

下面的示例程序实现了页面重定向功能

文件request2.htm

输入用户名为admin,进入管理界面;否则,则进入普通用户界面.

3.4 session对象

session对象是JSP中一个很重要的内部对象,我们使用它来保存某个特定客户端(访问者)一次访问的一些特定信息.

在JSP网络编程中,有多种方法可以保存客户信息,但是最常用,最实用的还是session对象.

3.4.1 session对象介绍

session对象,实际上就是服务器与客户端之间的"会话"

(1) session可以用来储存访问者的一些特定信息.主机服务器就是根据session来跟踪这些信息的.

(2) session可以创建访问者信息容器.

(3) session可以用来跟踪访问者的访问路径,从中挖掘有用的信息,如访问者的兴趣爱好,访问目的.

用户在Web应用程序中访问同一页面时,session变量始终存在,当用户在应用程序的页之间跳转时,存储在session对象中的变量也不会清除,当然也可以使用session方法显式地结束一个会话和设置空闲会话的超时期限.

session在JSP程序中是一个内置的对象

每一个客户端都有一个session对象用来存放于这个客户端相关的数据.

在JSP的程序中,通常不用任何代码,就可以直接使用session对象.不过为了确认,可以加入以下代码,以表示需要启动session功能.

如果设置上述的session值为false,则说明禁用session功能.

session对象的类为HttpSession,它提供了很多使用的方法.

3.4.2 session对象的方法

session对象的类是HttpSession.HttpSession由服务器的程序实现,提供HTTP服务器和HTTP 客户端之间的会话.会话,就是在给定时间段内持续进行多路连接和请求.会话被用来在多页面请求中保持状态和用户认证.

session对象的常用方法

移去和会话应用层数据中指定名字相连的对象

removeValue

将指定的对象和使用指定名字的会话应用层数据相连

putValue

检查是否客户端参加了会话

使会话无效,并将其从上下文中移出

invalidate

返回和会话相连的应用层数据对象的名字

getValueNames

返回和应用层数据中指定名字相联系的对象

getValue

返回会话相连的上下文

getSessionContext

返回客户端上一次发送携带会话账号的时间

getLastAccessTime

返回会话标识符

getId

返回会话创建的时间

getCreationTime

3.4.3 session对象使用示例

为说明session对象的具体应用,以用三个页面模拟一个多页面的Web应用为例

(1) 第一个页面(q1.html)仅包含一个要求输入用户名字的HTML表单 .

文件q1.htm

(2)第二个页面是一个JSP页面(q2.jsp),它通过request对象提取q1.html表单中的thename值,将它存储为name变量,然后将这个name值保存到session对象中.q2.jsp的另外一个任务是询问第二个问题.

(3) 第三个页面也是一个JSP页面(q3.jsp),主要任务是显示问答结果,另外一个任务是提取在第二个页面中的用户输入并显示它.

通常会话管理是通过服务器将SessionID作为一个cookie存储在用户的Web浏览器中来唯一标识每个用户会话

如果浏览器不支持cookie,或者将浏览器设置为不接受cookie,我们可通过URL重写来实现会话管理.

文件hello1.jsp

使用session对象在3个不同的JSP文件中保存信息

文件example0.htm(在accountBalance中必须输入数字)

3.5 application对象

application对象保存了一个应用系统中一些公用的数据.与session对象相比,application对象是所有客户共享的,而session对象则是每个客户专用的.application对象可以是

javax.servlet.ServletContext类型的. ServletContext接口让servlet访问关于其环境的信

息.application对象的范围是application.

3.5.1 application对象的方法

方法

设置某个application对象的某个属性值

setAttribute

获得当前版本的Servlet编译器的信息

getServerInfo

返回application某个属性的值

getInitParameter

以Enumeration数据形式返回所有application对象的属性名称

getAttributeNames

以Object对象的形式返回对应名称的application对象的属性值

getAttribute

含义

对象

3.5.2 application对象的使用示例

一个使用了application对象的计数器

文件appcount.jsp

应用application内建对象,将上面的session例子改为application的例子.

文件application1.htm

3.6 out对象

out对象用于输出数据,它可以是javax.servlet.jsp.JspWriter的一个实例.out对象的范围是page. 从java.io.Writer拓展而来的公共抽象类JspWriter效仿了java.io.BufferedWriter和

java.Io.PrintWriter中的某些功能.但是,不同之处在于它会在打印方法中抛出(throw)

java.Io.IOException异常,而PrintWriter不这样做.

JSP中的out对象就是这种类型的.如果page指令选择了autoflush="true",那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时,这个类的所有I/O操作会自动清空缓冲区的内容.如果autoflush="false",那么当操作造成了缓冲区溢出时,这个类的所有的I/O 操作将抛出一个IOException.

3.6.1 out对象的变量

autoFlush

类型为protected booleanautoflush

如果变量值为真,则当当前的操作造成缓冲区溢出时,缓冲区会被清空.

如果变量值为假,则如果当前操作造成缓冲区溢出就会抛出一个IOException.

bufferSize

类型为protectedintbufferSize

表示缓冲区目前的大小.初始值根据不同的设备而不同,但是不少于8KB.

DEFAULT_BUFFER

类型为publicstaticfinalintDEFAULT_BUFFER

表示Writer正使用的缺省的缓冲区大小设置.

No_BUFFER

类型为Public static final int NO_BUFFER

表示Writer是否处于缓存输出状态.

3.6.2 Out对象的方法

方法

打印一个对象

Object

print

打印一个长整数

long

print

打印一个整数

int

print

打印一个浮点数

float

print

打印一个双精度浮点数double

print

打印一个字符数组

char[]

print

打印一个字符

char

print

打印一个布尔值

boolean

print

写一行分隔符

_

newLine

获得autoFlush的当前值

_

isAutoFlush

获得缓冲区中未使用的字节数_

getRemaining

获得缓冲区的大小

_

getBufferSize

清除缓冲区的流

_

clearBuffer

Clear 清除缓冲区内容

_

Clear

输出流

_

flush

关闭流,并输出

_

Close

描述

参数

方法

打印一个字符串,然后结束行

String

println

打印一个对象,然后结束行

Object

println

打印一个长整数,然后结束行

long

println

打印一个整数,然后结束行

int

println

打印一个浮点数,然后结束行

float

println

打印一个双精度浮点数,然后结束行

double

println

打印一个字符数组,然后结束行

char[]

println

打印一个字符,然后结束行

char

prinfln

打印一个布尔值,然后结束行

boolean

println

通过写一个行分隔符来结束当前行

_

println

打印一个字符串

String

print

3.6.3 Out对象的使用示例

用out对象输出多种不同类型的数据,包括输出中文

文件out.jsp

3.7 其他对象

pageContext对象

pageContext对象是javax.servlet.jsp.PageContext类的一个实例.pageContext对象提供了存取所有关于JSP程序执行时所需要用到的属性和方法,如session,application,config,out等对象属性.对于pageContext对象,它的范围是page.

page对象

page对象是https://www.doczj.com/doc/7e463505.html,ng.Object类型的,它是处理当前请求的JSP页的实现类的实例.page对象在页的正文中可以被看作"this"的同义词.page对象的范围是page.

config对象

config对象是javax.servlet.ServletConfig类型的.它提供存取servlet class初始参数及有关Server环境信息的ServletContext对象.config对象的范围是page.

3.8.1 编写易货网站中计数器

文本计数器

文件mycounter.jsp

以前我们编写的计数器每刷新一次就计数1次,这和计数器的原则不符,因为不断的刷新页面并不表示客户多次访问了该页.这里我们利用Cookie对前面的计数器进行改进,使得可以防止刷新. 关掉浏览器,重新打开一遍,再执行该文件,则发现计数器的值也改变了,count.txt的值也相应改变了.

【注】在执行本文件前,请先在您计算机的d盘下,建立count.txt文件,初始值为0.

3.8.2 易货网站的登录

在本小节中,做一个用户注册的界面程序register.htm,要求对用户填写的部分进行合法性检验,然后提交到register.jsp进行注册检验,若用户名为user开头的,就提示"该用户名已被注册",若用户名为admin,就提示"欢迎您,管理员",否则,用户名大于4位字符时候,就显示" 注册成功".

文件register.htmregister.jsp

JSP隐式对象

Jsp的隐式对象和EL的隐式对象学习 2009-09-02 21:48 JSP共有九大内置对象: (1) HttpSession类的session对象 作用:主要用于来分别保存每个用户信息,与请求关联的会话; 会话状态维持是Web应用开发者必须面对的问题。 (2) HttpServletRequest类的request对象 作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。 (3) HttpServletResponse类的respone对象 作用:代表响应对象,主要用于向客户端发送数据 (4) JspWriter类的out对象 作用:主要用于向客户端输出数据; Out的基类是javax.servlet.jsp.JspWriter (5) ServletContext类的application对象 作用:主要用于保存用户信息,代码片段的运行环境; 它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享. (6) PageContext类的pageContext对象 作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。 (7) ServletConfig类的config对象 作用:代码片段配置对象,表示Servlet的配置。 (8) Object类的page(相当于this)对象 作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。 (9)Exception 作用:处理JSP文件执行时发生的错误和异常 EL共有11大内置对象: JSP开发人员可以在EL表达式中使用EL隐式对象,而无须任何显式的编码活声明。隐式对象就是设计用

“jsp内置对象”单元习题

“JSP内置对象”单元习题 一、填空题 1.JSP 中有9 种内置对象,它们分别是:___________、___________、response 对象、pageContext 对象、session对、applicationt 对象、page 对象、config 对象和exception 对象。 2.Request对象可以使用___________方法获取表单提交的信息。 3.客户端向服务器端提交数据的方式通常有两种:一种是___________提交方式;另一种是 ___________提交方式。 4.在JSP 内置对象中,与请求相关的对象是______________________。 5.___________被封装成javax.servlet.JspWriter 接口,它用来向客户端输出内容。 6.Out 对象中用来输出各种类型数据并换行的方法是______________________。7.Out 对象中用来输出各种类型数据但不换行的方法是 ______________________。 8.Out 对象中用来输出一个换行符的方法是______________________。9.Out 对象中用来关闭输出流的方法是______________________。 10.Out 对象中用来输出缓冲区里的数据的方法是______________________。11.Out 对象中用来清除缓冲区里的数据,并把数据写到客户端的方法是 ________________。 12.Out 对象中用来清除缓冲区里的数据,但不写到客户端的方法是 ___________________。 13.Out 对象中用来获得缓冲区大小的方法是______________________。14.Out 对象中用来获得缓冲区剩余空间大小的方法是 ______________________。 15.Out 对象中用来判断缓冲区是否自动刷新的方法是 ______________________。 16.Request 对象中用来获得服务器名字的方法是______________________。17.Request 对象中用来获得服务器的端口号的方法是 ______________________。 18.Request 对象中用来获得客户端的IP 地址的方法是 ______________________。 19.Request 对象中用来获得客户端的计算机名字的方法是 ______________________方法。 20.Request 对象中用来获得客户端向服务器端传送数据的协议名称的方法是 __________________。 21.___________是同应答相关的HttpServletResponse类的一个对象,它封装了服务器对客户端的响应,然后被送到客户端以响应客户请求。 22.Response对象中用来动态改变contentType属性的方法是 ______________________。 23 .Response 对象中用来把响应发送到另一个指定的位置进行处理的方法 是______________________。

张建伟-《WEB系统与技术》课程教学大纲

《WEB系统与技术》课程教学大纲 课程代码:90613602 课程类型:专业必修课适合专业:计算机科学与技术 总学时数:48 学分:3 一、课程教学目的与任务 《WEB系统与技术》是计算机科学与技术专业的专业必修课。通过本课程的学习,培养学生团队合作开发Web应用程序的能力,能够运用JAVA EE的知识和技巧编写Web应用程序,例如信息发布系统、论坛、留言板、聊天室、博客等系统;培养学生的自学能力及提出问题、分析问题和解决问题的能力并最终把其转化为相应的系统功能来进行实现。 二、理论教学的基本要求 通过系统的理论教学将培养学生达到以下要求:掌握WEB的相关开发技术,能熟练的使用JAVA EE技术结合HTML和JAVASCRIPT技术综合开发系统,熟练掌握JAVA EE的核心JSP/SERVLET技术,学习相关的衍生的技术和使用组件,为以后学习SSH打下基础,并锻炼学生的编程思维以及对项目业务逻辑的综合分析和处理能力。 实践教学的目的是通过设置验证性和设计性的实验培养学生团队合作开发Web应用程序的能力,使学生能运用JAVA EE技术编写Web应用程序;实验教学采用演练结合的实验方式;实验考核由三部分组成:实验操作、实验报告、实验纪律。 四、教学学时分配

五、教学内容 第一章 Web应用开发概述 教学目的和要求:初步认识 WEB项目,了解网络程序开发体系结构,掌握B/S和C/S 两种开发模式的优缺点以及常规的应用场合,学习WEB项目的工作原理和发展历史,认识目前主流的WEB开发技术。 教学重点:B/S和C/S模式的比较;WEB项目的初步认识以及工作原理和发展;主流的WEB开发技术。 教学难点:WEB项目的工作原理;B/S和C/S。 教学内容:网络程序开发体系结构:C/S结构介绍,B/S结构介绍;Web的工作原理;Web的发展历程;Web开发技术。 第二章 HTML与CSS网页开发基础 教学目的和要求:通过本章的学习,培养学生对HTML和CSS的使用的能力,要求学生了解网页的制作过程,能根据实际要求制作相应的网页,培养学生对dreamweaver等开发工具的使用,使得学生能够解决简单实际问题,为后续的WEB开发打下基础。 教学重点:HTML的开发和标记;CSS的规则和选择器;CSS在HTML中的应用;CSS3的新特性。 教学难点:HTML开发;CSS的规则和选择器以及使用。 教学内容:HTML文档结构、常用标记、表格标记、HTML表单标记、超链接与图片标记;CSS规则、CSS选择器、在页面中包含CSS、CSS 3的新特征、模块与模块化结构。

“jsp内置对象”单元习题教学提纲

“j s p内置对象”单 元习题

“JSP内置对象”单元习题 一、填空题 1.JSP 中有9 种内置对象,它们分别是:___________、___________、response 对象、 pageContext 对象、 session对、 applicationt 对象、page 对象、 config 对象和 exception 对象。 2.Request对象可以使用___________方法获取表单提交的信息。 3.客户端向服务器端提交数据的方式通常有两种:一种是___________提交方式;另一种是 ___________提交方式。 4.在JSP 内置对象中,与请求相关的对象是______________________。5.___________被封装成 javax.servlet.JspWriter 接口,它用来向客户端输出内容。 6.Out 对象中用来输出各种类型数据并换行的方法是 ______________________。 7.Out 对象中用来输出各种类型数据但不换行的方法是 ______________________。 8.Out 对象中用来输出一个换行符的方法是______________________。9.Out 对象中用来关闭输出流的方法是______________________。 10.Out 对象中用来输出缓冲区里的数据的方法是______________________。11.Out 对象中用来清除缓冲区里的数据,并把数据写到客户端的方法是 ________________。

12.Out 对象中用来清除缓冲区里的数据,但不写到客户端的方法是 ___________________。 13.Out 对象中用来获得缓冲区大小的方法是______________________。14.Out 对象中用来获得缓冲区剩余空间大小的方法是 ______________________。 15.Out 对象中用来判断缓冲区是否自动刷新的方法是 ______________________。 16.Request 对象中用来获得服务器名字的方法是______________________。17.Request 对象中用来获得服务器的端口号的方法是 ______________________。 18.Request 对象中用来获得客户端的 IP 地址的方法是 ______________________。 19.Request 对象中用来获得客户端的计算机名字的方法是 ______________________方法。 20.Request 对象中用来获得客户端向服务器端传送数据的协议名称的方法是__________________。 21.___________是同应答相关的 HttpServletResponse类的一个对象,它封装了服务器对客户端的响应,然后被送到客户端以响应客户请求。22.Response对象中用来动态改变 contentType属性的方法是 ______________________。 23 . Response 对象中用来把响应发送到另一个指定的位置进行处理的方法 是______________________。

实验六 JSP内置对象二含答案

实验六JSP内置对象(二) 实验性质:设计性实验学时:1学时实验地点: 一、实验目的与要求 1、理解常用JSP内置对象的含义。 2、掌握session和application对象的使用方法。 二、实验内容 1、session对象的使用 (1)设计一个简单的在线问卷调查程序,共有3个页面,分别是one.jsp、two.jsp、three.jsp。 其中,shiyan6_1_one.jsp页面效果如下图所示: 例如:输入“九寨沟”,单击下一题按钮,即可进入shiyan6_1_two.jsp页面,two.jsp页面效果如下图所示: 例如:输入“三国演义”,单击提交按钮后,进入shiyan6_1_three.jsp页面,three.jsp页面效果如下图所示: 请写出相应代码: shiyan6_1_one.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here

你喜欢的一本书是:
shiyan6_1_two.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

web总结

Tomocat服务器的默认端口:8080 默认端口需要被修改时,应该修改哪一个文件?Web-xml Mvc的三层开发结构?含义是什么?(模型,视图,控制) Jsp九大内置对象有哪些?分别代表哪些含义? 如果要实现不同网页之间的数据共享,且跨机共享? 表单提交的两种方法?Get 和post Jsp注释放在<%-- 注释内容--%>中 在网页中插入一张图片/像,html中的代码是? Jsp代码是? Cookie的使用包含:删除和添加(p172页),如何使用? 一个网页中只包含一个表单吗?(X) Html标记的属性区分大小写吗?不 Html的换行标记是:

Tab表格的换行标记: 图形文件和网页文件是分开存储的吗?(对)网页中不能放图片 Jsp运行的必要条件是() 1.JDK 2.jsp的web服务器 3. OS 4.数据库(错误) 当多个用户同时请求一个JSP服务器,tomocat将为用户提供一个(线程)Internet上应用最为广泛的服务是WWW服务(对) Session数据有哪几种情况会被清空?分别为? JSP要使用驱动Jar,必须放在WEB-INF/lib目录下 Html中网页标题放在 JDBC连接数据库的基本步骤?(p205页) 表单域一定要放在表单中才有效吗?(对) Http:超文本传输协议 FTP:文件传输协议 Severlet中正确获取Session对象语句是怎么写的? (HttpSession session=request.getSession();) 在Session对象中,设置超时时间的方法是什么?(setmaxlnactiveInterval()) 在JSP中设置重定向 编写一个完整的severlet文件中,需要在哪个文件中配置路径? Java异常处理代码,放在(try-catch中) Tomcat/web文件发布时,需要打包为War文件, 拷贝哪个文件也可以? Request的功能? Get 和post 参数? 判断:get 请求处理数据量大小设限制吗?(要) 补考:四种会话跟踪技术?

实验三 JSP内置对象

实验三JSP内置对象 一.实验目的 (1)了解JSP中9个内置对象request、reponse、out、session、application、config、 pagecontext、page、exception的基本概念。 (2)理解JSP内置对象的常用方法的功能。 (3)掌握JSP内置对象的应用。 二. 主要仪器设备及环境 (1)PC机 (2)操作系统:WINDOWSXP (3)软件:记事本, JDK、TOMCAT,IE 三. 实验内容与步骤 1.用JSP的内置对象request在前后台页面间传递表单数据; 用内置对象前后台页面间的参数传递 (1)客户端主界面experiment3_1.jsp,表单封装了三个参数: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page contentType="text/html;charset=GBK"%> 这是第一个JSP 大家好!恭喜你的第一个JSP

第一个数:
第二个数:
第三个数:
(2)第一个后台响应experiment3_2.jsp,用request对象提取前台传过来的参数,验证输入的数据a、b、c分别是西文、数字、中文: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%!String s1,s2,s3;%> <% s1=request.getParameter("a"); s2=request.getParameter("b");

Java基础面试题及答案(在后面)

JAVA基础部分-选择题 (单选)1.在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:()。 A.10 B.7 C.13 D.14 2. (单选)下列表达式中,可以得到精确结果的是()。 A.double d1 = 3.0 - 2.6; B.double d4 = 2.5 * 1.5; C.double d2 = 30/300; D.double d3 = 1/2 + 0.5; 3.(多选)所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 = 下列选项中,空白处可以填入的代码是:()。 A.int s = 0, n1 = n; while (n1 > 0) { int t = n1 % 10; s += t * t * t; n1 /= 10; } B.int s = 0, n1 = n; while (n1 > 0) { int t = n1 / 10; s+= t * t * t; n1 %= 10; } C.int s = 0; for(int n1 = n; n1>0; n1 /= 10) { int t = n1%10; s += t * t * t; } D.int s = 0; for(int n1 = n; n1>0; n1 %= 10) { int t = n1 / 10; s += t * t * t; } 4.下列语句序列执行后,k 的值是 ( )

A.60 B.5 C.0 D.54 5.设 a = 8,则表达式 a >>> 2 的值是:(无符号右移动)( ) A.1 B.2 C.3 D.4 6.下列程序 在程序中插入下列哪一行代码可以编译通过: A static void doSomething(int[] args){} B static void doSomething(int... args){} C static coid doSomething(int...args,int x){}

JSP题库

一、选择 1、下面哪一个不是JSP本身已加载的基本类?(B) A、https://www.doczj.com/doc/7e463505.html,ng.* B、java.io.* C、javax.servlet.* D、javax.servlet.jsp.* 2、以下关于JavaBeans的说法中,错误的是(B)。 A、JavaBeans是基于JA V A语言的。 B、JavaBeans是JSP的内置对象之一。 C、JavaBeans是一种Java类。 D、JavaBeans是一个可重复使用的软件组件。 3、下面的说法错误的是:(D) A Jsp可以处理动态内容和静态内容 B 在Jsp最终会编译成字节码后执行 C 在jsp中可以使用脚本控制Html的标签生成 D Jsp中不能使用//注释Java脚本中的代码 4、下述选项中不属于JDBC基本功能的是:(D) A. 与数据库建立连接 B. 提交SQL语句 C. 处理查询结果 D. 数据库维护管理 5、JSP 页面经过编译之后,将创建一个(B) A.applet B.severlet C.application D.exe文件 6、在jsp中,要定义一个方法,需要用到以下(C)元素。 A.<%= %> B. <% %> C. <%! %> D. <%@ %> 7、JSP在WEB服务器上运行结果:(A) A.可以在WEB浏览器看到, B.只能在WEB浏览器看到。 C.可能在WEB浏览器看到, D.不可能在WEB浏览器看到。 8、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D) A. <%@ page %>作用于整个JSP页面。 B. 可以在一个页面中使用多个<%@ page %>指令。 C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。 D. <%@ page %>指令中的属性只能出现一次。 9、(D)的范围是从Web应用服务器一开始执行服务一直到Web应用服务器结束服务为止。 A.页内有效 B.请求有效 C.会话有效 D.应用有效 10、选择、在JSP中使用标记时,不会出现的属性是:(c) https://www.doczj.com/doc/7e463505.html, B.property C.value D.以上皆不会出现 11、对于预定义<%!预定义%>的说法错误的是:(c) A、一次可声明多个变量和方法,只要以“;”结尾就行 B、一个声明仅在一个页面中有效 C、声明的变量将作为局部变量 D、在预定义中声明的变量将在JSP页面初始化时初始化 12、从“员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:(D)

四大域对象-JSP九大内置对象-11个EL隐式对象

四大域对象详解 JSP中隐式对象的名称范围名称具体的类型 pageContext page javax.servlet.jsp.PageContext request request javax.servlet.ServletRequest (显示完数据就没有用了)session session javax.servlet.http.HttpSession (显示完数据了,过一会自己还要用) application application javax.servlet.ServletContext (显示完数据了,大家都要用。不建议使用,如果使用,必须同步处理) JSP九大内置对象 JSP的内置对象引用名称对应的类型 request HttpServletRequest response HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application ServletContext config ServletConfig page this(当前Servlet对象) exception https://www.doczj.com/doc/7e463505.html,ng.Throwable(有开关的:page指令的isErrorPage属性改为true) out JspWriter pageContext javax.servlet.jsp.PageContext非常重要 pageContext有三大作用: 1、本身是一个域对象。同时还能操作其他三个域对象(PageContext ServletRequest HttpSession ServletContext) 本身表示的域范围是本页面。 void setAttribute(String name,Object value)

JavaWeb测试题

JavaWeb测试题 1、page指令的import属性的作用是(C) A、定义JSP页面响应的MIME类型 B、定义JSP页面使用的脚本语言 C、为JSP页面引入JAVA包中的类 D、定义JSP页面字符的编码 2、以下对象中的(D)不是JSP的内置对象。 A、request B、session C、application D、bean 3、在JSP中,内置对象(B)封装了用户提交的信息,使用该对象可以获取用户提交的信息。 A、session B、request C、response D、out 4、从(A)开始,到()结束,被称为一个会话。 A、访问者连接到服务器,访问者关闭浏览器离开该服务器 B、服务器启动,服务器关闭 C、访问者连接到服务器,服务器关闭 D、服务器启动,访问者关闭浏览器离开该服务器 5) 在下面哪个web应用目录中可以放置所需要的类库(A) A. /WEB-INF/lib放置jar文件 B. /META-INF/lib放置jar文件 C. /WEB-INF/classes 放置已经编译的类文件 D. /META-INF/classes 放置已经编译的类文件 6) 在J2EE中,test .jsp文件中有如下一行代码:要使User对象一直存在于会话中,直至其终止或被删除为止,下划线中应填入( D )。 a) page b) request c) session d) application 7) 在JSP中,要定义一个方法,需要用到以下( C )元素。 a) <%= %>b) <% %> c) <%! %>d) <%@ %>:jsp指令 8假定login.getName() 返回类型为https://www.doczj.com/doc/7e463505.html,ng.String,给定JSP代码: Welcome <%= login.getName() %>以下那个选项与此语句的功能相同? A A. Welocome<% out.print(login.getName());%> B. Welocome<% Writer.print(login.getName());%> C. Welocome<% response.out.print(login.getName());%> D. Welocome<% response.getwriter.write.(login.getName());%> Servlet 9在JSP页面中,正确引入JavaBean的是(C) A. <%jsp: useBean id =”myBean”scope =”page”class=”pkg.MyBean”%>

JSP9大内置对象

为简化页面的开发提供了一些内部的对象,在所有的JSP页面中都能使用这些内部对象。编写JSP的人员不需要对这些内部对象进行例化,只要调用其中的方法就能实现特定的功能。JSP主要有如下内置对象: 1.request对象 2.response对象 3.pageContext对象 4.session对象 5.application对象 6.out对象 7.config对象 8.page对象 9.exception对象 下面分别介绍这些对象的使用。 2.2.1:request对象 request对象代表请求的对象,它被包装成HttpServletRequest 接口。通过getParameter方法可以得到request的参数,通过GET、POST、HEAD等方法可以得到request的类型,通过Cookies、Referer等方法可以得到请求的Http头。 Request的主要方法有:

isUserInRole(String role):判断认证后的用户是否属于逻辑role 中的成员。 2.getAttribute(String name):返回由name指定的属性值,如果属性值不存在,则返回一个空值,即null。 3.getAttributeNames():返回request对象的所有属性的名字的集合,其结果是一个枚举的实例。 4.getCookies():返回客户端的所有Cookies对象,结果是一个Cookies数组。 5.getCharacterEncoding():返回请求中的字符编码方式。 6.getcontentLength():返回请求的Body的长度,如果不确定长度则返回-1。 7.getHeader(String name):获得Http定义的文件头信息。 8.getHeaders(String name):返回指定名字的request Header的所有值,其结果是一个枚举的实例。 9.getInputStream():返回请求的输入流,用于获得请求中的数据。 10.getMethod():获得客户端向服务器端传送数据的方法。 11.getParameter(String name):获得客户端传送给服务器端的参数值,该参数是由name指定的,通常是表单的控件的参数名。 12.getParameterNames(String name):获得客户端传送给服务器端的所有参数的名字,其结果是一个枚举的实例。 13.getParameterValues(String name):获得指定参数的所有值,参数由name指定。

JSP内置对象(9个常用的内置对象)

JSP内置对象(9个常用的内置对象) 1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 序号方法说明 1 object getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用属性名的枚举 3 String getCharacterEncoding() 返回字符编码方式 4 int getContentLength() 返回请求体的长度(以字节数) 5 String getContentType() 得到请求体的MIME类型 6 ServletInputStream getInputStream() 得到请求体中一行的二进制流 7 String getParameter(String name) 返回name指定参数的参数值 8 Enumeration getParameterNames() 返回可用参数名的枚举 9 String[] getParameterValues(String name) 返回包含参数name的所有值的数组 10 String getProtocol() 返回请求用的协议类型及版本号 11 String getScheme() 返回请求用的计划名,如:http.https及ftp等 12 String getServerName() 返回接受请求的服务器主机名 13 int getServerPort() 返回服务器接受此请求所用的端口号 14 BufferedReader getReader() 返回解码过了的请求体

jsp内置对象实验练习

实验四JSP内置对象阶段实验 1.1 实验目的 1、熟悉与掌握 JSP 九大内置对象的使用 2、掌握重定向与服务器转发的使用 3、熟悉 MyEclipse 工程项目结构的设置 1.2 实验要求 1、本实验要求学生通过独立读程序,完成程序的填空 2、建立一个实现简单登陆功能的项目,按实验步骤完成代码。 1.3 实验内容 1.3.1 实现简单登陆功能 1、功能描述: (1)由于目前尚未学习数据库的使用,因此需要指定登陆的用户名和密码(自己设定,如:用户名:晚香玉,密码:123456,请结合自己的名字缩 写) (2)实现登陆表单login.jsp 图1 登陆界面 login.jsp (3 )编写dologin.jsp ,实现功能:登陆成功使用服务器内部转发到login_success.jsp 页面,并在该页面显示登陆成功的用户名。如果登陆失败则重定向到login_failure.jsp页面。

图2登陆成功界面 图3登陆失败界面 2、建立工程项目 (1)建立Web project项目,在WebRoot根目录下添加三个文件夹:assets(存放图像资源文件)、css(存放css样式文件)、js(存放js脚本文件)。 (2)将本实验报告文件夹中的assets、css文件中的内容复制到自己项目中对应的文件夹中。包括图像资源文件和写好的样式文件。 (3)按实验步骤 1.3.2完成实验 1.3.2 实验代码 1、login.jsp代码

2、dologin.jsp 代码 3、login_success.jsp代码

4、login_failure.jsp代码 5、运行

JSP常用内置对象

JSP常用内置对象使用说明 内置对象特点: 1.由JSP规范提供,不用编写者实例化。 2.通过Web容器实现和管理 3.所有JSP页面均可使用 4.只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>) 常用内置对象: 1.输出输入对象:request对象、response对象、out对象 2.通信控制对象:pageContext对象、session对象、application对象3.Servlet对象:page对象、config对象 4.错误处理对象:exception对象

对象常用方法说明:1 2

3 4 5

6 7 8 它代表JSP被编译成Servlet,可以使用它来调用Servlet类中所定义的方法 9.exception对象(运行时的异常,https://www.doczj.com/doc/7e463505.html,ng.Throwable) 被调用的错误页面的结果,只有在错误页面中才可使用, 即在页面指令中设置:<%@page isErrorPage=“true”%> Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。 Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等) Out(Javax.servlet.jsp.JspWriter)用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。 pageContext(Javax.servlet.jsp.PageContext)描述了当前JSP页面的运行环境。可以返回JS P页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当前页面传输至其他页面的方法。 Session(javax.servlet.http.HttpSession)会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。 Application(javax.servle.ServletContext)存储了运行JSP页面的servlet以及在同一应用程序中的任何Web组件的上下文信息。 Page(https://www.doczj.com/doc/7e463505.html,ng.Object)表示当前JSP页面的servlet实例 Config(javax.servlet.ServletConfig)该对象用于存取servlet实例的初始化参数。 Exception(https://www.doczj.com/doc/7e463505.html,ng.Throwable)在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@page isErrorPage=“true”%>

实验3: JSP内置对象及简单JSP程序设计(一)

实验3:JSP内置对象及简单JSP程序设计(一) 姚远 2013-9-25 实验目的: 1、掌握JSP编写注释 2、掌握内置对象的用法 3、掌握JSP基本概念。 4、熟悉JSP页面指令使用。 5、熟悉初步的JSP代码片段应用编程 6、掌握WEB项目中集合类如何应用于页面。 实验内容: 1JSP注释 观察下列代码,学习注释的用法。 <%-- <%=new Date().toString() %> --%> 2forward行为标签与request/pageContext内置对象 (1)新建TestSendData.jsp页面,并输入以下代码: <% request.setAttribute("loginName", "Joan"); pageContext.setAttribute("LoginPassword","My love ", pageContext.PAGE_SCOPE); %> (2)新建Accepted.jsp,并输入以下代码:

Accepted.jsp

<%=request.getAttribute("loginName") %>

<%=pageContext.getAttribute("LoginPassword",pageContext.PAGE_SCOPE) %> 注意getAttribute的第三个参数可以取值为: PageContext.PAGE_SCOPE:对应于page范围。 PageContext.REQUEST_SCOPE:对应于request范围。 PageContext.SESSION_SCOPE:对应于session范围。 PageContext.APPLICATION_SCOPE:对应于application范围。 (3)访问ForwardDemo.jsp观察结果,你能得出什么结论? 3application对象 新建TestApplication.jsp页面,输入以下代码,观察运行结果。 <% Integer i = 0; i = (Integer) application.getAttribute("count"); if (null == i){ application.setAttribute("count", 1); out.println("

你是第1位访问者

"); }else{ ++i; application.setAttribute("count",i); out.println("

你是第"+i+"位访问者

"); } %> 反复刷新页面,观察运行结果。 思考:关闭浏览器能够将计数清零吗?如果不能,如何清零?结果说明了application 对象的作用范围是什么? 4编程题 通过ArrayList存储5个教师信息,设计第一个页面用于显示这5个教师姓名,并且提供超级链接:可进一步查看详情,设计第二个页面用于显示详情。如下所示:

实验三-JSP内置对象

实验三 JSP置对象 一.实验目的 (1)了解JSP中9个置对象request、reponse、 out、 session、 application、 config、 pagecontext、 page、 exception的基本概念。 (2)理解JSP置对象的常用方法的功能。 (3)掌握JSP置对象的应用。 二. 主要仪器设备及环境 (1)PC机 (2)操作系统:WINDOWSXP (3)软件:记事本, JDK、TOMCAT,IE 三. 实验容与步骤 1.用JSP的置对象request在前后台页面间传递表单数据; 用置对象前后台页面间的参数传递 (1)客户端主界面experiment3_1.jsp,表单封装了三个参数: <% page language="java" import="java.util.*" pageEncoding="GBK"%> <% page contentType="text/html;charset=GBK"%> 这是第一个JSP 大家好!恭喜你的第一个JSP

第一个数:
第二个数:
第三个数:
(2)第一个后台响应experiment3_2.jsp,用request对象提取前台传过来的参数,验证输入的数据a、b、c分别是西文、数字、中文: <% page language="java" import="java.util.*" pageEncoding="GBK"%> <%!String s1,s2,s3;%> <% s1=request.getParameter("a"); s2=request.getParameter("b");

jsp9大内置对象和作用

JSP的九个内置对象及其作用 1.request 封装用户请求 2.response 向用户做出响应 3.page JSP页面本身 4.session 客户和服务器间的会话 5.config 包括servlet初始化要用的参数 6.application 于服务器启动时开始运行,用来存放全局变量,在用户间共享 7.out向客户端输出 8.pageContext 用于访问page的各种对象 9.exception 异常 1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 序号方法说明 1 object getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用属性名的枚举 3 String getCharacterEncoding() 返回字符编码方式 4 int getContentLength() 返回请求体的长度(以字节数) 5 String getContentType() 得到请求体的MIME类型 6 ServletInputStream getInputStream() 得到请求体中一行的二进制流

7 String getParameter(String name) 返回name指定参数的参数值 8 Enumeration getParameterNames() 返回可用参数名的枚举 9 String[] getParameterValues(String name) 返回包含参数name的所有值的数组 10 String getProtocol() 返回请求用的协议类型及版本号 11 String getScheme() 返回请求用的计划名,如:http.https及ftp等 12 String getServerName() 返回接受请求的服务器主机名 13 int getServerPort() 返回服务器接受此请求所用的端口号 14 BufferedReader getReader() 返回解码过了的请求体 15 String getRemoteAddr() 返回发送此请求的客户端IP地址 16 String getRemoteHost() 返回发送此请求的客户端主机名 17 void setAttribute(String key,Object obj) 设置属性的属性值 18 String getRealPath(String path) 返回一虚拟路径的真实路径 2.response对象 response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。 序号方法说明 1 String getCharacterEncoding() 返回响应用的是何种字符编码 2 ServletOutputStream getOutputStream() 返回响应的一个二进制输出流 3 PrintWriter getWriter() 返回可以向客户端输出字符的一个对象 4 void setContentLength(int len) 设置响应头长度 5 void setContentType(String type) 设置响应的MIME类型

相关主题
文本预览
相关文档 最新文档