创建servlet的三种方式

1.实现Servlet接口,然后实现接口中的五个方法

//import
public class Hello implements Servlet{

     //该函数用于初始化servlet,类似于类的构造函数,该函数只会被调用一次
    public void init(ServletConfig parm1) throws ServletException {
        System.out.println("init it!");
    }

    public ServletConfig getServletConfig() {
        // TODO: Add your code here
        return null;
    }

     //这个函数用于处理业务逻辑
     //当用户每访问servlet时,都会调用
     //req:用于获得客户端(浏览器)信息
     //res:用于向客户端(浏览器)返回信息
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        //从res中得到PrintWriter
        System.out.println("Service it");
        PrintWriter pw = res.getWriter();
        pw.println("Hello world!");
    }

    public String getServletInfo() {
        return "";
    }

     //销毁,释放内存,三种方式会触发destroy
     //1. reload该servlet(webApps) 2. 关闭tomcat 3.关机
    public void destroy() {
        System.out.println("destroy it!");
    }
}

2.继承 GenericServlet,需要 实现service方法

public class Helloservlet extends GenericServlet{
    //重写一个方法service即可
    public void service(ServletRequest req, ServletResponse res){
        //返回Hello world, generic
        try{
            PrintWriter pw = res.getWriter();
            pw.println("Hello generic");
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}

3.继承 HttpServlet,重写 doGetdoPost及其他需要用的方法

public class HelloServlet extends HttpServlet{
    //处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res){
        //业务逻辑
        try{
            PrintWriter pw = res.getWriter();
            pw.println("hello, Http");
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }

    public void doPost(HttpServletRequest req, HttpServletResponse res){
        this.doGet(req,res);    
    }
}


关于web.xml文件配置:以上三种都需要

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
    //第一种方式需要加入的部分
  <servlet>
    <servlet-name>hello</servlet-name><!--此名为任意,在浏览器访问时所需输入的名称,同下文servlet-name相同-->
    <servlet-class>com.first.Hello</servlet-class><!--包名加类名-->
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/first</url-pattern>
  </servlet-mapping>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值