第四章 JSP内置对象

目录

前言

一、request对象

二、response对象

2.reponse的重定向

三、session 对象 

1.session对象的id

2. session对象与URL重写

3.session对象存储数据

四、application对象

1、application对象的常用方法

总结


前言

在JSP页面中,有一些对象需要频繁使用,如果每次都重新创建这些对象则会十分麻烦。为了简化Web应用程序的开发,JSP规范中提供了9个隐式(内置对象),它们是JSP默认创建的,可以直接在JSP页面中使用,本章主要介绍四个JSP内置对象。

一、request对象

在JSP中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。

内置对象request对象是实现了ServletRequest接口类的一个实例,可以在Tomcat服务器的webapps\tomcat-docs\servletapi中查找ServletRequest接口的方法

 常用的request对象方法包括: - getParameter():获取指定参数的值。 - getParameterValues():获取具有多个值的参数的值。 - getParameterMap():以Map形式返回所有参数。 - getAttribute():获取指定属性的值。 - setAttribute():设置指定属性的值。 - getServerName():获取服务器的名称。 - getServerPort():获取服务器的端口号。

在page.jsp页面中可以使用request.getParameter("username")方法获取传递的用户名。另外,也可以使用JSP中的JSTL标签库中的c:url标签生成URL链接,例如: 

<c:url value="page.jsp" var="url">
  <c:param name="username" value="Tom" />
</c:url>
<a href="${url}">点击这里</a>

 

二、response对象

response对象中的contentType属性是用于设置响应结果的MIME类型,也称为内容类型。例如,设置contentType为"text/html"表示响应结果是HTML文本。可以使用setContentType方法来设置contentType,例如: 

response.setContentType("text/html");

 response对象中的HTTP文件头可以使用setHeader()方法设置,例如,可以通过以下代码设置Content-Disposition文件头:

response.setHeader("Content-Disposition", "attachment;filename=file1.txt");

2.reponse的重定向

在某些情况下,如果用户输入的form表单信息不完整,可以通过response的sendRedirect(URL url)方法实现用户的重定向,即让用户从一个页面跳转到sendRedirect(URL: url)中url指定的页面。需要注意的是当使用sendRedirect(URL url)方法将用户从当前页面重定向另一个页面时,Tomcat服务器还是要把当前JSP页面执行完毕后才实施重定向(跳转)操作,但Tomcat服务器不再给用户看当前页面的执行效果。如果在执行sendRedirect(URL url)方法后,紧接着执行了return返回语句,那么Tomcat服务器会立刻结束当前JSP页面的执行。例如:

response.setStatus(302);
response.setHeader("Location", "http://www.example.com/newPage.jsp");

三、session 对象 

1.session对象的id

当一个用户首次访问Web服务目录中的一个JSP页面时,Tomcat服务器产生一个session对象,这个session对象调用相应的方法可以存储用户在访问该Web服务目录中各个页面期间提交的各种信息,比如姓名、号码等信息。这个session对象被分配了一个String类型的id号,Tomcat服务器将这个id号发送到用户端,存放在用户的Cookie中,这样,session对象和用户之间就建立起一一对应的关系,即每个用户都对应着一个session对象(称作用户的会话),不同用户(不同浏览器)的session对象互不相同,具有不同的id号码。 当用户再访问该Web服务目录的其它页面时,Tomcat服务器不再分配给用户的新session对象,而是使用完全相同的一个,直到session对象达到了最大生存时间或用户关闭自己的浏览器或Tomcat服务器关闭,Tomcat服务器将销毁用户的session对象

2. session对象与URL重写

Session对象与URL重写:另一种获取Session ID 的方法是使用URL重写。在URL重写中,服务器将Session ID 添加到每个URL中,然后将响应发送回客户端。客户端接收到响应后,将使用包含Session ID 的URL 发送后续请求。下面是一个使用URL重写获取Session ID 的示例代码:

 HttpSession session = request.getSession();
   String sessionId = session.getId();
   String url = response.encodeURL("next.jsp");
   out.println("<a href=\"" + url + "\">Click here</a>");
%>

3.session对象存储数据

(1) public void setAttribute (String  key ,Object  obj)。 session对象可以调用该方法将参数Object指定的对象obj添加到session对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。

(2) public Object getAttribute(String key)。获取session对象索引关键字是key的对象。由于任何对象都可以添加到session对象中,因此用该方法取回对象时,应显式转化为原来的类型。 

(3) public Enumeration gerAttributeNames()。session对象调用方法产生一个枚举对象,通过nextElements()遍历session中的各个对象所对应的关键字。 

(4) public void removeAttribute(String key)。session对象调用方法移除关键字key对应的对象。

四、application对象

application对象是在JSP中的一个内置对象,代表的是整个Web应用程序。它的常用方法包括: 1. getAttribute(String name):获取指定名字的属性值。 2. setAttribute(String name, Object value):设置指定名字的属性值。 3. removeAttribute(String name):删除指定名字的属性值。 4. getInitParameter(String name):获取指定名字的初始化参数值。 5. getServletContext():获取ServletContext对象。 

1、application对象的常用方法

public void setAttribute(String name, Object object):将一个对象绑定到application对象中,以name为属性名。

public Object getAttribute(String name):从application对象获取指定属性名对应的对象。

public void removeAttribute(String name):从application对象中删除具有指定属性名称的属性。

public Enumeration getAttributeNames():获取application对象中所有属性名的枚举。

public String getServerInfo():返回与Web服务器相关的信息,如服务器名称、版本等
 


总结

以上就是今天要讲的内容,本文仅仅简单介绍了JSP内置对象的使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值