JSP 内置/隐式对象

来源:互联网 发布:720云全景制作软件 编辑:程序博客网 时间:2024/06/05 03:02

参考 http://www.runoob.com/jsp/jsp-implicit-objects.html

JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量

JSP所支持的九大隐式对象

缓冲区:内存中的一块区域用来保存临时数据。
一粒一粒米和一碗米

1. out对象

这里写图片描述

2. request对象

a标签实例get方法

<a href="dologin.jsp?username=李四&&password=123">href提交</a>

表单的两种提交方式:get和post
get:安全性低,但效率低,最多不能超过2KB。
post:将用户提交的信息封装到HTML HEADER内。

在.jsp页面中,下列代码 可以 解决中文乱码问题

<% request.setCharacterEncoding("utf-8"); %>

或者

<%// 解决中文乱码的问题String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8");%>

request的一些方法

<% request.setCharacterEncoding("utf-8"); %>    请求体的真实路径<%= request.getRealPath("/") %><br>    请求体的上下文路径,项目虚拟路径<%= request.getContextPath() %>

3. response对象
response对象有页面作用域,其他页面的response对象对该页面无效

response.getWriter()获得输出流对象输出 提前于内置的out对象

<body>    <%        response.setContentType("text/html; charset=utf-8");        out.println("<h1>response内置对象</h1>");        //out.flush(); //可以实现先输出内置的out对象        PrintWriter outer = response.getWriter();//获得输出流对象        outer.println("大家好,我是response对象获得的输出流对象");    %></body>

请求重定向:重新定向客户的的请求
如果index.jsp页面有如下代码,当用户请求index.jsp时,就会跳转到dologin.jsp页面

<%    //out.flush(); 如果不注释掉,会抛出异常    response.sendRedirect("dologin.jsp");//请求重定向    request.getRequestDispatcher("dologin.jsp").forward(request, response);//请求转发%>

请求重定向与请求转发的区别

请求重定向是客户器端行为而请求转发是服务器端行为

这里写图片描述

这里写图片描述

从用户角度来说,如果是请求转发,用户不知道A局的人去找了B局。

4. session对象
session 保存在服务器的内存中
session:从一个客户打开浏览器连接到服务器开始,到关闭浏览器离开这个服务器结束,这个过程被称为一个会话
session在各个浏览器之间可以保存

session:把这个服务器的所有页面都关闭或者在同一页面停留太久,没有请求

session生命周期
1.三个阶段:创建,活动和销毁
2.销毁session的三种方法:
(1)调用方法session.invalidate();
(2)当session处于非活动状态超过 超时时间,默认超时时间30分钟
两种方式设置session的超时时间
方式1 : 调用方法session.setMaxInactiveInterval(60);单位是秒
方式2:在项目的xml文件中配置,单位是分钟

<!-- 设置session的超时时间 -->    <session-config>        <session-timeout>3</session-timeout>    </session-config>

(3)服务器重启,会销毁所有的session
3.如果把本次会话的所有页面都关闭,再重新打开这个服务器的某个页面,会创建新的session,但是旧的session也还存在,并没有被销毁,只是处于非活动状态。等到了超时时间,才会被销毁

5. application对象
开始于服务器启动,终止于服务器关闭