会话跟踪
Cookie机制
javax.sevlet.http.Cookie
request.getCookie();
response.addCookie();
保存中文:
Cookie cookie=new Cookie(URLEncoder.encode("姓名","UTF-8"),URLEncoder.encode("邓远奇","UTF-8"));
保存二进制图片:
File file=new File(image.path);
byte [] binary=new bate[(int)file.lenth];
InputStream in=this.getServletContext().getResourceAsStream(file.getName());
in.read(binary);
in.close;
String content=BASE64Encoder.class.newInstance().encode(binary);
Cookie cookie=new Cookie("file",content);
过滤器Filter
Filter:
用户在servlet之外对request/response进行修改
一个Filter必须实现javax.servlet.Filter接口,该接口有三个方法:
public void init(FilterConfig config){};
public void doFilter(Request request,Response response,FilterChain chain){};
在doFilter()方法中一定要执行chain.doFilter(request,response,chain);
public void destory();
Filter配置:
在web.xml
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
<init-param></init-param>
</filter>
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
<dispathcher>REQUEST/RESPONSE </dispathcher> //配置到达servlet的方式
</filter-mapping>
字符编码过滤器:
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
登陆过滤器:
session.getAttribute("username"); //从session中取出username判断是否为null