servlet

依托在tomcat上。由javax.servlet和javax.servlet.http创建
生命周期
init:只会创建一次的init,用于初始化数据或加载配置文件。可以传参conf
service:设置如何调用doGet/doPost/doPut/doDelete等方法。一般不需要重新,自己已经实现
doGet/doPost:处理get/post请求。用response.getWriter().println("<h1>hello world</h1>")输出页面
destroy:只会调用一次,销毁时调用
tomcat-install-directory/webapps/ROOT/WEB-INF下创建web.xml文件。WEB-INF/classes中放类
web.xml
servlet-mapping标签声明servlet名字、拦截的url
filter标签声明过滤器名字、类、参数
filter-mapping声明过滤器名字、拦截的url。web.xml中定义的filter-mapping顺序决定了过滤器调用的顺序
request方法
getParameter("key")获得key的值
getParameterNames获得所有的key
getParameterValues获得一个key里所有的values
getHeaderNames获取请求头...
过滤器
xml中使用<filter>标签,声明name、class、初始化参数。init中使用FilterConfig获取参数
init:初始化,可以获得xml中定义的参数
doFilter:过滤,利用chain.doFilter传回过滤链
destory:销毁过滤器
异常处理
error-page标签。可以重定向到sevlet中
cookie、session
// cookie设置
Cookie name = new Cookie("name",URLEncoder.encode(request.getParameter("name"), "UTF-8")); // 中文转码
response.addCookie( name );
// cookie读取
cookies = request.getCookies();
cookie = cookies[i];
cookie.getName();
URLDecoder.decode(cookie.getValue(), "utf-8");
// session
request.getSession();
重定向/转发
response设置status为301,header里面为网址


