JSP内置对象总结
前几天学习了javaee中的jsp(Java Server Pages),即java服务器页面,其实就是在html里面写java代码。
一、概述前言
在总结九大对象之前,有必要先搞清楚几个概念:请求,回话,响应以及http。
回话:一个用户访问服务器的整个过程是一个回话的过程,这个过程包括从打开浏览器登陆网站到关闭浏览器退出网站的整个过程,每次回话包括多个请求以及响应。
请求:回话当中会包括很多请求,每次页面的跳转、数据操作的跳转等等都是一个回话,而这些请求很多时候是利用http协议来实现的。
响应:服务器对客户端请求所作出的应答所对应的对象,该对象包含所有的对应请求的对应应答消息。
http:一种传输数据的方式、协议,在网站的传输数据中非常常用,具体的协议知识课自己查看百度。
二、JSP的有九大常用对象概况:
javax.serverlet.httpServerlet.Request(一般被初始化为request):客户段请求对象,每次请求的发起都会被创建,声明周期为该次请求
javax.serverlet.httpServerlet.Response(一般被初始化为response):服务器响应对象,每次响应客户端时都会被创建,生命周期为该次响应
javax.serverlet.httpServerlet.session(一般被初始化为session):可以理解为回话对象,在用户初次登陆的时候就被创建,生命周期为整个回话过程,可用于同一用户的不同回话之间的数据共享和传递,不同请求相应共用一个session。
javax.serverlet.ServerletContext(一般被初始化为appplication):服务器启动后便产生该对象,直到服务器关闭该对象的生命周期才会结束,所以该对象可用于不同用户之间信息的传递和共享,因为不同的用户共用一个application。
javax.serverlet.jsp.jspWriter(初始化为out):输出流,将服务器对应的信息输出到页面上来,可以简写为<%=%>的赋值形式。
javax.serverlet.jsp.pageContext(初始化为pageContext):该对象代表服务器本身,通过该对象的方法可以获取到服务器的所有其他内置对象。
javax.serverlet.ServerletConfig(初始化为config):包含服务器的配置信息的对象,通过该对象的方法可以获得服务器的配置信息。
javax.serverlet.Cookie(初始化为cookie):cookie是客户端中对应某次回话的一段文档,它直接存储在硬盘中。
java.lang.Exception:serverlet的异常对象。
总的来说:一次回话中:request和response可以理解为局部变量,session可理解为全局变量;而对服务器而言,session理解为局部变量,application理解为全局变量;而pageContext可以类比java中的this关键字。
三、常用对象的总结
1、request常用用法。话不多说,直接上代码
//常用方法一getSparameter
//该方法用于获取传递的参数
request.getParameter("传递的参数的名字");
//返回的是Object,所以很多时候需要进行强制转换
getParameter方法用于获取传递参数的值,返回的是一个对象,值得传递可以包括表单的get和post提交数据、url传参等,在传递参数的时候,这里要注意一个编码格式问题和注意get和post方法提交数据的区别
a、编码问题;
首先,为防止出现中文乱码,所以,在接受参数的时候需要注意将接受的参数转换为utf-8格式编码,转码的方法如下:
//设置编码格式问题的方法
request.setCharacterEncoding("utf-8");
另外,以上的方法只能解决get和post传递参数的中文乱码问题,对于URL传参的乱码问题,要进行二次编码和解码的操作,具体代码如下:
//1、首先要在传参的那个地方进行两次编码处理
String result = java.net.URLEncoder.encode("要编码的字符串","utf-8");
result = java.net.URLEncoder.encode(result,"utf-8");
//2、在接受除,进行解码操作
String result = java.net.URLDecoder.decode(request.getParameter("参数名字")),"utf-8");
b、表单中post和get提交数据的区别
首先,get的提交方式数据会在url中显示出来,所以相对来说不安全,同时,get的提交方法所传输的数据参数大小较小;
post提交数据不会再url中显示出来,同时可提交的数据大小可达2m;但是,get提交数据的速度比post更高效更快;
平时来说,一般建议使用post方法提交数据。
2、response的总结,话不多说,上代码
//response常用方法
//sendRedirect
response.sendRedirect(URL);//该方法用于跳转到另一个页面用,URL是页面的url,可以是相对路径
以上方法一般用于页面的跳转时调用。
3、session总结,还是先看代码
//session方法的用法
session.setAttribute(String key,Object ob);//该方法是用于将某个值传递给session,可以类比Map中的put(String key,Object object)
session.getAttribute(String key);//获取session对象中对应key索引的数据,类似于Map中的get方法。
其实session内部存储数据的方式就是利用Map容器的方式,每次将值put进容器的时候,要包括key和value,索引和值一一对应。这两个方法就实现了数据在不同的请求之间的传递。
4、application总结
其实,application用法其实是和session一样的,主要的方法还是getAttrubute和setAttribute两个方法,具体可参考session代码。
application和session的区别其实就是生命周期的不同而已。
5、out对象
ou.println(Infor);将对应的信息打印到界面。
6、pogeContext对象,该方法是指向当前服务器的指针,类比this关键字。先看以下的代码
//pageContext方法的用法
pageContext.setAttribute(String name,Value v,int scope);
//scope对应关系:PAGE_SCOPE,对应page页面的范围;REQUEST_SCOPE:对应request范围;SESSION_SCOPE对应session范围;APPLICATION_SCOPE对应application范围
pageContext.getAttribute(String name,int scope);//类似于setAttribute方法,getAttribute只是获取其中name对应的值。
解释以下,page范围其实就当前页面的范围,页面跳转之后page范围的值是无效的。
JSP内置对象总结的更多相关文章
- jsp内置对象浅谈
jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...
- JSP内置对象-request
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
- JavaWeb学习----JSP内置对象详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Jsp内置对象及EL表达式的使用
一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...
- Java遇见HTML——JSP篇之JSP内置对象(上)
一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
- JSP内置对象详解
jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request ...
- JSP内置对象(上)
在JSP中为了简化页面的开发提供了一些内置的对象.这些对象不需要由JSP的编写者通过new关键字实例化,他们都由容器实现和管理,在所有的JSP页面中都可以使用内置对象. JSP中共有9大内置对象: o ...
- JSP内置对象(下)
JSP中共有9大内置对象: out对象 requset对象 response对象 session对象 pageContext对象 application对象 config对象 page对象 excep ...
- jsp内置对象的方法
JSP内置对象的方法:out:out.print();request:request对象主要用于出列客户端请求. 常用方法: String getParameter(String name) ...
随机推荐
- Centos7 安装MPlayer过程详解
使用自带的totem基本上都无法播放视频,各种格式都不支持,令人无语.想到了MPlayer,为了看片,决定编译安装,过程真的是折腾.如图是自带的Totem播放提示,安装了解码还是无法播放,反正要找其他 ...
- 咏南IOCP中间件
咏南IOCP中间件 特大好消息,咏南中间件系列新增加——咏南IOCP中间件.咏南IOCP中间件完全兼容咏南DATASNAP中间件的远程方法接口. 中间件DELPHI7~DELPHI XE10.1.1都 ...
- POJ 1065 Wooden Sticks Greed,DP
排序后贪心或根据第二关键字找最长下降子序列 #pragma comment(linker, "/STACK:1024000000,1024000000") #include< ...
- discuz学习,文件列表
文件颜色说明: 红色:程序核心文件,修改这类文件时千万要注意安全! 橙色:做插件几乎不会用到的文件,大概了解功能就可以了,其实我也不推荐修改这些文件 绿色:函数类文件,许多功能强大的自定义函数可以调用 ...
- web form 复合控件
DropDownList 下拉列表 会被编译为select option ps.name 服务端常用,id 客户端常用 一般用法: 一.将数据放进去 方法一:同WinForm相同,给定数据源,然后绑定 ...
- hadoop 集群部署ganglia 监控服务与nagios 报警服务
1. 部署ganglia 服务 ganglia 涉及到的组件: 数据监测节点(gmond):这个部件装在需要监测的节点上,用于收集本节点的运行情况,并将这些统计信息传送到gmetad, ...
- css3 transform的基本用法和介绍
<style>/* 最简单的一个transition动画 .box{width:100px;height:100px;border:1px solid;background:green;- ...
- FMDB源码阅读
http://www.cnblogs.com/polobymulberry/p/5178770.html
- 标签控制器 UITabBarController
UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换. #import ...
- ubuntu VNC server 黑屏 yum源更新(ubuntu16.04)
更新yum源,备份/etc/apt/sources.list root@mgw-virtual-machine:~# nano /etc/apt/sources.list #添加源 # deb c ...