Servlet学习笔记(一)

来源:互联网 发布:电极式暖手宝 知乎 编辑:程序博客网 时间:2024/05/16 17:23

1.servlet的介绍

①servlet 其实就是java程序(java类)
②该 java 程序(java 类)要遵循servlet开发规范
③serlvet是运行在服务端
④serlvet 功能强大,几乎可以完成网站的所有功能
⑤是学习jsp基础

2.tomcat 和 servlet 在网络中的位置

这里写图片描述

3.servlet的生命周期

这里写图片描述
①WEB服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第④步,否则执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用service()方法并将请求和响应作为参数传递进去。
⑤WEB应用被停止或重启之前,Servlet引擎将卸载Servlet,在卸载之前调用Servlet的destroy()方法。

4.使用实现Servlet接口的方式开发Servlet

  1. 在webapps下建立一个web应用 hspWeb1
  2. 在hspWeb1 下建立 WEB-INF->web.xml 、web.xml可以从 ROOT/WEB-INF/web.xml拷贝。
  3. 在WEB-INF 下建立 classes 目录(我们的Servlet 就要在该目录开发.),建立 lib文件夹。
  4. 开发MyServlet.java

注意:
import javax.servlet.*;
import javax.servlet.http.*;
为了能将servlet-api.jar包引入,需要配置环境变量
变量值: E:\tomcat\apache-tomcat-6.0.20\lib\servlet-api.jar 记得带上文件名**

import java.io.*;class MyFirstServlet implements Servlet{    //该函数用于初始化servlet,就是把该servlet装载到内存中    //该函数只会被调用一次    public void init(ServletConfig config)          throws ServletException{    }    //得到ServletConfig对象    public ServletConfig getServletConfig(){        return null;    }    //该函数是服务函数,我们的业务逻辑代码就是写在这里    //该函数每次都会被调用    public void service(ServletRequest req,                    ServletResponse res)             throws ServletException,                    java.io.IOException{    }    //该函数时得到servlet配置信息    public java.lang.String getServletInfo(){        return null;    }    //销毁该servlet,从内存中清除,该函数被调用一次    public void destroy(){    }}

5.部署Servlet

<!--根据serlvet规范,需要将Servlet部署到web.xml文件,该部署配置可以从examples下拷贝-->     <servlet>        <!--servlet-name 给该Servlet取名, 该名字可以自己定义:默认就使用该Servlet的名字-->      <servlet-name>MyFirstServlet</servlet-name>③      <!--servlet-class要指明该Servlet 放在哪个包下 的,形式是 包/包/../类-->      <servlet-class>com.hsp.MyFirstServlet</servlet-class> 注意:后面不要带.java④    </servlet>        <!--Servlet的映射-->     <servlet-mapping>        <!--这个Servlet-name要和上面的servlet-name名字一样-->        <servlet-name>MyFirstServlet</servlet-name>②        <!--url-pattern 这里就是将来访问该Servlet的资源名部分-->        <url-pattern>/ABC</url-pattern>①    </servlet-mapping></web-app>

服务器调用流程:http://localhost:8088/ABC—>①—>②—>③—>④

原创粉丝点击