j2ee基础知识点笔记(一) - 15841333625/Java GitHub Wiki
- Cookie
- url rewriting
- hidden field
服务器端有HttpSession对象集合
service(req,res) {
HttpSession session = request.getSesion();
}在每一个url上都接一个session id
hidden field
<form action="/contextpath/servleturl" method="post">
<input type="hidden" name="username" value=""/>
</form>如果客户端以get方式向服务器发送请求,表单中的数据通过查询字符串(url上可见)发送到服务器,服务器通过request.getQueryString()获得参数
http://localhost:8080/exmmm/aaa?abc="abc"&&xyz="xyz"
String abc = request.getParametor("abc");
http://localhost:8080/exmmm/aaa?abc="abc"&&xyz=
String[] values = request.getParametorValues();
//返回字符串数组,第一个为"abc",第二个为""HttpSession getSesssion()
//使session失效
request.getSession().invalidate();# session超时设置,时间单位为min
<session-config>
<session-timeout>30</session-timeout>
</session-config>拦截预处理客户端发送的请求,后处理服务器端的响应 Examples that have been identified for this design are: * Authentication Filters * Logging and Auditing Filters * Image conversion Filters * Data compression Filters * Encryption Filters * Tokenizing Filters * Filters that trigger resource access events * XSL/T filters * Mime-type chain Filter
//Filter
default void init(FilterConfig filterConfig)
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
//FilerChain 过滤器链
void doFilter(ServletRequest request, ServletResponse response)
public class MyFilter implements Filter {
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
public void destory() {}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
long start = System.currentTimeMillis(); //记录请求到达时间
chain.doFilter(request, reponse);
long end = System.currentTimeMillis(); //记录响应结束时间
}
}
//过滤器,判断是否登陆过,若登陆过则可以访问,未登录则先登录
public class SecureFilter extends HttpFilter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
HttpSession session = request.getSession();
Object o = session.getAttribute("login");
if(o == null) {
request.getRequestDispatcher("/login.html").forward(request, response);
}
Boolean b = (Boolean) o;
if(b) {
chain.doFilter(request, response);
} else {
request.getRequestDispatcher("/login.html").forward(request, response);
}
}
}