个人主页: 几分醉意的CSDN博客_传送门
前言:在上一篇,我们已经初步的了解了 Servlet技术 传送门,接下来我们继续深入学习Servlet。
一般在实际项目开发中,都是使用继承 HttpServlet
类的方式去实现 Servlet
程序。
1、编写一个类去继承 HttpServlet
类。
2、根据业务需要重写 doGet
或 doPost
方法。
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>HelloServlet2servlet-name>
<servlet-class>com.servlet.HelloServlet2servlet-class>
servlet>
<servlet-mapping>
<servlet-name>HelloServlet2servlet-name>
<url-pattern>/hello2url-pattern>
servlet-mapping>
如果每次都手动的写这些方法,肯定是挺浪费时间的,那么有没有什么方式可以自动的把这些方法生成呢,当然有,首先我们调出Generate
窗口,快捷键是Alt+INS
,选择如下图所示的Override Methods..
点击Override Methods..
后,选中doGet
和doPost
方法,点击ok
即可自动生成这两个方法。
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
类的时候,没有这个类,直接报红,那么原因是因为没有导入Servlet
的jar
包,我们只需要打开解压的Tomcat
文件夹下的lib目录,找到Servlet-api.jar
这个文件,add导入idea
里面就可以了。
如果没有tomcat可以看这篇文章,文章主要是对tomcat进行了介绍,已经提供了tomcat下载方式,感兴趣的小伙伴可以看一下。
上面的自动生成doGet
和doPost
方法很方便,但是还不是最简便的,不符合我们程序猿的标准,我们要的是最简,能不动手绝不动手。
那么有没有一种方法,可以让我们创建文件后,直接就是Servlet程序
的文件,文件既已经自动的实现了HttpServlet
接口,又已经自动生成doGet
和doPost
方法,我们只需要创建这个文件,后面的交给工具。当然有,而且创建这个文件的方法很简单,下面博主会详细介绍。
首先选中目录然后右击,点击New--Servlet
然后会弹出来一个弹窗,如下,对每个选项都详细介绍了一下,需要创建到哪自己手动调一下就行。
然后让我们来看一下效果,下列代码全idea自动生成的,这个方法确实是很方便,感兴趣的小伙伴可以尝试一下。
下面我们来说一下典型的使用IDEA
自动生成Servlet
程序会出现的典型的问题,那就是如下图所示,我们New
的时候,压根就没有Servlet
这个选项,连这个选项都没有我们肯定就创建不了,那么是什么原因导致的呢,这个问题当时也困扰我许久,解决之后恍然大悟,并且出了一期博客,详细的介绍了解决方法,如果碰到相同问题的小伙伴,点击 这里查看,有问题就会有答案,我们迎难而上,百折不回。