API
1)init(ServletConfig config)
何时执行:servlet对象创建的时候执行
ServletConfig : 代表的是该servlet对象的配置信息
2)service(ServletRequest request,ServletResponse response)
何时执行:每次请求都会执行
ServletRequest :代表请求 认为ServletRequest 内部封装的是http请求的信息
ServletResponse :代表响应 认为要封装的是响应的信息
3)destroy()
何时执行:servlet销毁的时候执行
Servlet配置:
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>完全类名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>abc<servlet-name>
<url-pattern>请求路径</url-pattern>
</servlet-mapping>
其中url-pattern的配置方式:
1)完全匹配 访问的资源与配置的资源完全相同才能访问到
<url-pattern>/请求路径</url-pattern>
2)目录匹配 格式:/虚拟的目录../* *代表任意
<url-pattern>/abc/abc/*</url-pattern>
3)扩展名匹配 格式:*.扩展名
<url-pattern>*.abc</url-pattern>
3.缺省Servlet
可以将url-pattern配置一个/,代表该servlet是缺省的servlet
什么是缺省的servlet?
当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理
其实,web应用中所有的资源的响应都是servlet负责,包括静态资源
servletContext:
1)ServletContext servletContext = config.getServletContext();
2)ServletContext servletContext = this.getServletContext();
servletContext:域对象作用:获取全局初始化参数
<context-param>
<param-name>driver<param-name>
<param-vallue>com.mysql.jdbc.Driver<param-value>
</context-param>
servletContext.getInitParamter(driver);
获得web应用中任何资源的绝对路径(重要 重要 重要)
方法:String path = context.getRealPath(相对于该web应用的相对地址);
(1)ServletContext是一个域对象(重要 重要 重要)
什么是域对象?什么是域?
存储数据的区域就是域对象
ServletContext域对象的作用范围:整个web应(所有的web资源都可以随意向 servletcontext域中存取数据,数据可以共享)
域对象的通用的方法:
setAtrribute(String name,Object obj);
getAttribute(String name);
removeAttribute(String name);
第一次写博客,希望能记录我的技术成长
原文:https://www.cnblogs.com/wangxuekui/p/9326256.html