Jsp&Servlet学习 --- HttpServletRequest的使用
2016-12-12 21:17
603 查看
HttpServletRequest接口
HttpServletRequest相关APIHttpServletRequest接口继承自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&Servelet 学习笔记- 在Tomcat中的servlet.xml使用Context元素
- JSP&Servlet学习笔记(8): 使用JSP
- 20110215 学习记录2:表单中的get和post区别 & 使用 HttpWebRequest 向网站提交数据
- SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容
- No mapping found for HTTP request with URI [/spring/WEB-INF/page/index.jsp] in DispatcherServlet with name &#39;spring&#39;
- JSP&Servlet学习笔记-第六章:使用JSP
- 3,jsp到HttpServletRequest request控制台乱码,使用过虑字符
- Servlet与Jsp学习笔记--2、POST HTTP Request
- 【学习摘记】马士兵Servlet&JSP_课时16-18_使用bean在Servlet中直接操作数据库
- SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容
- JSP网络编程-请求和响应-HttpServletRequest-HttpServletResponse-学习笔记
- 从0开始学Java——JSP&Servlet——HttpServletRequest相关的几个路径信息
- JSP学习笔记(七十五):使用HttpClient远程抓取网页内容
- 在Struts2.0中使用HttpServletRequest和HttpServeletResponse对象
- 在c#中使用HttpWebRequest时的几种提交数据方式学习和分析
- ASIHTTPRequest使用指南---<<翻译稿>>
- 使用ASIHTTPRequest 编译提示找不到"libxml/HTMLparser.h"的解决方法
- BeanUtil使用例子:解析并转化HttpServletRequest到Bean的全面测试