一、Servlet入门–开发Servlet的三种方式

简介:Servlet(service applet)即运行在服务器上的java程序,是JavaEE中开发web应用的最基础重要的技术

1、实现servlet接口

2、继承GenericServlet

3、继承HttpServlet


1、实现Servlet接口(servlet是单例的)

JavaEE提供了servlet接口,该接口需要重写五个方法

有init【初始化】:servlet创建时调用,只调用一次
destroy【销毁】:servlet销毁时(即关闭服务器时)调用
service【服务】:业务逻辑处理
ServletConfig【Servlet配置】
getServletInfo【Servlet信息】。
第一个servlet程序
1、实现servlet接口,重写方法
2、配置servlet访问路径

servlet代码

public class ServletDemo implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("我被初始化了。。。");
    }

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

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("这里是service方法。。。。,处理服务。。。");
    }

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

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

访问路径配置(web.xml)


 <web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>servletDemo</servlet-name>
    <servlet-class>ServletDemo</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>servletDemo</servlet-name>
    <url-pattern>/sdemo</url-pattern>
  </servlet-mapping>
</web-app>

浏览器输入(三次)

http://localhost:8080/sdemo

控制台结果

我被初始化了。。。
这里是service方法。。。。,处理服务。。。
这里是service方法。。。。,处理服务。。。
这里是service方法。。。。,处理服务。。。

关闭服务器后,控制台结果

我被销毁了。。。。

2、继承HttpServlet开发

实现servlet接口开发可以看出有许多无用的方法需要重写,
于是GenericServlet将servlet封装,无需重写无用的方法,还增加了许多功能,
但是HttpServlet在上面的基础上继续封装,增加了对HTTP协议的支持,使得开发更加方便

HttpServlet中有dopost()和doget()方法,对应表单提交的post和get方式,功能一样,一般只需重写一种即可

public class ServletDemo1 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charest=utf-8");
        System.out.println("新的页面哦。。。。。");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //调用一样的方法
        this.doPost(request,response);
    }
}

对于配置访问路径,有两种方式供选择

@WebServlet注解配置可能更加方便
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐