黑马程序员——day05_Response和Request

来源:互联网 发布:马克思主义哲学 知乎 编辑:程序博客网 时间:2024/05/29 10:40

            今天彻底伤了,虚脱了,头痛+感冒,吃了药都没效果,但是还是坚持了一天的课,老王上课就是不一样,各种幽默搞笑。把老王的笔记发一下,早点睡觉了,还有各种细小的知识点都没总结了,这块东西真多真杂。



一、HttpServletResponse概述


二、HttpServletResponse的应用案例

1、使用字节流输出中文数据
字节流输出的数据的编码可以通过data.getBytes("编码")来指定,
客户端要想没有乱码,必须知道解码使用的码表。码表不统一必定乱码


假设要输出的中文数据:"你好".getBytes("UTF-8")
浏览器没有乱码的解决方案:(通知浏览器使用的码表是UTF-8)
a、response.setHeader("Content-Type","text/html;charset=UTF-8");
b、out.write("<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>".getBytes("UTF-8"));
c、response.setContentType("text/html;charset=UTF-8");
2、使用字符流输出中文数据
PrintWriter out = response.getWriter();
out.write("中国");//查的是哪个码表。ISO-8859-1 Servlet规范规定的
解决办法:
更改默认编码ISO-8859-1为你的编码:response.setCharacterEncoding("UTF-8");


假如要用UTF-8输出中文数据
方式一:
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Type","text/html;charset=UTF-8");//通知浏览器使用UTF-8进行解码
方式二:(等同方式一的两个作用)
response.setContentType("text/html;charset=UTF-8");
3、Servlet作为默认主页的配置
假设servlet的映射路径是:
<servlet-mapping>
    <servlet-name>ResponseDemo5</servlet-name>
    <url-pattern>/servlet/ResponseDemo5</url-pattern>
  </servlet-mapping>
默认主页配置如下:
<welcome-file-list>
    <welcome-file>servlet/ResponseDemo4</welcome-file>
  </welcome-file-list>



三、HttpServletResponse的一些细节

1、使用response输出数据时,字符流和字节流只能使用其中的一个。它们互斥


----------------------------------
四、HttpServletRequest概述


五、HttpServletRequest常用的方法


六、HttpServletRequest获取请求参数(非常重点---内省 Beanutils)
1、表单的输入域如果没有name属性,则不会提交其中的数据


七、常用表单数据的获取
1、input类型是:radio checkbox
必须有name属性:如果一个都没有选择,服务器得到的是null
如果选择了任何一个选项,那么将把选中的选项的value值提交给服务器
如果选择了任何一个选项,但该选项没有value属性,则提交的值是on
Tips:
<input type="checkbox" name="married"/>已婚  JavaBean中的boolean married
Beanutils:看到married的值是on或yes,把JavaBean中的married设置为true


2、请求参数的编码问题:IE当前使用什么编码就以什么编码提交数据
request.setCharacterEncoding("UTF-8"):通知程序使用编码。只对POST请求有效


八、请求转发和重定向
九、包含





注意点:1,
String url = request.getRequestURL().toString();//统一资源定位      协议:主机:端口:资源的路径
String uri = request.getRequestURI(); //统一资源定位标识    资源的路径
String queryString = request.getQueryString();//获取查询字符串
//get请求:http://localhost:8080/day05/servlet/RequestDemo1?username=admin&password=123
//queryString:username=admin&password=123
String remoteAddr = request.getRemoteAddr();//客户端的IP地址
int remotePort = request.getRemotePort();//客户端使用的端口 随机没有的端口
String method = request.getMethod();//请求方式




一、小结
1、Servlet规范中的核心类图
2、HttpServletResponse主要作用,API
(HTTP的响应内容)
3、响应案例:
a、输出中文数据给浏览器
b、下载:中文文件名的下载
c、随机验证码图片
d、定时刷新
e、不要缓存
f、控制缓存时间
g、请求重定向
4、response的细节
a、字节流与字符流互斥
b、流的输出是输出到了response对象的缓存中
c、流会被服务器自动关闭
5、HttpServletRequest常用方法
6、获取请求头
***7、获取请求参数
8、常用表单的数据的获取:radio checkbox
9、请求参数中文乱码问题
二、预习
一、ServletRequest域对象
二、请求重定向和转发的异同
三、包含
四、转发和包含的一些细节
四、1:各种URL地址的写法
五、会话技术概述
六、Cookie概述
七、Cookie编程案例:3个
八、HttpSession原理
九、HttpSession案例:3个
MD5加密;Base64编码;
十、HttpSession对象的生命周期
十一、HttpSession对象的状态转换
十二、客户端禁用Cookie后的会话数据保存问题
十三、IE浏览器何时才会开启一次新的会话

原创粉丝点击