A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

cb199177

初级黑马

  • 黑马币:33

  • 帖子:12

  • 精华:0

© cb199177 初级黑马   /  2018-11-14 20:25  /  695 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

*1.request请求转发:
一种在服务器内部的资源跳转方式

步骤:
        1.通过request对象获取请求转发器对象:getrequestdispatcher(String path)
        2.使用getrequestdispatcher对象来进行转发:requestdispatcher.forword(request,response)

特点:
        1.浏览器地址栏路径不发生变化
        2.只能转发到当前服务器内部资源中
        3.转发是一次请求(不管服务器内部调整多少次,浏览器端只有一次请求)

2.共享数据;
域对象:一个有作用范围的对象,可以在范围内共享数据。
request域:代表一次请求的范围,一般用于请求转发的多个资源共享数据。
方法:
        1.setAttribute(String name,Object obj):存储数据
        2.object getAttribute(String name):通过键获取值。
        3.void removeAttribute(String name):通过键移除值。

3.获取servletcotext:
servletcotext getservletcotext()

4.登录案例

5.BeanUtils工具类,简化数据封装
用于封装JavaBean的
5.1JavaBean:标准的java类
        1.类必须被public修饰
        2.必须提供空参构造
        3.成员变量必须使用private修饰
        4.提供公共的get/set方法
功能:封装数据
5.2:概念:
        成员变量
        属性:get/set方法截取后的产物
5.3:方法:
        setproperty();
        getproperty();
        property(object obj,Map map);将map集合中的键值对信息,封装到对应的JavaBean对象中。

扩展:
        成员变量与属性的区别
java内省机制:通过反射实现
       
6.response:
6.1响应行:
        1.组成:
协议/版本 响应状态码 状态码描述

响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态
--1.状态码都是3位数字
--2.分类
        1.1xx:服务器接收客户端消息,但没有接收完成,等待一段时间,发送1xx多状态码
        2.2xx:成功。代表:200
        3.3xx:重定向,代表:302,304(访问缓存)
        4.4xx:客户端错误:
404(请求路径没有对应的资源)
405(请求方式没有对应的doxxx方法)
        5.5xx:服务器端错误
500(服务器内部异常)

6.2:响应头:
        1.格式:头名称:值;
        2.常见的响应头:
Content-Type:服务器告诉浏览器本次响应体数据格式已经编码格式。(解决中午乱码问题)
Content-disposition:服务器告诉客户端以什么格式打开响应体数据

6.3.响应体:传输的数据

7.response:
功能:设置响应消息
        1.设置响应行:
设置状态码:setStatus(int sc)
        2.设置响应头
setHeader(String name,String value)
        3.设置响应体
        步骤:
                1.获取输出流
字符:getWriter()
字节:getOutPutStream()
                2.使用输出流,将数据输出到客户端浏览器

案例:
        1.完成重定向(资源跳转的方式)
        2.服务器输出字符数据到浏览器
        3.服务器输出字节数据到浏览器
        4.验证码

【8.转发的特点;(forward)
1.转发地址栏路径不变
2.转发只能访问当前服务器的资源
3.转发是一次请求,可以使用request对象来共享数据
4.不需要加虚拟目录

9.重定向:(redirect)
1.地址栏会变化
2.可以访问其他站点(服务器)的资源
3.两次请求,不能使用request对象来共享数据】
4.需要加虚拟目录

request域对象的作用范围:一次请求,主要用于请求转发中存储数据

10.路径写法:
分类;
1.相对路径:通过相对路径不可以确定唯一资源(不以/开头,以.开头的路径)
规则:找到当前资源和目标资源之间的相对位置关系
./当前目录
../后退一级目录

2.绝对路径:通过绝对路径可以确定唯一资源:http://localhost:8080/day03/servletTest02(简化写法/day03/servletTest02;以/开头的路径)
规则:判断定义的路径是给谁用的?判断请求从哪发出
        1.浏览器:需要加虚拟目录(项目的访问路径)
        动态获取虚拟目录:
request.getContextPath();返回String的字符串,拼接上资源路径就可以。
        2.服务器:不需要加虚拟目录(转发路径)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马