javaWeb 内置对象(一)

来源:互联网 发布:python scrapy 教程pdf 编辑:程序博客网 时间:2024/06/03 19:42

jsp九大内置对象:

1.request对象 、2.response对象、 3.pageContext对象、4.session对象、

5.application对象、6.out对象、7.config对象、8.page对象、9.exception对象

什么是jsp内置对象:

JSP内置对象是 Web 容器创建的一组对象

JSP内置对象的名称是JSP的保留字

JSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例


request对象

request对象主要用于处理客户端请求

request这个对象封装了客户端生成的http请求的所有细节,主要包括http头信息、系统信息、请求方式、参数等。通过request对象提供的对应的方法可以处理客户端浏览器提交的http请求个各项参数。

request对象常用方法

方法名称       

String getParameter(String name) 根据页面表单组件名称获取页面提交数据

String[] getParameterValues(String name) 获取一个页面表单组件对应多个值时的用户的请求数据

void setCharacterEncoding(String charset) 指定每个请求的编码,在调用getParameter( )之前进行设定,可以解决中文乱码问题

String getRemoteAddr() 返回提交请求的客户机的IP地址

注意: setCharacterEncoding方法只能用来处理post方式提交的中文乱码,并且setCharacterEncoding方法必须放在所有getParameter方法之前,不然依然会出现乱按

 如果使用get请求要处理中文乱码

String un=new String(username.getBytes("ISO-8859-1"),"utf-8");

eg:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


Response 对象

response对象用于响应客户端请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。

常用方法:

方法名称 说明

sendRedirect()将请求定位到一个不同的URL,即页面重定向

setHeader() 设置响应头信息


setHeader

页面自动刷新

   <body>

   <%! int i = 0;%>

   <%response.setHeader("refresh", "1");

   out.println(++i);%>

</body>

页面定时跳转

<body>

   5秒钟后跳回主页面,如果没有跳转<a href="main.jsp">这里</a>

   <%response.setHeader("refresh", "5;URL=main.jsp");%>

</body>


sendRedirect

语法:response.sendRedirect("跳转页面")

eg: response.sendRedirect("new.jsp");(效果跳转到new.jsp页面)

转发与重定向的区别

转发(服务器端跳转):  一次请求

<jsp:forward>

request.getRequestDispatcher("new.jsp").forward(request, response);

重定向(客户端跳转):  两次请求

response.sendRedirect("new.jsp");

<a href="new.jsp">new.jsp</a>

转发重定向:

1.转发是在服务器端完成,因此称为服务器端跳转  

  重定向是在客户端完成,因此称为客户端跳转    

2.转发后,地址栏不会改变

  重定向后,地址栏会改变

3.转发只能在同一个WEB项目范围内进行

  重定向可以再同一个WEB项目内,也可以重定向到其他任意地方eg:response.sendRedirect("http://www.baidu.com");


session对象

Session在网络中被称为会话。由于HTTP协议是一种无状态的协议,也就是当一个客户端发送请求,服务器端收到请求,

并返回响应后,该连接就结束了,而服务器不保存任何相关的信息。为了弥补这一缺点,HTTP协议提供了session

通过session可以在应用程序的web页面间进行跳转时,保存用户的状态,使得整个用户会话一直存在下去,直到浏览器关闭。

常用方法

方法名称 说明

setAttribute(String key,Object value)   key/value的形式保存对象值

getAttribute(String key)   通过key获取对象值

getMaxInactiveInterval() 获取session的有效非活动时间,以秒为单位

getId()     获取session对象的编号

invalidate()     设置session对象失效

removeAttribute(String key)   session中删除指定名称(key)所对应的对象