request对象是从客户端向服务器发出的请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据,request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。
response对象属于Javax.servlethttpHttpservletrEsponse接口的实例化对象, response对象用来给客户端传送输出信息、设置标头等。response对象的生命周期由JSP容器自动控制。当服务器向客户端传送数据JSP容器就会创建 response对象,并将请求信息包装到response对象中。它封装了JSP性的响应,然后被发送到客户端以响应客户的请求,当JSP容器处理完请求后, response对象就会被销毁。
Cookie位Web应用程序保存用户相关信息提供了一种有用的方法。Cookie是一段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。
在JSP中可通过request对象中的getCookies()方法获取Cookie中的数据。获取Cookie的方法如下:
Cookie[] cookie = request.getCookies();
request对象的getCookies()方法,返回的是Cookie[]数组。
Cookie是通过服务器端设置到客户端上去的,用response提供的方法实现:
如果要在服务器端取得 Cookie,用 request提供的方法实现:
session对象属于Javax.servlet.http.Htpsessio接口的实例化对象。
session对象用来表示用户的会话状况,一般用于保存用户的各种信息,直到生命周期(一般为900s)超时或者被人为释放掉为止。
当一个用户首次访问服务器上的一个JSP页面时,JSP引擎产生一个 session对象,同时分配一个 String类型的ID号,JP引擎同时将这个ID号发送到用户端,存放在Cookie中,这样session对象和用户之间就建立了一一对应的关系。当用户再访问连接该服务器的其他页面时,不再分配给用户新的 Session对象。直到关闭浏览器后,服务器端该用户的 Session对象才取消,与用户的对应关系也一并消失。当重新打开浏览器再连接到该服务器时,服务器会为该用户再创建一个新的 Session对象。
session常用语法如下:
session.setAttribute(String name,String value);
session.getAttribute(String name);
get与set区别:设置指定名称的属性值并储存 ,获取与指定名字相联系的属性。
session.removeAttribute(String name);
session.setMaxInactiveInterval(int interval);
<%
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
if("admin".equals(name)&&"123456".equals(pwd)){
session.setAttribute("name",name);
//将name保存于session之中
session.setMaxInactiveInterval(5);
//5秒之后清除session
%>
<jsp:forward page="success.jsp"></jsp:forward>
<%}else{ %>
<jsp:forward page="fail.jsp"></jsp:forward>
<%}
%>
该串代码显示的为用户登录成功跳转到success.jsp,将name所保存于session中,若超时5秒之后session自动移除,并跳转到fail.jsp之中。
application对象属于Javax.servlet.jsp.ServletContext接口的实例化对象。
application对象用户取得和设置Servlet的相关信息,实现了用户间数据的共享,可存放全局变量。
开了于服务器的启动,知道服务器关闭,这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作。