JSP 内置对象

1.request

每次访问一个JSP页面时,浏览器将该页面需要的信息通过HTTP协议发送给服务器。

这些信息可以直接写在URL之后,也可以通过表单(form)提交给服务器。

如果在JSP代码中要获取这些信息, 可以用request对象。

 

request对象具有请求域,即完成客户端的请求之前,该对象一直有效。

 

getParameter(String name):获得客户端传送给服务器端的name参数值,返回类型为String

 

getParameterValues(String name):获得客户端传送给服务器端的name参数所有值,返回类型为String数组。

如果客户端提交的信息可能包含多组值(如列表框或复选框中选择了多个值),应使用该方法。

 

getRemoteAddr():获得客户端的IP地址。

setCharacterEncoding(String charset):设置客户端提交信息的编码格式。

 

2.response

response 对象代表的是对客户端的响应,也就是说可以通过该对象来组织发送到客户端的数据,CookieHTTP文件头信息等。

response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。

 

sendRedirect(String url) 将请求重新定位到一个新的页面。该方法向浏览器发送一个特殊的头文件,然后由浏览器来做转向。

所以用该方法时,浏览器的地址栏上可以看到地址的变化。

 

addCookie(Cookie cookie) :向客户端添加1Cookie,用来在客户端保存相关信息。

 

3.session

一个会话对应一个session对象,利用session对象可以将会话期间共享的信息保存起来。

session对象将共享信息保存在哈希表中,所以保存到session中的信息必须是对象。

如果要保存的内容是简单数据类型,则首先用Integer等封装类将其封装成对象。

session对象具有会话作用域。

 

void setAttribute(String name,Object value) value信息保存到session,主键为name字符串值。

Object getAttibute(String name) session中读取主键为name值的信息。

如果该信息还未保存到session中,则返回null

例如:对于该JSP页面 form表单的内容,如 <input>标签,和URL中的参数,在 servlet可用 request.getParameter("参数名");获取参数。

 

在 servlet直接用 request对象,得到发送来的请求内容;用 request.getSession(),得到 session对象,从而得到会话内容。

 

request:

getParameter()获得的是url中传递的参数,HTMLform表单为post,这些参数会隐式的进行传递,其获得的对象为String. 

session:

getAttribute()获得的是ActionServlet处理后返回给页面的信息,在页面中可以用getAttribute()来获得.

正如楼上所说,获得的是由setAttribute()方法赋的值, 返回值是Object.

 

1、重定向 ( Redirect):是路径的跳转,内容和 url都改变。不允许带 request参数( session参数可以),即不允许在 servlet里给  request对象使用setAttribute方法传给下一页面。在 servlet里使用 response.sendRedirect(url) 方法。注意这里的 url前不带斜线 /

 

2、url转发 ( Forward):是页面的跳转,页面内容发生改变,url不变。可以带 request和 session参数。

在 servlet里使用 

getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)request.getRequestDispatcher("/url").forward(request, response); 而这里的 url前需要带斜线 /

<!--EndFragment-->

你可能感兴趣的:(JSP 内置对象)