作用域-----请求域(HttpServletRequest request)
作用范围:只在一次请求中有效
四个方法:
void setAttribute(String name,Object obj)
Object getAttribute(String name)
void removeAttribute(String name)
Enumeration getAttributeNames()
作用域-----会话域(HttpSession session)
获得session的代码:
HttSession session = request.getSession();
在jsp页面中可以直接用 session ,而不必用request.getSession();得到得到
会话:一个浏览器和服务器之间发生的一系列的请求和响应的过程用SessionID来标识同一个会话的请求
用session对象来保存该会话的状态信息
服务器决定与某个客户端开启一个会话,创建一个Session对象
通过Cookie或者URL参数形式将SessionID传给客户端
Session的关闭
- 如果要立即销毁整个session可以调用invalidate(),其中各对象也全部清除。
- session到最大等待时间后,session无效。
- 关闭浏览器后,session无效。
- 关闭服务器的后,session无效。
- 只要浏览器和服务器没有配对的sessionId就表示session无效。
============================================
Filter 過濾器
首先在XML中配置Filter
FirstFilter
com.yy.servlet.web.filter.FirstFilter
FirstFilter
/*
/*这个是FirstFilter过滤器类*/
package com.yy.servlet.web.filter;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class FirstFilter implements javax.servlet.Filter{
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
/*如果没有调用doFilter()方法,则相当于阻止了本次请求。*/
filter.doFilter(request, response);
System.out.println("filter is ok");
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}