Jsp&Servlet学习 --- HttpServletRequest的使用
来源:互联网 发布:50岁知天命是什么意思 编辑:程序博客网 时间:2024/05/17 22:40
HttpServletRequest接口
HttpServletRequest相关API
HttpServletRequest接口继承自ServletRequest接口,ServletRequest定义了一些取得通用信息的方法,如getParameter(),getInputStream()等方法。HttpServletRequest定义了HTTP取得相关信息的方法。
请求信息的取得
可以使用getQueryString()取得Http请求的查询字符串,也可以使用getParameter()方法指定请求参数名称来取得相应的值。如果一个请求参数有多个值,可以使用getParameterValues()取得一个String数组。
getParameterNames()返回一个Enumeration对象,包括所有请求参数的名称。
编码设置
对浏览器的响应编码设置:resp.setContentType("text/html;charset=utf-8");
设置请求对象处理字符串时的编码:req.setCharacterEncoding("utf-8");
设置jsp的编码:<%@ page pageEncoding="utf-8"%>
请求的转发与包含
如果想要把请求给别的Servlet/Jsp处理,可以使用使用HttpServletRequest的getRequestDispatcher()方法取得RequestDispatcher实例,运行时可以制定要转发请求的相对URL或绝对URL,取得实例后就可以使用forward()方法来转发请求,转法时将HttpServletRequest和HttpServletResponse对象作为参数传入,后续的Servlet/Jsp就可以继续使用这两个对象。
RequestDispatcher dispatcher = req.getRequestDispatcher("some.do");dispatcher.forward(req, resp);
如果要执行forward()方法,表示目前的Servlet/Jsp不进行响应,而是将响应的职责交给下一个转发的对象。因此在只想forward之前,不能对浏览器有任何确认的回应,否则会出现IllegalStateException异常,任何未确认的输出在forward()之前会自动清除。
如果要在目前的Servlet/Jsp响应,中间想其他的Servlet/Jsp包括进来回应,则可以使用RequestDispatcher的include()方法,dispatcher.include(req, resp);
ServletRequest的属性
在请求的转发过程中,如果有必须共享的数据,可以将之设置为请求范围属性,或成为ServletRequest属性。方法是使用setAttribute(String name, Object o),通过getAttribute(String name)取得对应名字的属性。如:
int status = 0;req.setAttribute("status", 0);//设置属性System.out.println(req.getAttribute("status"));//取得属性
原文链接
- Jsp&Servlet学习 --- HttpServletRequest的使用
- [Servlet&JSP] HttpServletRequest的使用
- JSP&&SERVLET学习笔记(四):关于HttpServletRequest
- servlet学习笔记---HttpServletRequest
- Servlet学习笔记—HttpServletRequest
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- servlet学习六--HttpServletRequest对象学习
- JSP学习 --- servlet的生命周期
- [Servlet&JSP] HttpServletResponse的使用
- [Servlet&JSP] 过滤器的使用
- [Servlet&JSP] 监听器的使用
- [Servlet&JSP] JSTL的使用
- Javascript 进阶 作用域 作用域链
- ORA-00942: 表或视图不存在
- 黑盒-TestCase设计方法
- CodeForces237B Young Table
- HF HTML&CSS第2版学习笔记(陆续更新)
- Jsp&Servlet学习 --- HttpServletRequest的使用
- EDA循环计数器设计
- Hibernate基础:快速入门(4):增加数据
- jdbc学习:操作Oracle的CLOB和BLOB数据
- qt中如何使用ActiveX读写word
- MySQL数据库中的5种数据类型简介
- 299. Bulls and Cows
- 链表面试题总结(一)
- 小学僧cuckoo求函数优化问题