一、servlet的API
Servlet接口对Servlet进行了规范,定义了方法的主要范围。
1、public void init(ServletConfig servletConfig) (初始化)Servlet第一次进入内存时被调用
参数的作用:
(1)调用ServletConfig对象的方法,获取Servlet的名称:
配置文件:
public void init(ServletConfig servletConfig) throws ServletException {
String servletName=servletConfig.getServletName();
System.out.println(servletName);
}
运行结果:
(2)获得配置文件中的初始化参数:
<servlet>
<servlet-name>MyServletname</servlet-name>
<servlet-class>MyServlet</servlet-class>
<init-param>
<param-name>zhai</param-name>
<param-value>I love study</param-value>
</init-param>
</servlet>
public void init(ServletConfig servletConfig) throws ServletException {
String paramvalue =servletConfig.getInitParameter("zhai");
System.out.println(paramvalue);
}
(3)此方法只有在servlet对象创建时执行(刷新浏览器)
2、public void service(ServletRequest servletRequest, ServletResponse servletResponse)方法:
ServletRequest :代表请求信息。
ServletResponse :代表响应信息。
每次都会创建servletRequest和servletResponse对象。
3、public void destroy()方法:
servlet对象销毁时执行。
4、servlet的生命周期:
(1)初始化函数只有在首次访时才被执行
(2)service函数在每次被访问时都会被执行
(3) dastory函数在对象被销毁时(关闭服务器)执行
二、servlet的配置
1、基本配置
(1)类的配置:
2、访问方式
(1)完全匹配:
<servlet-mapping>
<servlet-name>MyServletname</servlet-name>
<url-pattern>/abc</url-pattern>
</servlet-mapping>
访问的路径必须与
(2)目录匹配:/虚拟路径/*
<servlet-mapping>
<servlet-name>MyServletname</servlet-name>
<url-pattern>/abc/123/\*</url-pattern>
</servlet-mapping>
/abc/123
/abc/123/456
/abc
即:虚拟路径后面的内容可以任意。
3、扩展名匹配:*.扩展名
<servlet-mapping>
<servlet-name>MyServletname</servlet-name>
<url-pattern>\*.jsp</url-pattern>
</servlet-mapping>
4、配置文件的作用:
如果没有配置文件,浏览器访问服务器,就要用http://localhost:8080/包名+类名,这样的方式将类和包的信息外漏很不安全,通过添加配置文件的方式,实现了对访问的类的隐藏。
在访问MyServlet类的时候,通过虚拟路径abc找到配置文件中的abc,再用MyServletname找到要访问的类(包名+类名)。
5、
如果不加
6、全局配置与局部配置
(1)当配置文件如下时:
目录结构(有html页面和jsp页面):
执行后:
执行的时HTML页面,但是为什么没有执行JSP呢?
这是因为在自己配置的WEB.XML文件中,没有对页面的优先级进行定义,只能调用默认的全局web.xml文件。文件配置如下图:
(2)自定义访问优先级:
可以看出,如果已经自定义了文件的优先级,则按照自定义的文件的优先级。
7、生命周期
Servlet的生命周期始于它被装入Web容器的内存时,并在Web容器终止或重新装入Servlet时结束。
Servlet一旦被装入Web容器,一般不会从Web容器内存中删除,直至Web容器关闭或者重新启动结束。
一般来说第一次访问Servlet程序时所用的时间开销要大大多于以后访问所用的时间。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章