Servlet四种访问属性--知识点

Servlet 四种属性访问

    -设置属性: public void setAttribute(String name , Object value);
    -取得属性: public ObjectgetAttribute(String name);
    -删除属性: public removeAttribute(String name);

属性名字不能重复(重复就会覆盖),value可以保存所有的java类型
在jsp有4个对象有以上3个方法: pageContext request session application

四种属性的范围

1.page(pageContext)

    设置本页面的属性,并且可以直接在本页面取得
    一旦发生跳转,在第一个页面三所设置的属性将不会继续保留到其他页面

2.request

服务端跳转,request属性可以一直保留下来
客户端跳转(地址栏发生改变),request属性不会传递

★服务器端跳转与客户端跳转的最大使用区别:服务器端跳转可以传递request,客户端跳转不能传递request★

3.session

只要设置了session属性,所有与之相关联的所有页面都可以访问.浏览器关闭session设置的属性就会丢失掉.

★session描述的是一个个用户的信息,每个用户信息彼此独立

3.application

设置application属性 所有的用户都可以访问,只有关闭服务器才会丢失

pageContext

javax.servlet.jsp.PageContext类 重载方法

设置属性: public abstract void setAttribute(String name , Object value,int scope);
取得属性: public abstract ObjectgetAttribute(String name,int scope);
删除属性: public abstract removeAttribute(String name,int scope);

对于scope属性取值定义了四种

● PAGE 属性范围: public static final int PAGE_SCOPE ,值为1
● REQUEST 属性范围:public static final int REQUEST_SCOPE,值为2
● SESSION 属性范围:public static final int SESSION_SCOPE,值为3
● APPLICATION 属性范围:public static final int APPLICATION_SCOPE,值为4

request

1.request内置对象所属接口的继承形式

    request主要作用:服务器端接收客户端发送过来的请求参数----通过getParameter();
    request属于javax.servlet.http.HttpServletRequest接口对象
        [public interface HttpServletRequestextends ServletRequest]
    HttpServletRequest属于javax.servlet.ServletRequest的子接口,专为http协议提供的            

2.request内置对象常用操作方法

    request接收参数的方法由父接口ServletRequest提供

3.request乱码解决

public String getMethod()
返回用于发出此请求的 HTTP 方法的名称,例如 GET、POST 或 PUT。 
    GET请求 (直接输入网址,访问表单)--编码方式是ISO8859-1
    POST请求 : 提交请求(表单上使用)---统一请求编码 设置字符的请求编码
                public void setCharacterEncoding(String env) ;
● 关于POST与GET的区别

※POST主要用在表单上处理路径只是提交路径不会改变

※只要是用户直接进行页面访问,那么请求类型一定是GET
请求,它会把所有的请求参数附加到表单的访问路径上,所以不能传递过多的类容

● request 其他操作方法
※取得上下文路径:public String getContextPath();
返回整个虚拟目录的映射路径
※取得ip地址:public String getRemoteAddr();
ps:异地登录运用.
※取得协议模式:public String getScheme();
※取得服务器名字:public String getServerName();
※取得端口号:public String getServerPort();

猜你喜欢

转载自blog.csdn.net/kikock/article/details/80842287
今日推荐