JSP内置对象

内置对象:不需要预告定义,在脚本代码和表达式中直接使用。

9个内置对象: requestresponsesessionapplicationoutpageContextconfigpage exception

(一)request对象

request对象封装了由客户端生成的 HTTP 请求的所有细节,主要包括 HTTP 头信息、系统信息、请求方式 和 请求参数 等。

1)访问 请求参数—— getParameter()

示例代码:

在页面中定义超链接。

<a href ="delete.jsp?id=1">删除</a>

在delete.jsp页面中,可以通过request 对象的getParameter() 方法获取传递的参数值。

<%

request.getParameter("id");

%>

2)在作用域中管理属性——getAttribut(String name) & setAttribute(String name,Object object)

在进行请求转发时,需要把一些数据传递到转发后的页面进行处理,可以使用 setAttribute() 方法将数据保存到 request 范围内的变量中。

注意:由于 getAttribute() 方法返回的值为 Object 类型,需要调用其 toString() 方法,将其转换为字符串类型。

3)获取 cookie

cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器。通过使用 cookie 可以标识用户身份,记录用户名和密码,跟踪重复用户等。浏览器将 cookie 以 key/value 的形式保存到客户机的某个指定目录中。

通过 cookie 的getCookies() 方法即可获取所有 cookie 对象的集合;通过cookie 对象的 getName() 方法可以获取到指定名称的 cookie ;通过 getValue() 方法即可获取 cookie 对象的值。将一个 cookie 对象发送到客户端,使用 response 对象的 addCookie() 方法。【注意:应保证客户机上允许使用 cookie 】

4)解决中文乱码

所有的 request 请求都是ISO-8859-1的。

ISO-8859-1 转换为 UTF-8 方法:String utf8 =new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")

5)获取客户端信息

通过 request 对象可以获取客户端的相关信息。例如,HTTP 报头信息、客户信息提交方式、客户端主机 IP 地址、端口号等。

6)显示国际化信息

浏览器可以通过 accept-language 的HTTP 报送向 Web 服务器指明它所使用的本地语言。request 对象中的 getLocale() 和 getLocales() 方法允许 JSP 开发人员获取这信息。


(二)response 对象

1)重定向网页——sendRedirect(String path); 

2)处理 HTTP 文件头

(1)禁用缓存

通过设置 HTTP 头的方法实现禁用缓存,代码如下:

<%

response.setHeader("Cache-Control","no-store");

response.setDateHeader("Expires",0);

%>

(2)设置页面自动刷新

<%

response.setHeader("refresh","10"); //每隔10 秒刷新一次

%>

(3)定时跳转网页

<%

response.setHeader("refresh","5;URL=login.jsp");

%>

3)设置输出缓冲——response.setBufferSize(32); //设置缓冲区大小为32KB


(三)session对象

通过 session 可以在应用程序的 Web 页面间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,直到关闭浏览器。但是,如果在一个会话中,客户端长时间不向服务器发出请求,session 对象就 会自动消失。这个时间取决于服务器,例如,Tomcat 服务器默认为 30分钟。不过这个时间可以通过编写程序进行修改。

1)创建及获取客户的会话——setAttribute(String name,Object obj) & getAttribute(String name)

2)从会话中移除指定的绑定对象——removeAttribute(String name)

3)销毁session——session.invalidate()

4)会话超时的管理

(1)getLastAccessedTime():返回客户端最后一次与会话相关联的请求时间。

(2)getMaxInactiveInterval():以秒为单位返回一个会话内两个请求最大时间间隔。

(3)setMaxInactiveInterval():以秒为单位设置session的有效时间。


(四)application对象

application对象用于保存所有应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。

1)访问应用程序初始化参数

应用程序初始化参数在 web.xml 文件(位于Web 应用所在目录下的 WEB-INF子目录中)中进行设置。在web.xml文件中通过<context-param>标记配置应用程序初始参数。

示例如下:

<context-param>

<param-name>url</param-name>

<param-value>jdbc:mysql://127.0.0.1:3306/db_database</param-value>

</context-param>

application对象提供了两种访问应用程序初始化参数的方法:

(1)applicaton.getInitParameter(String name); //参数name为参数名。如以上示例的 url

(2)application.getAttributeNames(); //返回所有已定义的应用程序初始化参数名的枚举。


(五)pageContext 对象

通过 pageContext 对象可以获取 JSP 页面的 request、response、session、application、exception 等对象。


(六)在Web浏览器输出信息的out——out.print("输出") & out.println("输出")

(七)读取 web.xml 配置信息的 config 对象

(八)应答请求的page对象

(九)获取异常信息的 exception 对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值