内置对象之response
response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
工作原理
常用方法
方法名称 | 说明 |
void addCookie(Cookie cookie) | 向客户端添加Cookie |
void setContentType(String type) | 设置HTTP响应的contentType类型 |
void setCharacterEncoding(String charset) | 设置响应所采用的字符编码类型 |
void sendRedirect(String location) | 将请求重新定位到一个新的URL上 |
转发和重定向
相同点:都可以进行页面跳转
不同点
转发request.getRequestDispatcher("路径").foward(request,response):可以携带请求参数,是一次请求,转发的动作是服务器行为,地址栏不会发生变化。
重定向response.sendRedirect("路径"):可以理解为客户端发送了两次请求,第一次请求携带的数据丢失,地址栏会发生变化,是客户端行为。若需要传递参数,需要显示在路径后拼接参数
示例1:使用超链接传递数据
先安装两个东西
代码我放在下面
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
然后在点击那个小箭头下载配件
然后就可以开始了
先新建两个jsp(link和new 名字自定义),图片里面是内容
这样就可以实现这个效果了
示例2:邮箱登录验证(control win mailLogin)
最后一个页面有点长分两部分了
然后最后的成品就是这个样子了
输入成功则会欢迎,输入不正确就会再次去登录