手记

response的应用--学习笔记

1. response的应用

2)1)web容器会传入与web容器相关的HttpServletRequest和HttpServletResponse对象的实现
2)每次浏览器请求,web容器会创建新的请求和响应对象,这二个对象的生命周期仅限于web容器内
3)对于字节方式来说,输出数字,respnse会编查ISO8859-1编码表,将码表的中的数字对应的字符取出来显示,即遇数字转字符
4)如果要输出数字,提前将数字转化成字符串
5)对于字符方式来说,可以直接输出数字
6)将中文转成字节数组时,查UTF-8码表,如果不写的话,默认查ISO8859-1码表  
7)以字符方式输出中文,提前设置编码方式;以字节方式输出中文,提前设置转化编码方式
字符:
response.getOutputStream().write("中国".getBytes("UTF-8"));
字节:
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("美国");
8)HTML中的所有<meta/>标签,类似于response.setHeader(),目的是通知浏览器以特定的方式显示页面的信息
如:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
9)重定向是客户端和服务端的共同行为,
response.sendRedirect("/day06/message.html")其中/表示webapps目录

*   response细节

1)以字符或字节方式输出内容的话,只能使用其中一种
2)响应头会以叠加的方式设置,在相同的情况下,后者起决定作用
3)在没有关闭流的情况下,web容器帮你自动关闭所有从response中取得IO流
`public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

    //getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOuputStream、Printwriter对象。    ///response.getOutputStream().write("abc".getBytes());      //response.getWriter().write("ABC");    response.setContentType("text/html;charset=UTF-8");    response.setContentType("text/html;charset=GBK");    PrintWriter pw = response.getWriter();    pw.write("美国");    pw.flush();    pw.close();}`

* request应用

1)表示web浏览器向web服务端的请求
2)url表示访问web应用的完整路径:http://localhost:8080/day/Demo1
uri表示访问web应用的资源路径:/day/Demo1
queryString表示?开头的参数;name=jack
pathInfo:路径之外的信息,如果没有,返回null

    `

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Rdome1 extends HttpServlet {

/** * http://localhost:8080/day04/Rdome1?name=liwen回车 *  * */public void doGet(HttpServletRequest request, HttpServletResponse response)        throws ServletException, IOException {    //方法返回客户端发出请求时的完整URL。    String url = request.getRequestURL().toString();    //方法返回请求行中的资源名部分。    String uri = request.getRequestURI();    //方法返回请求行中的参数部分。    String query = request.getQueryString();    //方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。    String pathInfo = request.getPathInfo();    System.out.println("url=" + url);    System.out.println("uri=" + uri);    System.out.println("query=" + query);    System.out.println("pathInfo=" + pathInfo);  }

}
`

0人推荐
随时随地看视频
慕课网APP