读书人

(3)Jsp 内置对象request

发布时间: 2012-12-28 10:29:05 作者: rapoo

(三)Jsp 内置对象request

request对象是JSP中重要的对象。

?

主要作用有三个:

?

1. 获取请求参数。每个request对象封装着一次用户请求,所有的请求参数都被封装在requst中。

?? 常用方法:

??

? ?String getParameter(String paramName);? 获取paramName请求参数的值。

?

???String[] getParameterValues(String paramName); 当请求参数有多个时,返回一个数组。

?? 例如客户端存在多个name = "check"的复选框。

?? 那么它们参数传递的形式就是:xx.jsp?check="val1"&check="val2"&...

???在xx.jsp中获取就要用到该方法。

?

2. 操作request范围的属性。

?? 常用方法:

???request.setAttribute(String attrName, Object attrValue); 将attValue设置成request范围的属性

?? Object getAttribute(String attName);? 获取request范围的属性

?

3. 执行forward 或 include

??

? ?常用方法:

?? 【注意】调用下面方法的对象必须是RequestDispatcher,

?????????????? 所以必须先用request.getRequestDispatcher(String path)获取RequestDispatcher对象

??

?? forward(ServketRequest request, ServletResponse response); 执行forward??

? ?eg:? ?getRequestDispatcher("/a.jsp").forward(request,response);

???????????使用request的getRequestDispatcher(String path)方法时,path字符串必须以斜线开头。

?

?? include(ServketRequest request, ServletResponse response); 执行include

? eg:??getRequestDispatcher("/a.jsp").forward(request,response);

?

【example】

index.jsp:

first.jsp:

??重定向可以使用jsp的动作指令<jsp:forward page=""/>,也可以使用RequestDispatcher.forward(request, response)方法

second.jsp:

<%  out.println("输出金额:"+request.getParameter("money"));  out.println("<br>");List list = (ArrayList)request.getAttribute("list");Iterator iter = list.iterator();while(iter.hasNext()){String val = iter.next().toString();out.println(val);out.println("<br>");}   %>

?

【转】servletRequest 和 HttpServletRequest 的区别:

????? filter中的参数是ServletRequest,而struts的action中execute方法参数是HttpServletRequest

HttpServletRequest继承ServletRequest,Servlet里有doGet、doPost方法 ,没有doPut方法,是和form的get post对应的.

servletRequest是接口,httpServletRequest是实现,但是有些方法是httpServletRequest独有的,比如getSession()。httpServletRequest增加了和HTTP相关的一些方法。


而所谓的request(在JSP中使用的)其实只是规范中的一个名称而已。
你可以在JSP中使用out.println(request)来看看这个类的名字。

?

?

?

读书人网 >JavaScript

热点推荐