important functions:
HttpServlet
ServletConfig
ServletContext
HttpServletRequest 父类:ServletRequest
Cookie[] request.getCookies();
request.getRequestURL();
request.getReqeustURI();
request.getParameter();
request.getParameterxxx(); //这有一堆
HttpServletResponse 子类:ServletResponse
HttpSession(必考)
客户端向服务器发请求:分为有状态请求与无状态请求,有状态请求会导致大规模并发很困难,大规模并发的情况尽量使用无状态请求(或者在有状态请求中用分布式内存)。
用来存储会话内容的接口(查看一下函数)
三种实现会话的技术:
- cookie
- url rewriting(url重写)
- hidden field(隐藏域)
//post, get方式向服务器发送请求
用get方式发送:以查询字符串QueryString的形式接在url后面(问号之后的内容,一般都是名值对,比如百度、谷歌搜索之后url里面的内容),可以通过getURL获得
get方式有个问题:登陆的时候会在url里面看到明文密码,所以登录一般用post方式,再在上床之前加密
其它重要函数:getAttribute, getId, ...
一般session的timeout都是5,10,30分钟之类的时间,timeout之后服务器自动释放session对象
request.getSession().invalidate()可以使session失效
Filter
和servlet一样,都是服务器端运行的组件
在请求响应到达服务器之前,先运行(一系列)filter,通过一个一个filter (filterChain),每个filter执行一次doFilter()然后传给下一个filter,如果到头了就直接进入服务器后端到达资源
Filter在request和response(对服务器请求进来的包和从客户端返回给服务器的包都有过滤操作)
重要函数:
doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain),
destroy(), init()