「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战」
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍Servlet的简单介绍和初始化使用。
1.1 什么是Servlet
servlet其实就是一个特殊的Java类,因为这个类必须继承HttpServlet。Servlet就是运行在服务器端程序,用来响应客户端的不同请求。
Servlet充当着中介者的身份,用来连接数据库和客户端。
1.2 如何使用Servlet
要使用Servlet必须要先继承HttpServlet接口,然后实现Servlet的方法。
Servlet中有四个方法对应Http的不同请求,分别是:
@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);
}
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPut(req, resp);
}
@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doDelete(req, resp);
}
- doGet用来处理get请求
- doPost用来处理Post请求
- doPut用来处理Put请求
- doDelete用来处理Delete请求
其实Servlet提供了一个更方便的方法供我们使用,那就是service方法。
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.service(req, resp);
}
使用service方法可以处理任何请求,所以在开发中我们只需要使用该方法即可。
Servlet中还有两个方法需要我们注意,那就是init方法和destory方法。
init方法在Servlet被创建时调用,并且只调用一次,常用来打开资源文件。destory方法在Servlet被销毁前调用,也只调用一次,常用来关闭资源文件。在调用完destory方法后,Servlet会被JVM垃圾回收。
@Override
public void init() throws ServletException {
super.init();
}
@Override
public void destroy() {
super.destroy();
}
知道了以上方法,那我们就可以创建一个简单的Servlet了。
实例展示:
@WebServlet("/hello")
public class servletTest1 extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("我被初始化了!");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("欢迎来到Servlet!");
}
@Override
public void destroy() {
System.out.println("我被销毁了!");
}
}
"/hello"代表程序的入口。 当你访问hello时就会打印:
当你关闭服务器时:
小结
以上就是关于Servlet的一些简单介绍和初始化使用,希望对读者有所帮助,如有不正之处,欢迎留言指正。