javaweb 常用内置对象

来源:互联网 发布:中文翻译拼音软件下载 编辑:程序博客网 时间:2024/06/11 15:32

1.作用范围

pageContext:页面容器,默认在当前页面中起作用
request:在一次服务器跳转中有效。通过超链接跳转,地址栏改变,属于客户端跳转,request无效。request表示客户端的请求,一次请求服务器只会给予一次回应。如果请求的同时地址栏改变了,它也相当于一次请求,那么第一次请求的内容就已经消失了,无法取得。
session:在一个浏览器中始终有效。每一个新的浏览器连接上服务器后就是一个新的session,表示每一位不同的上网者各自的属性,所以新的浏览器打开后无法取得其它session设置的属性。
application:在同一台服务器活动范围内所有用户可见,不管何种跳转。不过设置过多会影响服务器性能。

注意:<jsp:forward page=""/>属于服务器跳转,无条件直接跳转
response.setHeader()和response.sendRedirect()通过头信息跳转方式的属于客户端跳转
只有服务器端跳转才能够将request范围的属性保存到跳转页
如果使用的是服务器跳转,则执行到跳转语句时会立刻进行跳转;如果使用客户端跳转,则是在整个页面执行完之后才执行跳转。

2.各内置对象常用法法

pageContext进行属性设置,方法:
public abstract void setAttribute(java.lang.String name,java.lang.Object o,int scope)
第四个参数指定page属性范围。较少使用。

内置对象共有方法:

public void setAttribute(String name,Object c):设置属性的名称及内容
public Object getAttribute(String name):根据属性名称
public void removeAttribute(String name):删除指定的属性

1).request对象
方法:

public String getParameter(String name):接收客户端发来的请求参数内容public String[] getParameterValues(String name):取得客户端发来的一组请求参数内容public Enumeratioin getParameterNames():取得全部请求参数的名称void setCharacterEncoding(String env):设置统一的请求编码public Httpsession getSession():取得当前的session对象public String getContextPath():取得上下文资源路径

eg:

Enumeration enu = request.getParameterNames();while(enu.hasMoreElements()){     String paramName = (String)enu.nextElement();     if(paramName.startsWith("**"){           String[] paramValue = request.getParameterValues(paramName);           for(int x=0;x<paramValue.length;x++){                System.out.println(paramValue[x]);           }      }else{           String paramValue = request.getParameter(paramName);           System.out.println(paramValue);       }}

2).response对象

方法:public void addCookie(Cookie cookie):向客户端加加Cookiepublic void setHeader(String name,String value):设置回应的头信息public void sendRedirect(String location):页面跳转

eg:

response.setHeader("refresh","2;URL=XXX.html");//两秒后跳转

3).Cookie对象

方法;public Cookie(String name,String value):实例化Cookie对象,同时设置Cookie的名称和内容public String getName():取得Cookie的名称public String getValue():取得Cookie的内容public void setMaxAge(int expiry):设置Cookie的保存时间,以秒为单位

4).Session对象

public String getId():取得Session IDpublic boolean isNew():判断是否是新的session(新用户)public void invalidate():让session失效public Enumeration getAttributeNames():得到全部属性的名称

5).application对象

方法:String getRealPath(String path):得到虚拟目录对应的绝对路径,常用于文件上传,确保绝对路径有效

6).config对象

方法:public String getInitParameter(String name):取得指定名称的初始化参数内容public Enumeration getInitParameterNames():取得全部的初始化参数名称需要修改web.xml置置初始化参数
0 0
原创粉丝点击