erverPort(), getRemoteUser(),getRemoteAddr(),getRemoteHost()等来获得服务器的各个参数。
3.3 response
用于向客户端发送数据,如 Cookie,HTTP 文件头信息等。 主要方法: ?addCookie(Cookie ck) 添加一个 Cookie 对象,用来保存客户端的用户信息。 ?addHeader(String name , String value) 添加一个 HTTP 文件头,该 HTTP 文件头会传到客户端去。 ?setHeader(String name , String value) 设定指定名字的 HTTP 文件头的值。 ?sendRedirect(String url) 将当前页面重定向到 url 指定的页面。
3.4 Application
用来在多个用户之间保存全局共享信息。也就是说,
一个 Web 应用可以有多个用户, 但所有这些用户的 Application 对象都是相同的, 一个 Web 应用只能有一个 Application 对象。 Application 对象保存的是属性/值对。 主要方法: ?getAttribute(String name) 返回由 name 指定的属性的值,这是个 Object 对象。 ?setAttribute(String name, Object object) 用 object 来初始化 name 指定的属性。
3.5 Session
与 Application 对象不同,它用来保存个人信息。Application 对象用于在多个用户之间 保存信息,每个用户的 Application 对象都是相同的,每个用户都具有 Application 对象的一 个拷贝;但是不同的用户的所对应的 Session 对象不同,当用户登录网站时,
系统会为它生 成一个独一无二的 Session 对象来记录该用户的个人信息,一旦该用户退出网站,那么该 Session 对象将会被注销。它可以在不同的页面之间传递信息,对于那些希望通过多个页面 完成一个事务的应用是非常有用的。 主要方法: ?getAttribute(String name) 返回由 name 指定的属性的值,这是个 Object 对象。 ?removeAttribute(String name) 删除 name 指定的属性
?setAttribute(String name , Object value) 设定指定名字的属性值,并且把它存储在 Session 对象中。 为说明 Session 对象的具体应用,接下来我们用三个页面模拟一个多页面的 Web 应 用。 第一个页面( q1.html )仅包含一个要求输入用户名字的 HTML 表单,代码如下: <%@page contentType="text/html;charset=gb2312"%>
第二个页面 q2.jsp 通过 request 对象提取 q1.html 表单中的 yourname 值, 将它存储为 name 变量,然后将这个 name 值保存到 s