JSP内置对象

  1. 内置对象的作用范围

Application的作用范围(Application_Scope):从服务器运行到服务器关闭。
Session的作用范围(Session_Scope):是在客户端和服务器连接开始,道连接中断为止。
Request作用范围(Request_Scope):指在一个JSP页面向另一个JSP页面提出请求到请求完成之间。
Page作用范围:作用范围是当前页面。
Page的常用方法:

方法说明
setAttribute(String name,Object value)设置name的属性值为value
getAttributrNames()获取所有属性名
getAttribute(name)获取属性名为name的属性的值
removeAttribute(name)删除属性姓名为name的属性值
  1. out对象

out对象常用的方法:

方法返回类型说明
close()void关闭输出流,清空所有内容
newLine()void输出一个换行字符
print()void输出一行信息,不自动换行
println()void输出一行信息,自动换行
  1. request对象

隐含对象request是javax.servlet.HttpServletRequest接口实现类的对象,代表从客户端用户发送过来的请求。使用request对象可以获取客户端的信息以及用户提交的数据或参数。每次客户端请求都会产生一个request实例,请求结束后销毁request。

获取客户端信息的常用的方法:

方法返回类型说明
getCharacterEncoding()String返回字符编码格式
getContextPath()String返回指明请求context的请求URL的部分
getCookies()Cookie[]返回客户端所有Cookie对象数组
getHeader(String name)String获取HTTP协议定义的头信息
getHeaderNames()Enumeration获取所有HTTP协议定义的头文件名称
getHeaders (String name)Enumeration获取request指定头文件的所有值的集合
getRequestURL()StringBuffer获取requestURL,但不包括参数字符串
getRequestURL()String返回该请求消息的URL中HTTP协议第一行里从协议名称到请求字符串的部分

获取请求参数的常用方法:

方法返回类型说明
getAttribute(String name)Object返回name指定的属性值,如果不存在该属性则返回null
getAttributeNames()Enumeration返回request对象的所有属性的名字
setAttribute(String name,Object object)void设置名字为name的request参数的值,该值由object决定
getParameter(String name)String获取客户端传送给服务器的参数值,参数由name属性决定
getParameterNames()Enumeration获取客户端传送给服务器的所有参数名
getParameterValues()String[]获取指定参数的所有值

JSP中文乱码问题:
原因:
     在使用request对象获取请求参数时,使用默认的编码格式ISO-8859-1,但是在JSP页面中一般采用的编码格式时UTF-8,这就导致了请求的文字编码格式与页面中的编码格式不一致。
解决方案:

<%
    String name = request.getParameter("uname");
    String userName = new String(name.getBytes("ISO-8859-1"),"UTF-8");//解决中文乱码
    out.println("用户名:"+request.getParameter("uname"));//乱码的
    out.println("yonghuming:"+userName);//正常显示
%>
  1. response对象

response概述:
每次服务器端都会相应一个response实例。response对象经常用
于设置HTTP标题、添加Cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL…


response重定向:

<%
    String user = request.getParameter("uname");
    String username = new String(user.getBytes("ISO-8859-1"),"UTF-8");
    String pwd = request.getParameter("upwd");
    if(user.equals("")||pwd.equals("")||user==null||pwd==null){
        //用户名或密码为null或“ ”时,重定向到登陆页面
        response.sendRedirect("user.jsp");
    }else{
        out.println(username+"登录成功!");
    }
%>
  1. session对象

概述:
隐含对象session是javax.servlet.http.HTTPSession接口实现类的对象。在Web开发中,服务器为每一个用户浏览器创建一个会话对象,即session对象。默认情况下一个浏览器独占一个session对象。
常用对象方法:

方法返回类型说明
getAttribute(String name)Object获取指定名字的属性
getAttributeNames()Enumeration获取session中所有的属性名称
setMaxInactiveInterval(int interval)void设置最大的session活动时间,如超过该时间,session自动失效,时间单位秒
removeAttribute(String name)void删除指定名字的属性
setAttribute(String name,Object object)void设定指定名字属性的属性值,并存储在session对象中

销毁session:
(1):通过session对象的invalidate()方法,即:

session.invalidate();

(2):超过session的最大有效时间
(3):服务器进程被停止,session失效。

  1. session跟踪

(1)URL重写:
通过request对象的getParameter()方法获取参数,从而实现session的跟踪。
(2)表单隐藏字段:

<input type="hidden" name="..." value="...">

(3)Cookie:…
(4)HttpSession对象:…

  1. application对象:…
  2. page对象:…
  3. pageContext对象:…
  4. config对象:…
  5. exception对象:…
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值