• Java九大内置对象


    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对象中所有的属性名

  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/DONGb/p/7453444.html
Copyright © 2020-2023  润新知