# 表单

<from action="指定要传到的地方" method="提交表单的方式">
    <input type="类型" name="用来获得这个值的id" value="默认值">
</from>

提交表单的方式(常见):get、post

JSP 获得表单的内容

< %
   // 获取表单中name="id"的单元格输入内容给str 
   String str = request.getParament("id");
   % >

获取复选框或者多选列表中的值

< %
   String[] str = request.getParamentValues("id");
   % >

# JSP 内置对象

JSP 规范中定义了 9 中内置对象:

  1. out 对象:负责管理对客户端的输出
  2. request 对象:负责得到客户端的请求信息
  3. response 对象:负责向客户端发送请求
  4. session 对象:负责保存同一客户端一次会话过程中的一些信息
  5. application 对象:表示整个应用的环境信息
  6. exception 对象:表示通过页面上发生异常,可以通过他获得页面的异常信息
  7. page 对象:表示当前 JSP 页面本身,类似于 Java 中的 this
  8. pageContext 对象:表示此 JSP 上下文
  9. config 对象:表示此 JSP 的 ServletConfig

# out 对象

  1. print () 和 println (),前一个不换行,后一个输出完括号里面的内容后,下一次输出会换行,但是在网页上并不会换行,网页上换行还得 <br>
  2. close ():关闭输出流,强制终止当前页面的剩余部分向浏览器输出
  3. clearBuffer ():清除缓冲区里的数据,并且把数据写到客户端去
  4. clear ():清除缓冲区里的数据,并且把数据写到客户端去
  5. getRemaining ():获取缓冲区没有被占用的大小
  6. flush ():输出缓冲区的数据(在把数据输出给客户端之后,会把缓冲区的数据删除)
  7. getBufferSize ():获得缓冲区的大小

# request 对象

  1. getMethod ():得到请求方式
  2. getRequestURL ():得到请求的 URL 地址
  3. getProtocol ():得到协议名称
  4. getServletPath ():得到客户端请求服务器文件路径
  5. getQueryString ():得到 URL 的查询部分,对于 post 提交,不会得到任何东西
  6. getServerName ():得到服务器的名称
  7. getServerPort ():得到服务器的端口
  8. getRomteAddr ():得到客户端的 IP

# response 对象

可以利用 response 对象进行重定向

response.sendRedirect(目标页面路径)

重定向的方法主要有两种:response.sendRedirect forward

区别:

  1. 从浏览器地址显示来看

    forword 方法属于服务器请求资源,服务器直接访问目标地址,对该目标地址的响应内容进行读取,再把读取的内容发送给客户端浏览器,因此浏览器的地址不变

    Redirect 方法是告诉客户端,使得浏览器知道去请求哪一个地址,相当于客户端重新请求,所以浏览器地址会显示

  2. 从数据共享来看

    forword 方法使得跳转的页面可以共享之前页面 request 里面的数据

    Redirect 方法不能共享

  3. 从功能上来看

    forword 方法只能在同一个 Web 应用程序内的资源之间的转发请求,服务器的内部操作,不可定位到其他应用程序上

    Redirect 方法能够重定向到当前应用程序的其他资源、能够重定向到同一个站点上的其他应用程序中的资源、能通过绝对地址重定向到其他站点的资源

  4. 从效率上看

    forward 效率更高,因为它仅仅只在本服务器上跳转

    Redirect 方法的效率相对较低,因为相当于客户端又发送了一次请求

# Cookie 操作

Cookie说明

cookie 是一个小的文本数据,由服务器端产生,发送给客户端浏览器,如果客户端浏览器设置为启用 Cookie,则会将这个小的文本数据保存到某个目录下的文本文件内,下次登录同一个网站,客户端浏览器会自动将 cookie 读入之后传给服务器端。在一般情况下,Cookie 中的值是以 key-value 的形式进行表达的

在写 cookie 时主要用到以下的方法:

  • response.addCookie (Cookie C):通过该方法将 Cookie 写入客户端
  • Cookie.setMacAge (int second):通过该方法设置 Cookie 的存活时间,参数为秒