Servelet的三种实现方式

一、Servlet简介

1.为什么需要servlet技术
  1. 比如需求,我们希望用户可以发帖,用户可以还可以回复...这样一些用户交互功能,用普通的javaJ技术就完成不了,sun就可以开发了servlet技术供程序员使用。

2. 什么是servlet?

Servlet是Server和applet(小程序)的结合写法,意思是服务器小程序用于扩展web服务软件业务功能的组件,每一种请求都需要对应一个单独的Servlet(对应WebServer的业务)

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

  • Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口

  • Servlet想要运行,必须依靠一个Web服务器软件,也称Web容器(Tomcat)

    3.Servlet的作用

    在Servlet刚刚出现的年代,Servlet的作用十分复杂,即承担了处理数据的作用,又承担了展示页面的作用,导致代码的耦合性过高,不易于维护。随着时间的推移,出现了MVC思想,也就是模型-界面-控制器思想,极大的简便了开发,也明确了Servlet的作用。

      4.Servlet生命周期
  • 执行Servlet构造方法

  • 执行init()初始化方法

    第一、二步是在第一次访问的时候创建Servlet程序调用

  • 执行service()方法

    第三步,每次访问的时候都会调用

  • 执行destroy销毁方法

    第四步在web工程停止的时候访问。

  • 二、手动实现Servlet程序

方式一:继承Servlet接口

第一步:实现javax.servlet.Servlet接口

 注意:为什么报错,因为Servlet接口在tomcat的lib目录下的jar包里面,所以得导包。

首先得给本模块添加tomcat依赖

 

 第二步:在web.xml文件中配置Servlet请求映射

 

常见错误:

       url-pattern中配置的路径没有以斜杆打头

  • 实现Servlet接口后,会发现里面的抽象方法都需要重写,特别是service(存活方法),这个方法是访问一次服务器就调用一次,而不同的功能需求,就要求方法体内容不一样。在init(ServeltConfig servletConfig)方法中,有个参数是servletConfig,因为init(ServeltConfig servletConfig)方法是服务器调的,所以传参也是服务器传,那么我们在实现类中来一个ServeltConfig servletConfig成员变量,在init(ServeltConfig servletConfig)方法体中就可以这样写this.servletConfig=

    servletConfig,给服务器的形参(servletConfig)传递给成员变量(this.servletConfig),这样我们就可以使用servletConfig里面的getInitParameter(String name)方法了

     

     然后在service()方法里就可以打印servlet的配置参数了

  •  

    除了上面的getInitParameterNames()方法,selvlet里还有一个getServeletName和

    getServletContext(Servlet上下文对象)方法

实现方式二:继承抽象类GenericServlet

这种方式的优点:就只需要重写一种方法service方法  

实现方式三:继承HttpServlet类
/*适配器模式*/
public class LoginServlet extends HttpServlet {

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

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

}

这种实现方式的优点:完全不需要重写Servlet里面的方法,随自己需求选post和get方法。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值