Servlet知识点列表
1,Servlet定义:
定义:是运行在Web服务器上的程序,是数据库和应用程序的中间层。
实现:是实现javax.servlet.Servlet接口的Java类,实际应用上一般继承javax.servlet.http.HttpServlet抽象类来拓展使用。
2,Servlet生命周期:init(); service(); doGit(); doPost(); destory();
init(); 在Servlet对象创建时被调用一次。
service(); 在收到http请求时调用,并根据http类型适当时候调用doGit();和doPost();。
destory();在生命周期结束时被调用一次。
3,Servlet两个重要的对象:httpServletRequest和httpServletRonponse 存储客户端http请求和响应信息。
4,Filter 过滤器
定义:动态拦截http请求和响应,来变换和使用请求和响应数据。
实现:实现javax.servlet.Filter接口,有init(); doFilter(); 和detory();三个方法。。
web容器加载servlet时,有且仅创建一个Filter对象,读取web.xml,有且仅调用一次其init()完成初始化。
在web.xml中使用Filter标签进行指定,调用doFilter()进行实际的拦截过程。
可在web.xml配置多个Filter,实际对象创建按配置filter-mapping顺序,doFilter()方法中使用FilterChain参数,将请求和响应传回到下一个Filte。
应用:设置全局编码,账户密码验证,不文明字过滤等。
5,Servlet异常处理
两种形式
exception-type定义需要处理的异常类型,如java.io.IOException。
error-code标签定义错误码,如404,403。
6,Servlet使用 Cookie
定义: Cookie是存储在客户端本地浏览器中,放在http请求头中进行传输。Servlet可以接收cookie,也可以发送cookie。
使用:通过httpServletRequest对象调用Cookie信息,使用如下方法:
set/getDomain() cookie适用的域。
set/getMaxAge() 默认单位秒,不设置只在当前session中有效。
getName() cookie名称创建时固定,不能修改
set/getValue() 与cookie关联的值
set/setPath() cookie适用的路径,不设置则适用当前目录和子目录下所有url
setSecure() 设置是否加密连接发送
set/getCommmit() cookie注释,展示给用户非常有用
Cookie[] cookies = request.getCookies();//获取cookie
response.addCookie(acctnoCookie);//发送cookie
7,Session : httpSession对象
定义: http是一种无状态协议,这样服务器就不会保留客户端的请求记录,但可以通过session会话维持多个连接的联系。
使用:Servlet容器提供httpSession接口创建session会话,持续一个指定时间段,跨多个连接和请求。tomcat默认session超时时间30min。
可以移除属性,调用Session对象方法,设置session超时时间等方式关闭session会话。
应用:记录客户访问次数,和上次访问时间。
8,文件上传
使用:org.apache.commons.fileupload.servlet.ServletFileUpload对象实现上传。
9,servlet重定向,向浏览器发送一个访问地址,通过response.sendRedirect()方法实现。等同于指定http响应location和status。
10,servlet实现网址点击量统计,自动刷新,发送电子邮件和国际化。
小语:不正之处欢迎交流指正🍺,转载请注明原文地址💬