•向客户端输出中文数据 

 
用PrintWriter(字符流)发送数据:
示例:response.getWriter().write(“中国”);有没有乱码?
原因:以默认编码发送数据ISO-8859-1(没有中国二字编码),此时会发生乱码
解决办法:
setCharacterEncoding(“UTF-8”);//更改编码为UTF-8
response.setHead(“Context-type”,”text/html;charset=UTF-8”);//告诉客户端编码方式
注意:不要忘记告诉客户端的编码方式。
由于经常改动编码,response提供了一种更简单的方式
response.setContentType(“text/html;charset=UTF-8”);其作用相当于以上两条代码。

 

  •通过response实现请求重定向。 

 

  –请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。 

 

  •地址栏会变,并发送2次请求,增加服务器负担 

 

  •实现方式 

 

  –response.sendRedirect() 

 

  –实现原理: 

 

  •302/307状态码和location头即可实现重定向 

 

-----------------------------------------------------------------------------------------------------------------
//response细节
 

  •getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOuputStream、Printwriter对象。 

 

  •getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。  会抛异常。 

 

  •Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。 

 

  •Serlvet的service方法结束后,Servlet引擎将检查getWriter或getOutputStream方法返回的输出流对象是否已经调用过close方法,如果没有,Servlet引擎将调用close方法关闭该输出流对象。  

 


 

  •HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。 

 
 
 
 

  ---------------------------------------------------------------------------------------------------------- 

 

  //response常用方法 

 

   •获得客户机信息 
 
 
 

   –getRequestURL方法返回客户端发出请求时的完整URL。 
 
 
 

   –getRequestURI方法返回请求行中的资源名部分。 
 
 
 

   –getQueryString 方法返回请求行中的参数部分。 
 
 
 

   –getRemoteAddr方法返回发出请求的客户机的IP地址 
 
 
 

   –getRemoteHost方法返回发出请求的客户机的完整主机名 
 
 
 

   –getRemotePort方法返回客户机所使用的网络端口号 
 
 
 

   –getLocalAddr方法返回WEB服务器的IP地址。 
 
 
 

   –getLocalName方法返回WEB服务器的主机名 
 
 
 

   –getMethod得到客户机请求方式 
 
 

 

  •获得客户机请求头 

 

  –getHead(name)方法 

 

  –getHeaders(Stringname)方法 

 

  –getHeaderNames方法 

 

  •获得客户机请求参数(客户端提交的数据) 

 

  –getParameter(name)方法 

 

  –getParameterValues(Stringname)方法 

 

  –getParameterNames方法 

 

  –getParameterMap方法  //做框架用,非常实用 

 

----------------------------------------------------------------------------------------------------------------------