- Servlet创建的三种方式:
- 实现 Servlet 接口
- package com.lyq.bean;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.Servlet;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- //Servlet的生命周期:从Servlet创建到Servlet被销毁的过程
- //一次创建,到处服务
- //一个Servlet只有一个对象,服务所有请求
- public class TestServlet implements Servlet {
- //初始化方法
- //生命周期方法:当Servlet第一次被创建对象执行该方法,该方法在整个生命周期只执行一次
- public void init(ServletConfig arg0) throws ServletException{
- System.out.println("-----init----");
- }
- //生命周期方法:对客户端相应的方法,该方法会被执行多次,每次请求servlet都会执行该方法
- public void service(ServletRequest arg0,ServletResponse arg1) throws ServletException,IOException{
- PrintWriter printWriter=arg1.getWriter();
- printWriter.println("执行Servlet");
- System.out.println("hehe");
- }
- //当停止tomcat时也就销毁的servlet。
- public void destroy (){
- System.out.println("销毁servlet对象");
- }
- //获取
- public ServletConfig getServletConfig(){
- return null;
- }
- //返回有关Servlet的基本信息
- public String getServletInfo(){
- return null;
- }
- }
- 继承 GenericServlet 类
- public class ServletDemo2 extends GenericServlet {
- @Override
- public void service(ServletRequest arg0, ServletResponse arg1)
- throws ServletException, IOException {
- System.out.println("heihei");
- }
- }
继承 HttpServlet 方法
package com.lyq.bean;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestHttpServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest arg0,HttpServletResponse arg1) throws IOException,ServletException{
doGet(arg0, arg1);
}
@Override
public void doGet(HttpServletRequest arg0,HttpServletResponse arg1) throws IOException,ServletException{
System.out.println("执行get方法");
}
}
doGet和doPost方法分别处理Http的get请求和post请求。
Destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
- 通过Eclipse创建Servlet对象
2.1在Eclipse中新建一个Servlet对象,要从写的Servlet方法。
2.2在web.xml中配置Servlet对象,首先要对Servlet对象进行声明,再对Servlet对象进行映射。
声明Servlet对象:在web.xml文件中通过<servlet>标签声明Servlet对象,此标签下有两个子元素,分别为<servlet-name>和<servlet-class>,其中<servlet-name>用于指定的servlet对象,该名称可以自定义;<servlet-class>制定Servlet对象的完整位置,包含Servlet对象的包名与类名。
映射Servlet对象:在生命对象之后,需要映射访问Servlet的url,使用<servlet-mapping>标签进行配置,<servlet>标签下包含两个子元素,分别为<servlet-name>与<servlet-pattern>,其中<servlet-name>与<servlet>标签中的<servlet-name>元素相对应,不可随意命名。<url-pattern>元素用于映射访问URL。
<servlet>
<!-- 类名 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 所在的包 -->
<servlet-class>com.runoob.test.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<!-- 访问的网址 -->
<url-pattern>/TomcatTest/HelloServlet</url-pattern>
</servlet-mapping>