ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:148.34KB ,
资源ID:4956301      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4956301.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JSP内置对象上.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JSP内置对象上.docx

1、JSP内置对象上1、课程名称:JSP内置对象2、知识点2.1、上次课程的主要知识点1、 page指令的使用,设置MIME类型、指定编码、导包操作;2、 两种包含的使用: 静态包含:,先包含后处理; 动态包含:,先处理后包含结果,可以向被包含页传递参数。3、 跳转操作:,跳转之后地址栏不发生任何的改变,所以此种称为服务器端跳转,可以向跳转的页面中传递参数。4、 现在的参数都使用request.getParaemter()进行接收,此操作返回String型的数据,如果没有参数返回的内容就是null;5、 使用JSP + JDBC完成的登陆程序必须可以编写熟练;6、 理解分页程序的操作原理,并且可以

2、使用分页组件进行操作。2.2、本次预计讲解的知识点1、 JSP中的九个内置对象的概览;2、 背下JSP中四种属性范围的操作;3、 request内置对象的使用;4、 response内置对象使用;5、 将JSP的程序进行一个整体的开发项目的操作。3、具体内容3.1、内置对象(重点) 之前如果要想使用一个对象,则首先必须使用关键字new进行对象的实例化操作,对象的名称也由用户自己决定,而所谓的内置对象指的是,在Web Container之中已经为用户提供好了若干个对象,用户直接使用即可,例如:之前接收参数操作时使用的request.getParameter()中的request就是一个内置对象,

3、在JSP中一共有以下九个内置对象。 背以上九个内置对象的时候,一定要记住的是背下对应的包.接口名称。3.2、属性的操作(核心重点) 属性操作可能现阶段感觉不到其作用,但是其作用必须结合到标准的开发或者是实际的应用中来解释,下面先记住这四种属性范围的特点,慢慢的消化。 所谓的属性范围就是指一个保存的对象(属性),可以保存的JSP页面的范围,在JSP中提供了如下三个方法进行属性的操作: 设置属性:public void setAttribute(String name,Object value) ; 取得属性:public Object getAttribute(String name) ; 删除

4、属性:public void removeAttribute(String name) ; 但是以上的三个方法在四个内置对象中都有:pageContext(page)、request、session、application。3.2.1、page属性范围(pageContext) 所谓的page属性范围指的就是一个对象只能保存在一个JSP页面之中,跳转之后无效,但是如果要想进行page属性的操作必须使用pageContext的这个内置对象完成。范例:设置和取得page属性姓名:生日: 现在是在当前页中设置的属性,所以也可以直接在当前页中取得,但是如果现在发生了跳转的话,则无法取得。范例:第一个页

5、面设置属性范例:第二个页面取得属性姓名:生日: 现在由于已经发生了跳转的操作,所以在一个页面上设置的属性就不存在了。3.2.2、request属性范围 如果现在希望属性在一次服务器端跳转后可以继续取得的话,那么就可以将属性范围扩大到request范围上。范例:设置属性范例:取得属性姓名:生日: 如果现在设置的是request属性范围的话,那么不管有多少个页面,只要是在一次服务器端跳转上都会继续保留下来。但是如果说现在换成了超链接呢?链接 由于现在发生的是客户端跳转,所以没有了,一个request只能保存在一个请求之中。3.2.3、session属性范围 如果现在希望某一个属性不管是服务器端还是

6、客户端跳转都可以继续取得属性操作的话,那么就可以使用session属性范围完成。范例:设置属性链接范例:取得属性姓名:生日:链接 通过session设置的属性范围不受跳转的限制,但是如果现在新打开了一个浏览器的话,就无法保存了。因为对于服务器来讲,每一个新打开的浏览器都是一个新的session,而且在之前的oracle也学习过,一个session就表示一个用户,例如:在实际的生活之中,要想发送邮件需要登陆邮箱,登陆之后无论怎么发送,发送人永远是这个登陆帐号。 session用于保存每一个用户自己的信息,一个属性保存的范围越大,占用的资源就越多。3.2.4、application属性范围 如果将

7、一个属性保存在了application范围,则就意味着这个属性保存在服务器上,这样,每一个用户(每一个用户就是一个session)都可以访问此属性。范例:设置属性链接范例:取得属性姓名:生日:链接 由于application的属性是保存在服务器上的,所以每个用户都可以访问,但是如果在此属性范围中保存的内容过多,则肯定将会过多的占用服务器端的资源,这样对于服务器的性能肯定有所影响。 从实际应用来讲,application属性范围出现的比较少,只有在保存公共属性的时候才会用到。3.2.2、page属性范围深入(pageContext) 通过以上的代码可以感觉出page属性范围似乎是一个没有用处的玩

8、意,但是从实际来讲,page属性范围是最有用一个,这一点必须结合标准设计模式来讲,而且如果再深入的话,实际上四种属性范围都是通过pageContext指定的,在pageContext中定义了如下一个属性设置方法:public void setAttribute(String name,Object value,int scope) 此方法之中多了一个设置的范围,而这个范围需要指定一个int型的数据,而这个数据由PageContext类中的以下常量提供: PAGE范围:public static final int PAGE_SCOPE REQUEST范围:public static final

9、 int REQUEST_SCOPE SESSION范围:public static final int SESSION_SCOPE APPLICATION范围:public static final int APPLICATION_SCOPE 如果使用了普通的属性设置方法,则默认的范围就是PAGE范围。范例:通过pageContext指定request属性范围范例:取得属性的时候依然使用普通的request对象完成姓名:生日: 通过以上的代码可以发现,pageContext算是一个最全能的对象,这一点会随着课程的深入而继续深入讲解。 但是从实际的使用来讲,每种属性范围还是习惯于使用指定的对象

10、,例如:request范围就使用request对象设置,而基本上不会通过pageContext设置。3.3、request内置对象(核心重点) 在B/S的程序之中都是基于请求(request)/回应(response)的操作流程,如果现在服务器端要想取得客户端的某些信息就只能依靠request内置对象完成,request内置对象对应的接口是javax.servlet.http.HttpServletRequest,此接口定义:public interface HttpServletRequestextends ServletRequest HttpServletRequest接口是javax.

11、servlet.ServletRequest接口的子接口,而且ServletRequest也只有一个子接口,那么为什么在设计的时候不将这两个接口合成一个接口呢? 之所以这样设计,主要的原因是因为现在的JSP中使用的是HTTP协议,如果以后再有新的协议出现的话,那么就可以让新的协议定义成一个接口,并将一些公共的操作直接从ServletRequest接口中继承而来。3.3.1、接收单个参数 在request对象之中使用最多的就是在于参数的接收上,例如,之前编写表单都可以传递参数,这些参数都直接使用:public String getParaemeter(String str)的方法进行接收。范例:

12、下面定义表单 JavaScript程序 请输入内容: 选择性别: 男 女 以上表单中定义了三个参数,所以下面在input.jsp页面中也应该接收这样三个参数。范例:接收参数 HELLO.jsp 信息: 性别: : 发现现在的信息可以正常的显示,但是这里面有一个问题,在使用表单提交的时候使用过一个属性指定过表单的提交方式,method的属性,method有两种提交方式:post、get,这两种区别如下: post提交:提交之后的地址栏为目标地址栏不改变,由于不显示,所以可以提交一些比较大的数据,例如:小型的图片,实际中使用最多的就是此种提交方式; get提交:提交之后的地址栏改变会加入一些信息,

13、由于地址栏的输入长度为4K5K的范围,所以不能提交太大的数据; 但是,下面继续来分析一下get提交的形式:input.jsp?msg=fdsafsad&sex=FEMALE&id=30 后面自动加入了一些信息,这些信息的组成:xxx.jsp?var=value&var=value,而这种方式在开发上来讲,就称为地址重写的方式,即:对于参数的提交也可以直接通过超链接完成。范例:编写超链接链接 这种参数的传递方式经常使用再,无法使用表单而又必须传递参数的形式。注意点:关于getParaemter()和getAttribute()的区别 getParameter()主要的功能是接收参数,那么参数的来

14、源一共有三种:表单提交、标签传递、地址重写; getAttribute()主要用于属性接收上,使用getAttribute()接收的属性一定是先使用过setAttribute()设置过的。 getParameter()方法现在是在接收参数,但是每次只接收了一个参数,如果现在传递的是多个参数的话,则无法接收,例如:复选框。 JavaScript程序 请输入内容: 选择性别: 男 女 兴趣: 跑步 看书 音乐 链接 现在使用getParameter()根本就无法接收,因为现在复选框一旦提交只能够接收第一个,所以必须按照数组的形式接收,此时使用的方法:public String getParamet

15、erValues(String name) HELLO.jsp 信息: 性别: : 兴趣: % if(inst != null) for(int x=0;x 、 对于JSP的开发而言,一定要考虑到数据可能不传递的情况。3.3.2、乱码解决 在Java的开发之中编码绝对是一个头疼的问题,而且也是非常迫切需要解决的问题。 JavaScript程序 请输入内容: 如果这种代码按照最早的getParameter()接收的话,则如果是中文,肯定是乱码,因为现在的程序所有的编码都是使用了ISO8859-1的编码,所以无法识别中文,这种情况下可以采用request对象中的方法: 指定统一的编码:public void setCharacterEncodi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1