1.实现Servlet接口的方式
/** Copyright (c) 2020, 2023, All rights reserved.**/
package com.by.servlet;import javax.servlet.*;
import java.io.IOException;/*** <p>Project: JavaWeb-Servlet - ServletDome</p>* <p>Powered by scl On 2023-12-26 09:34:24</p>* <p>描述:<p>** @author 孙臣龙 [1846080280@qq.com]* @version 1.0* @since 17*//*** 第一种方式:* 方式:实现Servlet接口* 缺点:必须实现Servlet中的全部方法*/
public class ServletDome implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {servletResponse.setContentType("text/html;charset=utf-8");servletResponse.getWriter().write("这是创建servlet的第一张方式");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {}
}
2.继承GenericServlet抽象类的方式
/** Copyright (c) 2020, 2023, All rights reserved.**/
package com.by.servlet;import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;/*** <p>Project: JavaWeb-Servlet - GenericServletDome</p>* <p>Powered by scl On 2023-12-26 09:39:37</p>* <p>描述:<p>** @author 孙臣龙 [1846080280@qq.com]* @version 1.0* @since 17*/
public class GenericServletDome extends GenericServlet {@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {servletResponse.setContentType("text/html;charset=utf-8");servletResponse.getWriter().write("这是创建servlet的第二种方式");}
}
3. 继承HttpServlet的方式
/** Copyright (c) 2020, 2023, All rights reserved.**/
package com.by.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** <p>Project: JavaWeb-Servlet - HttpServletDome</p>* <p>Powered by scl On 2023-12-26 09:42:02</p>* <p>描述:<p>** @author 孙臣龙 [1846080280@qq.com]* @version 1.0* @since 17*/
public class HttpServletDome extends HttpServlet {public static void main(String[] args) {System.out.println("");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req,resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("text/html;charset=utf-8");resp.getWriter().write("这是创建servlet的第三种方式");}
}
配置文件:(这三种都需要配置文件)
<?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"><!--创建servlet的第一种方式--><servlet><servlet-name>servletDome</servlet-name><servlet-class>com.by.servlet.ServletDome</servlet-class></servlet><servlet-mapping><servlet-name>servletDome</servlet-name><url-pattern>/servletDome</url-pattern></servlet-mapping><!--创建servlet的第二种方式--><servlet><servlet-name>GenericServlet</servlet-name><servlet-class>com.by.servlet.GenericServletDome</servlet-class></servlet><servlet-mapping><servlet-name>GenericServlet</servlet-name><url-pattern>/GenericServlet</url-pattern></servlet-mapping><!--创建servlet的第三种方式--><servlet><servlet-name>HttpServlet</servlet-name><servlet-class>com.by.servlet.HttpServletDome</servlet-class></servlet><servlet-mapping><servlet-name>HttpServlet</servlet-name><url-pattern>/HttpServlet</url-pattern></servlet-mapping></web-app>