后端开发从零起步【7】Servlet

【江湖秘籍】
Servlet是一个java的类,Server Applet,服务连接器,用于响应客户端请求
创建一个java类实现JAVA的Servlet接口即可

public class DemoServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("接收到浏览器的请求!");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

然后在web.xml中进行配置,在<web-app>标签中添加以下代码

 <servlet>
        <!-- Servlet别名 -->
        <servlet-name>DemoServlet </servlet-name>
        <!-- 别名所对应的Servlet类 -->
        <servlet-class>com.DemoServlet </servlet-class>
    </servlet>

<!-- Servlet映射配置 -->
    <servlet-mapping>
        <servlet-name>DemoServlet </servlet-name>
        <!-- 浏览器的访问地址 -->
        <url-pattern>/firstblood</url-pattern>
    </servlet-mapping>

完事儿以后浏览器访问该地址,或者直接run程序,IDEA自动打开浏览器加载该地址,tomcat就会调用我们已经实现的service()方法,在输出中可以看到我们sout的"接收到浏览器的请求!"

一个请求就成功被处理了。

以上是实现Servlet接口的方式,java还提供了一个叫做GenericServlet的类帮我们实现了这些接口,继承这个类的话,只需重写service一个方法就可以,不用像上面那样把接口的方法都实现一遍。

public class DemoServlet extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("GenericServlet类的service接口响应");
    }
}

和上面一样,做一下映射配置即可。
效果是一样的。但我们还可以使用GenericServlet 的一个子类,叫做HttpServlet

public class DemoServlet extends HttpServlet {

    public DemoServlet () {
        System.out.println("构造方法");
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("响应Post请求");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("响应Get请求");
    }

    @Override
    public void destroy() {
        System.out.println("销毁");
    }

    @Override
    public void init() throws ServletException {
        System.out.println("初始化");
    }
}

还是做一下映射配置。
可以看到这里能够分别响应post和get请求,所以一般用这个会更方便。

实际上,在IDEA中,可以直接右键New一个Servelet, New的下级菜单下面直接有create new servelet,输入名称之后,IDEA就帮我们自动继承了HttpServelet。
这里IDEA可以自动生成一个注解,@WebServlet(name = "DemoServlet", url = @"/firstblood")
用这个注解可以帮我们自动完成映射配置,不用单独再去找xml配置了,省不少事儿

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、什么是 Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自...
    编程码农张阅读 2,767评论 0 0
  • 前言 现如今,随着人们生活物质的急剧提高,人们生活场景逐渐丰富,许多的基础设施都已经与科学技术融为一体。 从最初的...
    Whyn阅读 3,325评论 1 0
  • 1. Servlet简介 Servlet(Server Applet)是Java Servlet的简称,称为小服务...
    皇天阅读 1,576评论 0 0
  • Servlet简介 1. 什么是Servlet (Server applet) Servlet 运行在服...
    So_ProbuING阅读 5,101评论 0 1
  • 前言 Servlet(即Server applet服务端小程序)是一个会在服务端被调用的Java程序,来处理请求。...
    LENN123阅读 2,206评论 0 0

友情链接更多精彩内容