本文共 1861 字,大约阅读时间需要 6 分钟。
本章学习servlet中的request、response对象
1.概念
相信大家在之前的章节已经看到了,我用到了request对象获取前台传递过来的数据:
String username = request.getParameter("username");String password = request.getParameter("password");
服务器在收到浏览器发出的请求后,会自动创建一个request对象用来保存本次请求的所有相关信息~
2.常用方法
在说这个之前,还是和Java刚开始讲String类的时候一样,需要大家在网上下载相关的API,也就是JavaEE的API文档!
网址:
大家把下面的这个包下载好之后,解压缩,找到.\java_ee_sdk-8\glassfish5\docs\api\javaee-full文件路径,点击index.html即可。
下面我们来看一下常用的request对象的方法吧!
--关于request对象的其他方法,我们今后用到的时候在进行总结。
接下来我们来看一下response对象的方法吧!
因为response对象的方法不是那么常用,所以我就举个例子
Servlet代码中加入该方法后的效果是什么呢?请看:
response.sendError(404,"This Page is Not Found");
那么你的页面发送请求后会出现如下错误提示:
是不是感觉很熟悉啊!
1.设置请求转发
* 作用:实现多个servlet联动操作处理请求,这样避免代码冗余,让servlet的职责更加明确。
* 使用: * req.getRequestDispatcher("要转发的地址").forward(req, resp); * 地址:相对路径,直接书写servlet的别名即可。 * 特点: * 一次请求,浏览器地址栏信息不改变。相信大家发现了之前写的代码中出现了如下代码:
request.getRequestDispatcher("/success.jsp").forward(request, response);
这句代码是一个固定的格式,用来设置请求转发。作用是servlet处理完请求之后,将跳转到其他页面或者servlet
2.设置重定向
Servlet处理完后跳转页面或者Servlet还有另外一种方法,那就是重定向
* 解决了表单重复提交的问题,以及当前servlet无法处理的请求的问题。
* 使用: * resp.sendRedirect(String uri); * 示例: * resp.sendRedirect("/login.jsp"); * 特点: * 两次请求,两个request对象。 * 浏览器地址栏信息改变response.sendRedirect("/login.jsp");
其作用效果和请求转发一样!
3.请求转发和重定向的区别
我在其他博主那里找到了有价值的信息,传送门:
总结:
4.request对象作用域
request对象用于解决一次请求内的数据共享,也就是说在一次请求内只有一个request对象并且这次请求内的所有操作共享同一个request
转载地址:http://fuacn.baihongyu.com/