20150203-ServletResponse和ServletRequest

来源:互联网 发布:手机淘宝怎么提交改价 编辑:程序博客网 时间:2024/04/25 09:39

ServletResponse:服务器对浏览器做出的响应,将需要发送给浏览器的所有数据全部存放在此对象上。

发送数据,使用流操作,将所需要的数据,存放在指定的流中,数据将显示到浏览器中。==>字节流response.getOutputStream(); 字符流response.getWriter();

// * 获得字节流ServletOutputStream out = response.getOutputStream();==>// * 准备数据long data = new Date().getTime() ;  //"Hello World !!!";==>// * 将数据写入到获得的字符流中out.print(data);

// * 获得PrintWriter out = response.getWriter();==>// * 数据String date = new Date().toString();// * 发送数据到浏览器out.print(date);

(Tomcat服务器会对流进行关闭。

==========

java.lang.IllegalStateException-->当使用getOutputStream时,不能使用getWriter。当使用getWriter时,不能使用getOutputStream。==>流的选择:

==========

发送中文数据。

字节流:用out.print(String s); 不能发送中文数据,异常信息: java.io.CharConversionException

用out.write(Bytes[] e);

编码解码过程:IDE==>tomcat==>http协议(ISO-8859-1)==>浏览器下载文件==>浏览器解析此文件。

使用:response.setContentType("text/html;charset=UTF-8");通知解析。

out.write(data.getBytes("UTF-8"));指定编码格式。

字符流://通知tomcat和浏览器发送数据的编码response.setContentType("text/html;charset=utf-8");// * 发送数据out.print(data);

html解析下载的文件==>所以要换行的话,发送数据要加out.println("<br />"); (浏览器解析生成的文件时,换行的用的)

==========

ServletRequest

浏览器将数据发送给服务器时,数据存放的地方。

浏览器请求方式:GET:发送的数据,追加在请求的URL之上。POST:发送的数据在HTTP请求体中。==>以表单form为例来理解

明白当前页面、目标页面。(html为例,设置目标路径)==>目标路径的servlet获取数据(request.getParameter(...))

==========

ServletRequest获得表单提交的所有数据。

服务器获得浏览器发送的数据:
获得单个数据-->request.getParameter("username");
获得一组数据-->request.getParameterValues("love");(可再用Arrays.toString()方法遍历接收)
处理中文乱码-->对于post请求,建议第一行使用request.setCharacterEncoding("UTF-8");

对于get请求,需单独处理。(有两种方式,且taiguofuz)


0 0
原创粉丝点击