Servlet入门

Servlet是JavaWeb最为核心的内容,是Java提供的一门动态web资源开发技术。

使⽤Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。
Servlet是JavaEE规范之⼀,其实就是⼀个接⼝,将来我们需要定义Servlet类实现Servlet接⼝,并由web服务器运⾏Servlet
Servlet由谁创建?Servlet方法由谁调用?
Servlet由Web服务器创建,Servlet方法由web服务器调用
服务器怎么知道Servlet中一定有service方法?
因为自定义的Servlet,必须实现Servlet接口并重写其方法,而Servlet接口中有其方法

Servlet的缺点:

Servlet最大的缺点是一个类只能写一个接口,而每一个Servlet都要在web.xml中进行相应的配置,我们想在一个Servlet里写很多个方法的话,则需要采用传递参数的形式,分解到每一个方法中。如果有很多Servlet,就会导致web.xml内容过于繁多。而这样的结构很明显是不利于分组开发的。

另外,在Servlet中,doGet方法和doPost方法有HttpServletRequest和HttpServletResponse参数。这两个参数与容器相关,如果想在servlet中作单元测试,则必须初始化这两个参数。

Servlet的生命周期:

加载和实例化:默认情况下dangServlet第一次被访问时,由容器创建Servlet对象
初始化:在Servlet实例化后,容器将调用Servlet的 init()方法初始化这个对象,该方法 只调用一次
请求处理:每次请求Servlet时, Servlet容器都会调⽤Servlet的 service() 方法对请求进⾏处理

服务终止:当需要释放内存或容器关闭时,容器就会调用Servlet实例的destroy()完成资源的释放

Servlet生命周期涉及三个方法:init()、service()、destory()

init方法在Servlet对象被创建时执行,只执行一次

service方法在Servlet被访问时调用,每访问一次就调用一次

destory方法在Servlet对象被销毁时调用,只执行一次

Servlet中总共有5个方法,剩下两个是获取Servlet信息和获取ServletConfig对象,使用的不是很多

String getServletInfo()
// 该方法用来返回Servlet的相关信息,没有什么太大的用处,一般我们返回一个空字符串即可
public String getServletInfo() {
return "";
}

 ServletConfig getServletConfig()

 体系结构:

当我们所开发的Servlet程序需要分别处理来自Web客户端的GET请求和POST请求时,可以选择继承HttpServlet 类并重写其doGet方法和doPost方法。
@WebServlet("/demo")
public class ServletDemo4 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
        //TODO GET 请求方式处理逻辑
        System.out.println("get...");
    }    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
        //TODO Post 请求方式处理逻辑
        System.out.println("post...");
    }
}

HttpServlet使用步骤:

继承HttpServlet

重写doGet和doPost方法

--------------------------------------

HttpServlet原理:

获取请求方式,并根据不同的请求方式调用不同的doXxx方法

你可能感兴趣的:(servlet)