JSP的9大内置对象(一)

jsp的9大内置对象

1.out对象

out对象用于在web浏览器内输出信息,并管理应用访问器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭数据流。

1.1 out对象常用方法

out对象常用方法
print()方法向客户端浏览器输出信息(不换行)
println()方法向客户端浏览器输出信息(换行)
clear()方法清除缓冲区中的内容
clearBuffer()方法清除当前缓冲区的内容
flush()方法刷新流
isAutoFlush()检测当前缓冲区已满时是自动清空,还是抛出异常
getBufferSize()获取缓冲区的大小
getRemaining()返回缓冲区还剩下多少字节数可以使用
close()关闭输出流

1.2 在servlet中使用out对象

先创建对象,再调用方法

PrintWriter  out =response.getWriter();

out.println();

2. Request对象

       request对象封装了由客户端生成的HTTP请求的所有细节,主要包括http头信息、系统信息、请求方式、请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。

2.1 Request对象的常用方法

getParameter(String name)获取传递的参数值或input标签中name属性为name的表单值
setAttribute(String name,Object object)将数据保存在request域中
getAttribute(String name)从request域中获取数据
setCharacterEncoding(String  arg)设置字符编码
getHeader(String name)获得HTTP协议定义的文件头信息
getHeaders(String name)返回指定名字的request Header 的所有值,其结果是一个枚举型的实例
getHeadersNames(String name)返回所有request Header的名字,其结果是一个枚举型的实例
getMethod()获得客户端向服务器端传送数据的方法,如get、post、header、trace等
getProtocol()获得客户端向服务器端传送数据所依据的协议名称
getRequestURL()获取发出请求字符串的客户端地址
getRequestURI()获取发出请求字符串的客户端地址,不包括请求的参数
getRealPath()返回当前请求文件的绝对路径
getRemoteAddr()获取客户端的IP地址
getRemoteHost()获取客户端的主机名
getServerName()获取服务器的名字
getServerPort()获取服务器的端口号
getServletPath()获取客户端所请求的脚本文件的文件路径
isUserInRole(String role)返回一个布尔值,指示某个授权用户是否包含在某个具体的逻辑角色role中
getQueryString()返回HTTP GET请求信息中URL之后的查询字符串
getContentType()返回请求实体的MIME类型
getPathInfo()返回有关任何路径信息
getCookies()从request中获得cookie对象的集合
getParameterNames()将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举
getParameterValues(name)获取所有form标签中name属性为”name”的值.该方法返回一个数组.遍历数组就可得到所有表单的value值.
request.getRequestDispatcher("goodsDetail.jsp").forward(request, response);请求转发,带着request跳转到新页面

2.2 request.getParameter(String name)使用详解

使用情景1--------------超链接传值

前台页

<a href="deal.jsp?id=1&user=bob">处理页</a>

处理页

<%

    String id = request.getParameter("id");//获取id参数的值

    String user=request.getParameter("user");//获取user参数的值

%>

使用情景2---------------表单传值

前台页

<form action="deal.jsp" method="post">

    <input name="uid"  type="text"/>

    <input name="pwd"  type="text"/>

    <input   type="submit"/>

</from>

后台页

<%

   String uid = request.getParameter("uid");//获取name属性为uid的表单的值

   String pwd = request.getParameter("pwd");//获取name属性为pwd的表单的值

%>

2.3 详解Request.setAttribute()与Request.getAttribute()

页面1

<%

int  money=10;

int number=3;

request.setAttribute("result",money/number);//将数据保存在request域中

%>

页面2

<%

String message=request.getAttribute("result").toString();//从request域中获取数据

%>

2.4 获取Cookie

页面1----添加cookie

<%

    String username="bob";

    Cookie cookie = new Cookie("myCookie",username);//创建并实例化cookie对象

    cookie.setMaxAge(60*60*24*30);//设置cookie有效期30天

    response.addCookie(cookie);//保存cookie

%>

页面2----获取cookie

<%

  Cookie[] cookies =requset.getCookie();//先用request获取cookie对象,返回值是一个数组

  if(cookies !=null){
     for(int i=0;i<cookies.length;i++;){
        if(cookies[i].getName().equals("myCookie")){//如果cookie对象名为myCookie
             user=cookies[i].getValue();//获取用户名

          }

     }

}

%>

2.5 request 解决中文乱码

法一

<%

    request.setCharacterEncoding("UTF-8");

%>

法二

<%

  String  username = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");

%>

   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThinkPet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值