黑马程序员技术交流社区
标题:
Servlet
[打印本页]
作者:
Jack.李
时间:
2017-8-28 09:24
标题:
Servlet
Servlet
Servlet技术中3大组件之一:
Servlet
Listener
Filter
Servlet的功能:
运行在服务器端,接受请求,完成响应.
Servlet开发流程
1.创建一个类,实现Servlet接口
2.在web.xml文件中,配置Servlet
3.部署项目到tomcat
Servlet的生命周期
1.第一次访问时,会创建Servlet实例,并调用init方法初始化.
2.每当有请求访问时,调用service方法处理请求
3.当服务器关闭时,会在销毁Servlet之前调用destroy方法.
Servlet中的其他方法
1.getServletInfo 没用
2.getServletContext 返回ServletContext对象
Servlet中的相关对象
1.ServletConfig Servlet配置
2.ServletRequest 请求
3.ServletResponse 响应
4.ServletContext servlet上下文
ServletConfig对象
1.getInitParameter(String key);
2.getInitParameterNames()
3.getServletName
4.getServletContext
Servlet的其他实现方式
1.继承GenericServlet
2.继承HttpServlet
Servlet的细节问题
1.线程安全
结论: servlet本身线程不安全,避免使用成员变量接受线程级别的参数.应使用局部变量。
2.Servlet的创建随服务器的启动而创建
结论:<load-on-startup>
3.Servlet路径配置
相对路径配置
后缀名配置
原则:1>匹配范围越大,优先级越低
2>两种匹配方式不能混用
ServletContext对象
数量级: 一个项一定有且只有一个ServletContext对象
生命周期: 随着项目启动而创建,随项目关闭而销毁.
对象的获得: 通过ServletConfig对象的getServletContext方法
对象的功能:
1>获得项目级别的参数
<context-param>
1.getInitParameter(String key);
2.getInitParameterNames()
2>域对象
application域
本质: 就是map
操作: 4个方法 set|get|removeAttribute , getAttributeNames
范围: 整个项目运行期间.
3>获得项目内资源的方法
ServletContext "/"=> 代表项目根
1>getResourceAsStream
2>getRealPath
Class "/"=>classes目录 不加"/": class所在包路径下
1>getResourceAsStream
2>getResource
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2