前几天学习了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内置对象总结的更多相关文章

  1. jsp内置对象浅谈

    jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...

  2. JSP内置对象-request

    JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...

  3. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  5. Java遇见HTML——JSP篇之JSP内置对象(上)

    一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...

  6. JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

    JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...

  7. JSP内置对象详解

    jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request ...

  8. JSP内置对象(上)

    在JSP中为了简化页面的开发提供了一些内置的对象.这些对象不需要由JSP的编写者通过new关键字实例化,他们都由容器实现和管理,在所有的JSP页面中都可以使用内置对象. JSP中共有9大内置对象: o ...

  9. JSP内置对象(下)

    JSP中共有9大内置对象: out对象 requset对象 response对象 session对象 pageContext对象 application对象 config对象 page对象 excep ...

  10. jsp内置对象的方法

    JSP内置对象的方法:out:out.print();request:request对象主要用于出列客户端请求.   常用方法:    String getParameter(String name) ...

随机推荐

  1. TFS2010安装办法及序列号

    安装过程: 一.安装操纵体系 安装Windows 2008 R2简体中文版 二.筹办安装过程中的须要的用户账户,并设置响应权限 具体流程如下: 1.点击“开端”——“经管对象”——“计较机经管” 2. ...

  2. 【erlang】IPv6格式转IPv4

    erlang里面的httpd模块保存的http请求头里面,其中remote_addr 保存的是IPv6的格式. 即使是IPv4,也会用IPv6的格式来保存.如 {remote_addr, " ...

  3. jsp_包含指令

    1.静态包含: <%@ include file="被包含的文件的路径"%> 2.动态包含: 不传递参数:<jsp:include page="{要包含 ...

  4. onSaveInstanceState & onRestoreInstanceState

    一.onSaveInstanceState Called to retrieve per-instance state from an activity before being killed so ...

  5. 第91讲:Akka第一个案例动手实战架构设计

    我们来看一下Akka的一个简单的wordcount的案例架构设计 从图中我们可以看出,不同的行我们是交给不同的actor进行入理的,每行首先进行map操作,识别出每个单词,然后交给reduce步骤的a ...

  6. 【Windows 10 IoT - 2】LED闪烁及动画绘制(树莓派 Pi2)

    在上一篇博文<Windows 10 IoT系统安装>中,我们实现了在树莓派2平台上运行Window 10 IoT,本篇文章将介绍在该平台上的程序开发. 在最初获得的资讯中,以为Window ...

  7. jquery 插件原则

    区分开 Dom 对象,jQuery Dom对象, Json数据. Dom对象是诸如: document.getElementById 返回的原生Dom对象. jQuery Dom对象,如:$(&quo ...

  8. C++11 并发指南三(Lock 详解)

    在 <C++11 并发指南三(std::mutex 详解)>一文中我们主要介绍了 C++11 标准中的互斥量(Mutex),并简单介绍了一下两种锁类型.本节将详细介绍一下 C++11 标准 ...

  9. EDA系列学习

    发布这系列的EDA课程VHDL实验是因为有着和单片机系列同样的理由,另外,这个系列的文档只进行过波形图仿真,部分的程序可能不能在硬件上运行. 目录 实验二 8位加法器设计 实验三 组合逻辑电路的VHD ...

  10. Linux下通过NFS共享文件夹

    测试环境:CentOS 6.7 服务端 # yum -y install nfs-utils rpcbind # 开启服务 service nfs start service rpcbind star ...