一、jsp内置对象
由容器实现和管理,不需要通过JSP页面编写来实例化,在所有的JSP页面中都可以直接使用,起到了简化页面的作用。JSP有9个内置对象:request,response,session,application,out,pageContext,config,page,exception。
二、request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息,系统信息,请求方式和请求参数等。通过该对象可以处理客户端浏览器提交的HTTP请求中的各项参数。
2.1 访问请求参数
当通过超链接的形式发送请求时,可以为该请求传递参数,通过在超链接后面加上问号实现,多个参数用&分隔。在被连接到的页面可以通过request对象的getParameter()方法获取传递的参数值。
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>使用request对象获取请求参数值</title></head><body><a href="deal.jsp?id=1&user=wj&pwd=123">处理页</a></body></html><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><% String id=request.getParameter("id"); String user=request.getParameter("user"); String pwd=request.getParameter("pwd");%><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>处理页</title></head><body>id 参数的值为:<%=id %><br>user 参数的值为:<%=user %><br>pwd 参数的值为:<%=pwd %></body></html>2.2 在作用域中管理属性
在进行请求转发时,需要把一些数据传递到转发后的页面进行处理。这时,就需要使用request对像的setAttribute()方法将数据保存到request范围内的变量中
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title> 在作用域中管理属性</title></head><body><% try{ int money=100; int number=0; request.setAttribute("result", money/number); }catch(Exception e){ request.setAttribute("result", "页面产生错误!"); }%><jsp:forward page="deal.jsp" /></body></html><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>结果页deal</title></head><body><%String message=request.getAttribute("result").toString(); %><%=message %></body></html>2.3 获取cookie
cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器。通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户等。浏览器将cookie以key/value的形式保存到客户机的某个指定目录中。通过cookie的getCookie()方法可获取到所有cookie对象的集合;通过getName()方法可以获取到指定名称的cookie;通过getValue)()方法可获得cookie对象的值,使用response的addCookie()方法将一个cookie对象发送到客户端。
2.4 获取客户端信息
通过request可以获取客户端相关信息,例如,HTTP报头信息、客户信息提交方式、客户端主机ip地址、端口号等。
三、respons对象
用户响应客户请求,向客户端输出信息。
3.1 重定向网页
利用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向后request中的属性全部失效,并开始一个新的request对象。地址栏中显示的是重定向后的地址。
语法格式:response.sendRedirect(String path);
3.2 处理HTTP文件头可以禁用缓存,设置页面自动刷新,定时跳转网页。
3.3 设置输出缓冲
四、session对象
session对象在网络中被称为对话,通过session可以在应用程序的web页面间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,直到浏览器关闭。
4.1 创建及获取客户的会话
session.setAttribute(String name, Object obj);
session.getAttribute(String name);
4.2 从会话中移动指定的绑定对象session.removeAttribute(String name);
4.3 销毁session
session.invalidate();
4.4 会话超时管理
五、application对象
用于保存所有应用程序中的共有数据。在服务器启动时自动创建,在服务器停止时销毁。application对象提供了对应用程序进行初始化参数进行访问的方法。应用程序初始化参数在web.xml文件中进行设置,web.xml文件位于web应用所在目录下的WEB-INF子目录中,在web.xml文件中通过<context-param>标记配置应用程序初始化参数。
六、out对象out对象用于在web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。
七、pageContext对象该对象可以获取JSP页面的request、response、session、application等对象。它的创建和初始化都是由容器来完成。
八、config对象用于取得服务器的配置信息。读取web.xml配置信息
九、page对象代表JSP本身,本质上是包含当前Servlet接口引用的变量,可以看做是this关键字的别名。
十、exception对象处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置为isErorPage属性为TRUE的页面中才可以被使用,在一般的jsp页面中使用该对象将无法编译JSP文件。
新闻热点
疑难解答