Servlet初始化时
- 概述
- 默认情况,Servlet在第一次请求时初始化。
- 要求Servlet随着服务器的启动而初始化,这就需要设置Servelt的初始化时机。
- load-on-startup进行设置,范围1~10,值越小,优先级越高。
- 代码实现
/**
* Servlet的初始化时机
*/
public class Demo01Servlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("Demo01Servlet init");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Demo01Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
<servlet>
<servlet-name>Demo01Servlet</servlet-name>
<servlet-class>com.atguigu.servlet.Demo01Servlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Demo01Servlet</servlet-name>
<url-pattern>/demo01</url-pattern>
</servlet-mapping>
Servlet映射方式
- 概述
- 就是给Servlet设置访问路径
- 映射规则
- 完全匹配 : 访问地址必须和urlPattern一致;必须以"/"开始
- 目录匹配:访问地址和urlPattern目录一致即可;必须以"/“开始,必须以”*"结束
- 比如:urlPattern=/x/y/z/*,访问地址=/x/y/z/fdklsajfdlaskjfsdlkfjsda,就可以访问。
- 后缀名匹配:访问地址和urlPattern后缀名一致即可;必须以"*"开始,必须以"后缀名"结束
- 比如:urlPattern=*.xyz,访问地址=index.xyz,就可以访问
- ①一个Servlet配置多个访问路径
<servlet> <servlet-name>Demo02Servlet</servlet-name> <servlet-class>com.atguigu.servlet.Demo02Servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Demo02Servlet</servlet-name> <url-pattern>/demo02</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Demo02Servlet</servlet-name> <url-pattern>/mydemo02</url-pattern> </servlet-mapping>
②映射规则
- 完全匹配
<servlet>
<servlet-name>Demo03Servlet</servlet-name>
<servlet-class>com.atguigu.servlet.Demo03Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Demo03Servlet</servlet-name>
<!--完全匹配-->
<url-pattern>/demo03</url-pattern>
</servlet-mapping>
目录匹配
<servlet>
<servlet-name>Demo03Servlet</servlet-name>
<servlet-class>com.atguigu.servlet.Demo03Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Demo03Servlet</servlet-name>
<!--目录匹配-->
<url-pattern>/x/y/z/*</url-pattern>
</servlet-mapping>
后缀名匹配
<servlet>
<servlet-name>Demo03Servlet</servlet-name>
<servlet-class>com.atguigu.servlet.Demo03Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Demo03Servlet</servlet-name>
<!--后缀名匹配-->
<url-pattern>*.xyz