JSP内置对象

JSP使用Java作为脚本语言具有强大的对象处理能力,可动态创建Web页面内容。Java语法在使用一个对象前,需先实例化对象,这是一件比较繁琐的事情。

JSP为简化开发提供了内置对象,用来实现JSP应用。使用JSP内置对象时,无需先定义这些对象,直接使用即可。

JSP提供由容器实现和管理的内置对象(隐含对象),内置对象无需通过JSP页面编写来实例化,在所有JSP页面中都可以直接使用。

JSP预定义9个对象,分别是 request、response、session、application、out、pageContext、config、page、exception。

request 对象

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

访问请求参数

# index.jsp
删除

# delete.jsp
<%
//若参数id不存在则返回null,若指定参数名为指定参数值则返回空字符串。
String id = request.getParameter('id');//返回字符串的1
String username = request.getParameter('username');//返回空字符
String password = request.getParameter('password');//返回null
%>

作用域中管理属性

在进行请求转发时,需把数据传递到转发后的页面进行处理。request对象的setAttribute()方法将数据保存到request范围内的变量中。通过request对象的getAttribute()方法获取该变量的值。

request.setAttribute(String name, Object object);
// 变量名name仅在request范围内有效
requset.getAttribute(name);

使用try...catch捕获异常信息,若无异常则将运行结果保存到requst范围内的变量中。若出现异常,则将错误提示信息保存到request范围内的变量中。

# index.jsp

<%
try{
  int money = 100;
  int number = 0;
  request.setAttribute("result", money/number);
}catch(Exception e){
  requst.setAttribute("result", "很抱歉,页面发生错误!");
}
%>

getAttribute()方法返回值为Object类型,对于字符串的数据需调用toString()将其转换为字符串。

# deal.jsp
<%
String result = request.getAttribute('result').toString();
%>

<%=result%>

获取cookie

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

  • 通过cookie对象的getCookies()即可获取所有的cookie对象的集合
  • 通过cookie对象的getName()可获取指定名称的cookie
  • 通过cookie对象的getValue()可获取到cookie对象的值
  • 通过request对象的addCookie()将一个cookie对象发送到客户端
<%@ page import="java.net.URLDecoder" %>

<%
// 从request对象中获取cookie对象的集合
Cookie[] cookies = request.get Cookies();

if(cookies!=null){
  for(int i=0; i

你可能感兴趣的:(JSP内置对象)