黑马程序员技术交流社区

标题: [石家庄校区]response [打印本页]

作者: cccyj    时间: 2018-12-29 17:29
标题: [石家庄校区]response
                 day15笔记Response&Request







请求转发特点:

1.一次请求

2.只能访问内部资源

3.跳转时地址栏不发生改变



getParameter和getAttribute不是一回事

getParameter获取的是浏览器请求体中的请求参数

getAttribute获取的是request域中的共享资源



ps: request域只针对与一次请求





Request(发送数据到浏览器)

获取数据

请求转发

数据共享

获取ServletContext域对象



四大域对象

ServletContext         针对整个项目(从服务器启动到服务器关闭\\)

HttpSesslon                  针对于一次对话

HttpServletRequest  针对一次请求

RageContext                  只针对当前页面







BeanUtils工具类:

配合request中的getParameterMap方法

request.getParameterMap返回map

new 类名 返回类对象

BeanUtils.populate(类对象 , map集合)



需要注意的是类中的变量名称要与表单的那么属性一致



响应(把数据回写到服务器)

HTTP常见状态码

200(表示成功)

302(重定向)/304(告诉浏览器访问本地缓冲)

404(路径错误)/405(没有实现对应的请求方法)

500(代码写错)



响应头

Context-type  告诉浏览器用什么编码解析

Context-Dispositon  以附件形式解析,(下载)



response

重定向

基础方法

setStatus(302)

setHeader("location" , "路径")



更简洁的方法

setRedirect("路径")

重定向和请求转发的区别

redirect地址栏会发生改变,forward地址栏不改变

redirect可以定向任意资源,forward只能转发到内部资源

redirect不可以用request共享数据,forwar可以

redirect是两次请求,forward是一次请求



路径       

绝对路径:

用 / 开头

在不同情况下有不同的绝对路径

request域中不用写虚拟路径

其他情况下要写

推荐使用request中getContextPath()方法动态获取虚拟路径

相对路径:

用 . 开头

两个 . 代表上一级目录
















































欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2