Jsp数据交互

                                                                                                           第二章    Jsp数据交互

1. 什么是Jsp内置核心

    Java内置对象  Java作用域

2.什么是内置对象

    就是Web容器创建一组对象

3.Jsp中九大内置对象

    request    请求对象

    out           输出对象

    response 响应对象

    application 应用程序对象

    session  会话对象

    pageContext 页面上下文对象

    page 页面对象

    config  配置对象

    exception  异常对象

4.request对象常用方法

   String getParameter(String name) 根据表单组件名称获取提交数据

   String []getParameterValues(String name)获取表单组织对应多个值时的请求数据

    void  setCharacterEncoding(String charset)指定每个请求的编码

    RequestDispatcher  getRequestDispatchaer(String path)返回一个requestDispatcher对象该对象的forward()方法用于转发请求

5.通过form表单给服务器提交数据的时候,如果提交的是中文数据,那么可能会出现乱码,如果表单的请求方式是post请求,那么可以使用如下方案解决乱码:
 在调用getParameter()之前,设置请求对象request的编码方式。
 <% request.setCharacterEncoding("utf-8");%>
  如果是通过get方式提交的form,两种处理乱码方案:
 通过new String(str.getBytes(“iso-8859-1”),”utf-8”);
 这种方式的缺点,每获取到一个用户提交的数据就要进行一道转换
 通过conf下的server.xml文档的
              <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEcoding=”utf-8” />    

6.常见的错误码 (响应)
 404:服务器上找不到请求资源页面
 500:服务器内部错误

7.重定向

如果想从一个页面重定向到另一个目标页面,这个时候使用的是response.sendRedirect(“目标地址”);

8.转发

如果想从一个页面重定向到另一个目标页面,这个时候使用的是转发操作,

request.getRequestDispatcher("main.jsp").forward(request,response);

9.重定向和转发的区别

重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
          怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择重定向。

转发和重定向的区别
不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。

10.session对象常用方法

 void setAttribute(String key Object value) 以key/value的形式保存对象值

 Object getAttribute(String key)通过Key获取对象值

 void invalidate 设置session对象失效

 String getid(获取session)

  void setMaxinactiveinteral(int interval) 设置sessionn非活动时间

  int getMaxina ctiveinvelnnterval() 获取session的有效非活动时间

  void  removeAttribute(String key)从session中删除指定名称(key)所对应对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值