浅探servlet

2018-05-01  本文已影响0人  冒险小A
准备环境(servlet规范):
  1. 创建一个java project名为helloServletWeb
  2. 在项目下创建文件夹名为webapp,表示web项目的根
  3. 在webapp下创建文件夹名为WEB-INF
  4. 在WEB-INF下创建文件夹classes作为java代码编译后字节码存放的位置
    在WEB-INF下创建文件夹lib存放需要的库
  5. 将classpath改为webapp/WEB-INF/classes
  6. 复制web.xml到webapp下
  7. 复制tomcat根目录/lib/servlet-api.jar到WEB-INF/lib下,并作buildpath

编写代码:

编写servlet程序,使之实现javax.servlet.Servlet接口,并覆盖接口中的方法

public class HelloServlet implements Servlet {......(实现方法)}

此时HelloServlet类和tomcat并没有关联,我们需要告诉tomcat来管理这个类
(tomcat是servlet的容器,负责servlet对象的生命周期和方法调用)

配置web.xml:

部署项目并访问:

复制webapp路径

打开tomcat根目录/conf/server.xml

写<Context docBase="E:\studyNote\wyJavaProject\servlet\webapp" path="FirstServletProject"/>
访问规范:ip:port/contextPath/资源名
所以此时浏览器访问localhost:80/FirstServletProject/hello
结果如下

servlet的生命周期:

创建对象→初始化→运行操作→销毁操作

构造器:在服务端程序第一次被请求的时候调用,只被调用一次。
void init (ServletConfig config) :在构造器执行完毕之后,调用init方法,也只会执行一次.
void service(ServletRequest req,ServletResponse resp) :每一次请求都会执行该方法,
void destroy() :正常关闭Tomcat才会执行(该方法不一定会被执行,我们没必要在其中编写清理资源关闭资源的操作).

注意到,其中构造器必须要使用public修饰,因为底层创建对象是用Class.newInstance()方法.
这种创建对象的方法要求有一个公共的无参数的构造器

上一篇下一篇

猜你喜欢

热点阅读