一、Servlet
1.概念
Servlet 是java提供的一门动态web资源开发技术
2.使用步骤
方式1-通过配置xml方式
public class ServletDemo1 extends javax.servlet.http.HttpServlet {
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("Hello ServletDemo1");
}
}
配置xml
<!-- 定义Servlet-->
<servlet>
<!-- 与servlet-mapping下的servlet-name 保持一致 -->
<servlet-name>demo1</servlet-name>
<!-- 实际处理Servlet的全类名 -->
<servlet-class>cn.tedu.servlet.ServletDemo1</servlet-class>
</servlet>
<!-- 映射路径-->
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<!-- 请求映射路径,相当于 action地址,“/”表示项目的根目录 -->
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
方式2- 使用注解(使用了注解就不需要哦配置xml了,注解中的参数就相当于xml文件中url-pattern)
@WebServlet("/demo2")
public class ServletDemo2 extends HttpServlet {
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("hello,demo2~~~");;
}
二. Servlet生命周期
Servlet运行在Servlet容器(Web服务器中)中,生命周期由容器管理,分为4个阶段
1.加载和实例化:默认情况下,当servlet第一次被访问的时候,由容器创建Servlet对象;
2. 初始化:在Servlet实例化之后,容器将调用Servlet中init()方法初始化这个对象,完成一些如加载配置文件,创建链接等初始化工作,该方法只调用一次
3. 请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法
4. 终止服务:当需要是释放内存的时候或者容器关闭的时候,会调用destory()方法
@WebServlet(urlPatterns = "/demo3",loadOnStartup=1)
public class ServletDemo3 extends HttpServlet {
@Override
/**
* 初始化方法
* 调用时机:默认情况下,servlet被访问时调用一次
* 属性: loadOnStartup=1 修改调用时机
* 负整数:第一次被访问时创建的Servlet对象
* 0或正整数,服务器启动是穿件Servlet对象
* 调用次数:1次
*/
public void init() throws ServletException {
System.out.println("init~~~");
}
@Override
/**
* 提供服务
* 调用时机:每一次访问servlet时调用
* 调用次数:多次
*/
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("hello,demo2~~~");;
}
/**
* 销毁方法:
* 调用时机:内存释放或者服务器关闭的时候,servlet对象会被销毁
* 调用次数:1次
*/
@Override
public void destroy() {
System.out.println("destroy~~~");
}
}