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里面为网址