JSP的九大隐式对象
可以不需要在JSP中预先定义就可以直接使用的。
一共九个,统称为JSP的九大隐式对象。
分别是:
- ①request对象 请求信息
- ②response对象 响应信息
- ③out对象 输出的输出流
- ④session对象 会话
- ⑤application对象 全局的上下文对象,(ServletContext对象)
- ⑥pageContext对象 当前JSP页面上下文
- ⑦page对象 JSP页面本身,了解即可,不常用
- ⑧config对象 Servlet配置对象(ServletConfig对象)
- ⑨exception对象 捕获网页(jsp页面)异常
request隐式对象
- ①获取请求参数
- ②作为域对象存储值(注意域的范围)
- ③获取Cookie对象
<%@page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>演示JSP中的九大隐式对象</title>
</head>
<body>
<!-- request隐式对象 -->
<!-- 1、获取请求参数 -->
参数id的值为: <%=request.getParameter("id") %>
参数name的值为:<%
String strName=request.getParameter("name");
out.println(strName);
%>
<!-- 2、作为域对象来存取值 -->
<%
request.setAttribute("age",100);
//在当前JSP页面中从request域对象中取值(上下的代码是属于一次请求下来的)
Integer itgAge=(Integer)request.getAttribute("age");
out.println(itgAge);
//转发,转到到另外一个jsp页面(请求从一个jsp页面开始,到转到的另外一个jsp页面结束)
RequestDispatcher rd=request.getRequestDispatcher("MyJsp03.jsp");
rd.forward(request,response);
%>
<!-- 使用request隐式对象获取域对象存储的值 -->
获取的年龄为:<%=request.getAttribute("age") %>
<!-- 方式2 -->
<%
out.println(request.getAttribute("age"));
%>
<!-- 方式3 -->
<%
Integer itgAge=(Integer)request.getAttribute("age");
out.println(itgAge);
%>
<!-- 通过request隐式对象获取Cookie对象 -->
<%
Cookie c1=new Cookie("a","1");
Cookie c2=new Cookie("name",URLEncoder.encode("你好","utf-8"));
//添加Cookie
response.addCookie(c1);
response.addCookie(c2);
%>
<!-- 使用request来获取Cookie对象中的数据 -->
<%
Cookie[] cs=request.getCookies();
for(int i=0;i<cs.length;i++){
Cookie c=cs[i];
out.println(c.getName()+","+URLDecoder.decode(c.getValue(),"utf-8")+"<br/>");
}
%>
</body>
</html>