javaweb 常用内置对象

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):向客户端加加Cookie
public 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 ID
public 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置置初始化参数
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值