Servlet中三大域对象:request、session、application,都有如下三个方法:
> void setAttribute(String name, Object value)
> Object getAttribute(String name)
> void removeAttribute(String name);
> void setAttribute(String name, Object value)
> Object getAttribute(String name)
> void removeAttribute(String name);
> 同一请求范围内使用request.setAttribute()、request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值。
请求转发和请求包含
RequestDispatcher rd = request.getRequestDispatcher("/MyServlet"); 使用request获取RequestDispatcher对象,方法的参数是被转发或包含的Servlet的Servlet路径
请求转发:rd.forward(request,response);
请求包含:rd.include(request,response);
保存错误信息到request域中,转发回login.jsp
request.setAttribute("msg", "用户名或密码错误");
RequestDispatcher dis=request.getRequestDispatcher("/session2/login.jsp");
dis.forward(request, response);
HttpSession是由JavaWeb提供的,用来会话跟踪的类。session是服务器端对象,保存在服务器端。
Servlet中得到session对象:HttpSession session = request.getSession();
Jsp中得到session对象:session是jsp内置对象之下,不用创建就可以直接使用!
HttpSession session=request.getSession();
session.setAttribute("username", user);
response.sendRedirect("/day1126_1/session2/succ1.jsp");