1、什么是Servlet?
Java Servlet的核心思想是在Tomcat服务器端创建响应用户请求的servlet对象。HttpServlet实现了Servlet接口,HttpServlet的子类被习惯的称作一个Servlet类,而这样的类创建的对象习惯的被称作一个servlet。
2、编写部署文件web.xml
编写好Servlet后, Servlet类的字节码文件保存到指定目录后,还需要为Tomcat服务器编写一个部署文件web.xml,只有这样Tomcat才会用Servlet类创建servlet对象。编写的web.xml文件必须保存到Web服务目录的WEB-INF子目录中
下面来看一个简单的web.xml 配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<!-- 文件开头格式,注意"<?xml"和"?>"中间不能有空格 -->
<web-app>
<servlet>
<servlet-name>LifeServlet</servlet-name>
<servlet-class>servlet.LifeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LifeServlet</servlet-name>
<url-pattern>/lifeCycle</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LifeServlet1</servlet-name>
<servlet-class>servlet.LifeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LifeServlet1</servlet-name>
<url-pattern>/lifeServlet</url-pattern>
</servlet-mapping>
</web-app>
xml文件元素:
(1)根标记
根标记为web-app,以<web-app>,以</web-app>标签结束
(2)servlet标记及子标记
web-app根标记里可以有若干个servlet标记,以<servlet>开始,以</servlet>结束。
servlet标记中需要两个子标记:servlet-name和servlet-class,其中servlet-name标记的内容是tomcat创建的servlet名字,servlet-class标记的内容告知tomcat服务器用哪个Servlet类来创建servlet,例如上面的servlet.LifeServlet表示用servlet包中的LifeServlet类来创建一个servlet实例。web.xml中可以有若干个servlet,但是每个servlet的子标记servlet-name互不相同。
(3)servlet-mapping标记及子标记
web.xml文件中每个servlet标记都会对应一个或多个servlet-mapping标记。
servlet-mapping需要有两个子标记:servlet-name和url-pattern,其中servlet-name标记的内容是tomcat服务器创建的servlet的名字(该名字与对应的servlet标记的子标记servlet-name的内容相同),url-pattern标记用来指定用户用怎样的URL格式来请求servlet,例如 :
<url-pattern>/lifeCycle</url-pattern>,则需要在网址中输入http://域名:端口(8080)/文件目录/LifeCycle来请求名字是LifeServlet的servlet。
3、servlet的创建与运行
为Tomcat服务器预备好Servlet类并编写好相应的配置文件web.xml,用户就能根据web.xml部署文件来请求Tomcat服务器创建并运行一个servlet。如果Tomcat服务器中没有***名字的一个servlet,就会根据web.xml文件中servlet标记的子标记servlet-class指定的Servlet类来创建一个名字为***的servlet。