带你吃透Servlet技术

时间:2022-10-18 20:53:06

带你吃透Servlet技术

个人主页: 几分醉意的CSDN博客_传送门

前言:在上一篇,我们已经初步的了解了 Servlet技术 传送门,接下来我们继续深入学习Servlet。

????继承HttpServlet实现Servlet程序

一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。

1、编写一个类去继承 HttpServlet 类。
2、根据业务需要重写 doGetdoPost 方法。
3、到 web.xml 中的配置 Servlet 程序的访问地址。

✨代码实战

Servlet类的代码

public class HelloServlet2 extends HttpServlet {
    /**
     * doGet ()在 get 请求的时候调用
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
            IOException {
        System.out.println("HelloServlet2 的 的 doGet  方法");
    }
    /**
     * doPost ()在 post 请求的时候调用
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
            IOException {
        System.out.println("HelloServlet2 的 的 doPost  方法");
    }
}

web.xml 中的配置

<servlet>
	<servlet-name>HelloServlet2</servlet-name>
	<servlet-class>com.servlet.HelloServlet2</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>HelloServlet2</servlet-name>
	<url-pattern>/hello2</url-pattern>
</servlet-mapping>

✨自动生成doGet和doPost方法

如果每次都手动的写这些方法,肯定是挺浪费时间的,那么有没有什么方式可以自动的把这些方法生成呢,当然有,首先我们调出Generate窗口,快捷键是Alt+INS,选择如下图所示的Override Methods..
带你吃透Servlet技术
点击Override Methods..后,选中doGetdoPost方法,点击ok即可自动生成这两个方法。
带你吃透Servlet技术

Servlet1类里面原本没有任何方法,自动生成后效果如下:

public class Servlet1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

✨注意事项

如果继承HttpServlet 类的时候,没有这个类,直接报红,那么原因是因为没有导入Servletjar包,我们只需要打开解压的Tomcat文件夹下的lib目录,找到Servlet-api.jar这个文件,add导入idea里面就可以了。
带你吃透Servlet技术
如果没有tomcat可以看这篇文章,文章主要是对tomcat进行了介绍,已经提供了tomcat下载方式,感兴趣的小伙伴可以看一下。

????使用 IDEA 自动生成Servlet 程序

上面的自动生成doGetdoPost方法很方便,但是还不是最简便的,不符合我们程序猿的标准,我们要的是最简,能不动手绝不动手。

那么有没有一种方法,可以让我们创建文件后,直接就是Servlet程序的文件,文件既已经自动的实现了HttpServlet接口,又已经自动生成doGetdoPost方法,我们只需要创建这个文件,后面的交给工具。当然有,而且创建这个文件的方法很简单,下面博主会详细介绍。

首先选中目录然后右击,点击New--Servlet
带你吃透Servlet技术
然后会弹出来一个弹窗,如下,对每个选项都详细介绍了一下,需要创建到哪自己手动调一下就行。
带你吃透Servlet技术

然后让我们来看一下效果,下列代码全idea自动生成的,这个方法确实是很方便,感兴趣的小伙伴可以尝试一下。
带你吃透Servlet技术

✨常见问题

下面我们来说一下典型的使用IDEA自动生成Servlet程序会出现的典型的问题,那就是如下图所示,我们New的时候,压根就没有Servlet这个选项,连这个选项都没有我们肯定就创建不了,那么是什么原因导致的呢,这个问题当时也困扰我许久,解决之后恍然大悟,并且出了一期博客,详细的介绍了解决方法,如果碰到相同问题的小伙伴,点击 这里查看,有问题就会有答案,我们迎难而上,百折不回。

带你吃透Servlet技术