A:新建一个WEB工程
1.创建一个普通的项目:如day13-servlet
2.在项目下面创建一个普通文件夹:如webapps
3.在webapps文件夹里面创建一个WEB-INF文件夹
4.在WEB-INF文件夹里面创建lib文件夹,该文件夹用来装相应的jar包
5.在WEB-INF文件夹里面创建classes文件夹,该文件夹用来存放字节码文件
6.在WEB-INF文件夹里面创建web.xml文件(web.xml是copy来的)
7.配置字节码文件输出到classes文件夹
8.配置tomcat中的server.xml到项目的webapps目录(关联tomcat服务器)
B:创建Servlet
1.导入相应的jar包:tomcat-lib-servlet-api.jar
2.创建一个普通的Java类,实现Servlet接口
3.在对应的service(服务)方法中写上我们的java代码
C:将我们创建好的Servlet交给Servlet容器去管理
1.在web.xml中写相应的配置(这个文件是约定好的)
配置代码如下:
<!--
servlet标签:讲Servlet交给tomcat去管理
Servlet标签:用来配置一个Servlet的类
servlet-name标签:为我们的Servlet取名
servlet-class:中间放Servlet的全限定名称
如何检验全限定名称对错?鼠标选中“全限定名称”按ctrl可以跳转(选择)。则表示正确
-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>cn.itsource.servlet.TestServlet</servlet-class>
</servlet>
<!--
暴露一个地址,放外部可以访问到我们配置的Servlet
servlet-mapping:Servlet的映射
servlet-name:根据这个名称找到相应的真实Servlet,必须同上面的servlet-name名称一致
url-pattern:表示暴露给外部的地址。注意:地址前面必须加“/”
-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<Context docBase="D:\Workspace\day13-tomcatservlet\webapps" path="servlet" />
D:\Workspace\day13-tomcatservlet\webapps 这个文件路径是如下图:
D:运行Servlet
1.启动服务器
2.打开浏览器进行访问
注:初学者创建运行Servlet的常见错误。
1 配置的时候docBase里面不要有中文,空格,特殊符号
2 url-pattern 必需要加上一个 /
3 servlet-class中的全限定名一定要正确
4 一定要配置classes
5 servlet中一定要有一个公共无参的构造器(不用自己写,本身就存在)
Servlet的生命周期
在一个Servlet有几个方法:
getServletConfig() :得到Servlet的配置信息
getServletInfo() :得到Servlet的信息(作者,名字)
下面三个被称为生命周期方法:
init(ServletConfig config):初始化
service(ServletRequest req, ServletResponse resp):服务(运行)
destroy() : 销毁(做一些扫尾工作,请大家不要在这里写代码)
1 服务器运行的时候,Servlet是不会创建的,它会去检查xml中的语法,但是不会去创建相应的Servlet
2 当我们第一次访问的时候:会创建对象->执行初始化方法->运行service方法
3 当我们再次访问同一个Servlet的时候,只执行service方法,创建与初始化方法只会执行一次
4 当服务器关闭的时候,执行销毁方法(正常关闭的时候)
Servlet生命周期的运行流程
构造器 -> 初始化[init]->【运行[service]多次循环运行】->销毁(正常关闭)