Java九大内置对象
    内置对象/作用域(每一种作用域的生命周期是不一样的):
        1, application 全局作用域
        2, session 会话作用域
        3, request 请求作用域
        4, pageContext 页面作用域
    内置对象
        5, response 响应对象
        6, out 输出流对象
        7, page 当前页面对象的实例
        8, exception 异常
        9, config ServletConfig/FilterConfig对象
    页面中的form表单提交方式:
        post:
            提交内容不可见, 没有长度限制
        get:
            有长度限制, 提交内容在地址栏可见
    
    request对象:
        request对象是HttpServletRequest这个类的实例
        常用方法:
            String getParameter(String name)---返回name指定的参数的值
            String[] getParameterValues(String name)---返回一个数组, 是包含那个参数名的所有的人
            void setAttribute(String, Object)---设置某个作用域中的属性
            Object getAttribute(String name)---获取某个作用域中的属性
            String getRealPath(String path)---返回传入的这个路径的物理路径
            String getContextPath()---返回上下文路径
            String getServerName()---返回请求服务器的主机名
            String getContentType()---返回请求体的MIME类型
            String getprotocol()---返回请求用的协议类型和版本号
            int getServerPort()---获取服务器的端口号
            int getContentLength()---返回请求体的长度(单位是字节)
            String getRemoteAddr()---返回发送此请求的客户端的IP地址

解决request中出现中文乱码的问题
            post方式:
                通过使用request.setCharacterEncoding("utf-8")来设置
            get方式:
                通过修改Tomcat服务器中的server.xml配置文件来设置
    
    response对象
        response对象是HttpServletResponse的实例
        常用方法:
            setCharacterEncoding(String name)---设置响应页面使用的字符编码
            setContentType("text/html; charset=utf-8")---设置(MIME类型)请求头
            response.getWriter().append(String content)---向页面输出一段字符串
                out对象的类型是JspWriter, 而response.getWriter()是一个PrintWriter, out对象也可以通过pageContext.getOut()获得, 这两个对象的类型不一样
                
                out.print()可能会抛出异常
                PrintWriter.print()不会抛出异常

JspWriter是一个抽象类, PrintWriter是一个继承了Writer的普通类

getWriter()方法可以在页面上输出一串字符, out也是一个输出对象, 两者的区别在于, getWriter()方法的执行结果, 总是优先于out对象, 可以使用out.flush()方法, 强行属性缓        冲区的内容, 将out对象的输出结果先输出出来

造成这种现象的原因:
                  out对象实际上对PrintWriter是有依赖的, 他需要先将需要输出的内容存到response的缓冲区里面, 然后等待jsp页面中的out满足一定条件之后, 才会调用输出的方法把        内容直接输出到页面上
        而PrintWriter是可以直接输出出来的
        转发和重定向
            response.sendRedirect(String location)---请求重定向
                客户端行为, 从本质上讲相当于两次请求, 第一次请求的对象不会被保存, 地址栏的Url地址会改变
            request.getRequestDispatcher().forward(request, response)---请求转发
                服务器行为, 相当于一次请求, 转发后请求对象会被保存, 地址栏url不会改变
    Session对象
        session指的是用户在进入一个网站开始到关闭浏览器的时间, Tomcat服务器默认的session有效时间是30分钟, 也就是说, 打开一个网站30分钟之内没有动作, session对象同样也     会失效
        session存在服务器的内存中, 服务器中不同的用户对应的session也是不同的, 所以服务器用来判断当前登录的用户是否是同一个的时候就需要session
        session对象是HttpSession的实例
        常用方法:
            long getCreationTime()---返回session对象创建的时间
            String getId()---返回一个sessionid, 是唯一的
            void setAttribute()---设置一个属性和一个属性值
            Object getAttribute()---获取某个属性的属性值
            String[] getValueNames()---以数组的形式获取session对象中所有可用属性的属性名
            setMaxInactiveInterval()---设置session经过多长时间之后失效(默认30分钟)
            getMaxInactiveInterval()---设置session的失效时间(单位是秒)

session的生命周期:
            创建: 当用户第一次访问某个jsp或者servlet的时候, 服务器就会为当前的访问创建一个session, 并生成一个sessionId, 每次客户端向服务器发送请求的时候, 都会将这个            sessionId带过去进行验证

活动: 在这个页面的各种活动, 比如通过超级连接打开另一个页面, 或者进行各种增删改查的操作, session失效除非要等到浏览器的相关页面全部关闭, 或者session超时, 当再      次访问的时候会创建一个新的session, 但是原来的session还会存在, 只不过没有任何请求再带着那个旧的sessionId让服务器去验证了

session销毁:
                三种方法可以销毁session
                    1, 调用session.invalidate()方法
                    2, session自己过期了
                        设置session过期时间也可以在web.xml中设置
                            <session-conf>
                                <session-timeout>
                                    10<!-- 单位是分钟 ! -->
                                </session-timeout>
                            </session-conf>
                    3, 服务器重新启动
        
        application对象
            application对象是一个全局对象, 生命周期为服务器启动一直到服务器停止, 在这个对象里面可以存放一些全局变量

setAttribute(String, Object)---设置某个属性和属性值
            getAttribute(String)---获得某个属性的值
            getAttributeNames()---获取application对象中所有的属性名

Java九大内置对象的更多相关文章

  1. Java Web(五) JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  2. 当Java遇见了Html--Jsp九大内置对象篇

    jsp内置对象对象是web容器创建的一组对象,不使用new关键词久可以使用的内置对象. 九大内置对象包括以下: out --JspWriter request --ServletRequest rep ...

  3. jsp九大内置对象与servlet中java对象

    jsp九大内置对象 request对象 :  getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getAttri ...

  4. java:(九大内置对象,计算服务器访问次数,filter过滤器,MVC框架,MVC和三层架构的关系)

    1.九大内置对象: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  5. java Web jsp四大作用域和九大内置对象

    JSP中的四大作用域:page.request.session.application 这四大作用域,其实就是其九大内置对象中的四个,为什么说他们也是JSP的四大作用域呢?因为这四个对象都能存储数据, ...

  6. 今天我们来认识一下JSP的九大内置对象

    虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...

  7. jsp的九大内置对象

    九大内置对象 jsp servlet   对象名 类型 使用范围 request HttpServletRequest 请求 浏览器--->服务器 response HttpServletRes ...

  8. 重温JSP学习笔记--三大指令九大内置对象

    最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...

  9. jsp数据交互(一),九大内置对象

    九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...

随机推荐

  1. 基于http的追加协议、构建web内容的技术、web的攻击技术(9,10,11)

    第九章 基于http的追加协议 用来提升http的瓶颈,比如Ajax技术,spdy等 第十章 构建web内容的技术 html.css.js等 第十一章 web的攻击技术 比如sql注入攻击.xss等.

  2. 使用MyBatis查询 返回类型为int,但是当查询结果为空NULL,报异常的解决方法

    使用MyBatis查询 返回类型为int,但是当查询结果为空NULL,会报异常. 例如: <select id="getPersonRecordId" parameterTy ...

  3. Python编写在Maya中查看文件列表的插件

    之前写过一篇用Python遍历文件夹的文章,今天把代码扩展一下,做成一个有UI用户界面的Maya插件,可以直接在Maya中运行: 功能是显示磁盘分区目录下的文件列表,通过定制也可以查看任意目录下的文件 ...

  4. idea出现:error:java: Target level '1.7' is incompatible with source level '1.8'.解决办法

    当我们开始使用idea的时候,编译jsp程序我们有可能出现编译错误,然而我们的代码又没有什么问题. 解决方法一:我们开始的时候可以通过修改java compiler来解决这样的问题,点击file菜单- ...

  5. 【51NOD-0】1011 最大公约数GCD

    [算法]欧几里德算法 #include<cstdio> int gcd(int a,int b) {?a:gcd(b,a%b);} int main() { int a,b; scanf( ...

  6. Spring mvc详解(山东数漫江湖)

    Spring mvc框架 Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业务 ...

  7. 有关计数问题的dp

    问题一:划分数 问题描述 有n个去区别的物体,将它们划分成不超过m组,求出划分方法数模M的余数. 我们定义dp[i][j],表示j的i划分的总数 将j划分成i个的话,可以先取出k个,然后将剩下的j-k ...

  8. 为什么IO多路复用需要采用非阻塞式IO

    近段时间开始学习<Unix网络编程>,代码实现了一个简单的IO多路复用+阻塞式的服务端,在学习了非阻塞式IO后,有一个疑问,即: 假如调用了select,并且关注了几个描述字,当关注的描述 ...

  9. python基础===tkinter学习链接

    http://effbot.org/tkinterbook/tkinter-classes.htm

  10. ZZ:Solaris 10 软件包分析

    ZZ:Solaris 10 软件包分析 http://blog.chinaunix.net/uid-22759617-id-276756.html # Last updated: 2006-02-14 ...