本章需要掌握的jsp内置对象:
request、response、session、include
本章需要达到的目标:
- 使用request对象获取用户请求
- 使用response对象处理响应
- 使用转发与重定向控制页面跳转
- 掌握session的原理及应用
- 掌握include指令的应用
1、request(请求,需要)对象
request对象是最常用的jsp内置对象,其中包含了有关浏览器请求的信息。通过调用request对象的方法可以获取请求中的相关数据。
request常用方法:
- String getParameter(String name) 获取单个表单数据
- String[] getParameterValues(String name) 获取名称相同的表单数组
- void setCharacterEncoding(String charset) 设置字符编码
- RequestDispatcher getRequestDispatcher(String path) 该对象的forward用于转发请求
2、response(响应)对象
response用于响应客户请求并向客户端输出信息
response常用方法:
- void addCookie(Cookie cookie) 在客户端添加cookie
- void setContenType(String type) 设置http相应的contentType类型
- void setCharacterEncoding(String charset) 设置字符编码
- void sendRedirect(String location) 重定向
3、转发与重定向
转发:
request.getRequestDispatchar(“info.jsp”).forward(request,response)
重定向:
response.sendRedirect(“info.jsp”);
各自的应用场合:
以登录为例,如果登录验证成功,则使用转发,因为转发后数据不会丢失;如果验证失败,则使用重定向,可重新跳转至相关提示页面,之前的数据失效。
另举一个例子:转发,就是我这里有一个包包,我已经在里面装了很多东西,然后你需要,我直接将这个包包给你(包含里面的物品);重定向,你需要一个包包,我知道了,但没有给我原来的包包给你,而是重新拿了一个新的,与之前的包包没有一点关系。
4、session(会话)对象
常用方法:
- void setAttribute(String key,Object value) 以键值对的形式将对象保存至session
- Object getAttribute(String key) 通过key获取session中保存的对象
- void invalidate() 设置session失效
- String getId() 获取sessionid
- void setMaxInactiveInterval(int interval) 设定session的非活动时间
- int getMaxInactiveInterval() 获取session的有效非活动时间(秒)
- void removeAttribute(String key) 从session中移除指定key对应的对象
5、include(包含)指令
作用:将经常重用的内容写入到一个单独的文件中,通过include指定引用该文件,可以达到缓解代码冗余的问题。
语法:<%@ include file =”应用文件路径 “%>