servlet的简单入门

本文章主要介绍以下几个方面

1.什么是servlet
2.如何写一个简单的servlet
3.servlet的生命周期

1.什么是servlet

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。

简单来说其实就是一个java程序,运行在我们的web服务器上,用于接收和响应 客户端的http请求。 更通俗的来说就是java里面有servlet这个接口,我们去创建一些具体的类并且实现了servlet这个接口,这些类就是servlet。

2.如何写一个简单的servlet

首先你的电脑上必须安装有tomcat服务器

在写servlet之前请先执行以下几个步骤

第一步 打开E-clipse并且切换到javaEE的视图下,点击下方的servers,再点击框内的字体 如图
在这里插入图片描述
第二步 添加tomcat服务器,选择跟你电脑安装的tomcat相对应的版本,点击next,然后在把你的tomcat所在的路径添加进去(整个tomcat所在的文件夹)finish即可 如图
在这里插入图片描述
在这里插入图片描述
第三步 如图,这样子修改的目的是为了让你等下写的项目能够在你的tomcat服务器内(相当于修改项目的路径,也可以不必这样,但可能不方便你的查找)
在这里插入图片描述
在这里插入图片描述
完成上述几个步骤之后,我们就可以开始写一个较为简单的servlet了

第一步 先建立一个web工程,并且把版本选为2.5 如图
在这里插入图片描述
在这里插入图片描述
第二步 写一个类,再让这个类去实现servlet这个接口,并且实现里面的抽象方法 如图
在这里插入图片描述
在这里插入图片描述
第三步 去配置servlet,在项目的文档中添加一些信息(告诉服务器存在着这些servlet)
打开web.xml文档,并在里面配置一些信息
添加的信息如下

<servlet>
  	<servlet-name>servlet01</servlet-name>
  	<servlet-class>servletDemo.servlet01</servlet-class>
 </servlet>
  
 <servlet-mapping>
  	<servlet-name>servlet01</servlet-name>
  	<url-pattern>/servlet01</url-pattern>
 </servlet-mapping>

其中第一个里的内容可以随便写(一般跟你的servlet名一样),里面的内容是你这个servlet的路径,第二个里面的内容必须同第一个的内容一样,最后的的内容可以随便写,只是必须以/开头(一般与servlet名字一样)。
为什么是这样配置呢?后面会讲到。。。
在这里插入图片描述
第四步 在web.xml文档配置完成之后,再去那个servlet类里面的service方法里随后写一段代码,等下可以验证我们的servlet是否成功。。。

@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("来了个请求。。。。");
	}

第五步 运行你的web项目,然后在你的浏览器上输入localhost:8080/servletDemo/servlet01
即localhost:8080/项目名/中的内容
这时在你的控制台上会出现“来了个请求。。。”表明运行成功。
如图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来我们就该解决刚才的问题了,文档配置为什么要那么写呢?

先看看我们刚才在浏览器中输入的路径

URL:localhost:8080/servletDemo/servlet01

然后我们来看看servlet的执行过程

  1. 找到Tomcat服务器
  2. 找到项目
  3. 找到web.xml。然后在里面找到url-pattern,有没有一个pattern的内容是/servlet01
  4. 找到servlet-mapping中的那个servlet-name【servlet01】
  5. 找到上面那个定义的servlet元素中的servlet-name中的【servlet01】
  6. 找到下面定义的servlet-class然后开始创建该类的实例
  7. 继而执行该servlet中的service方法

理解了这个过程我们对于web.xml文档的配置就应该很清楚了,不过在这里我还是要强调一点,在浏览器中最后输入的内容(比如servlet01)是跟web.xml文档中的的内容一致,而不是对应你所写的servlet名字。

3.servlet的生命周期

什么是生命周期?

从创建到销毁的一段时间

什么是生命周期方法?

从创建到销毁,所调用的那些方法。

在这里我主要讲一下servlet的生命周期方法

  • init方法

在创建该servlet的实例时,就执行该方法。
一个servlet只会初始化一次, init方法只会执行一次
默认情况下是 : 初次访问该servlet,才会创建实例。

  • service方法

只要客户端来了一个请求,那么就执行这个方法了。
该方法可以被执行很多次。 一次请求,对应一次service方法的调用

  • destroy方法

servlet销毁的时候,就会执行该方法

  1. 该项目从tomcat的里面移除。
  2. 正常关闭tomcat就会执行 shutdown.bat

我们也可以让Servlet创建实例的时机 提前。

  1. 默认情况下,只有在初次访问servlet的时候,才会执行init方法。 有的时候,我们可能需要在这个方法里面执行一些初始化工作,甚至是做一些比较耗时的逻辑。

  2. 那么这个时候,初次访问,可能会在init方法中逗留太久的时间。 那么有没有方法可以让这个初始化的时机提前一点。

  3. 我们可以在写配置的时候, 使用load-on-startup元素来指定, 给定的数字越小,启动的时机就越早。 一般不写负数, 从2开始即可。

<servlet>
      	<servlet-name>servlet01</servlet-name>
      	<servlet-class>servletDemo.servlet01</servlet-class>
      	<load-on-startup>2</load-on-startup>
 </servlet>

本文转载自 https://blog.csdn.net/weixin_44665028/article/details/96621612

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值