一.什么是 Servlet
- 1、Servlet 是 JavaEE 规范之一。规范就是接口
- 2、Servlet 就 JavaWeb三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
- 3、Servlet是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
二:手动实现 Servlet 程序-步骤
- 第一步:编写一个类去实现 Servlet 接口
- 第二步:实现 service 方法,处理请求,并响应数据
- 第三步:到 web.xml 中去配置servlet 程序的访问地址
- 第一步:编写HellServlet类去实现 Servlet 接口
- 继承Servlet接口一直报错,其原因是:未导入servlet的jar包
- 解决:
- 1.找到tomcat文件夹下面的lib文件夹,找出“servlet-api.jar”
- 2.复制该jar文件到你的web项目下的web-inf中的lib中。
- 3.ctrl+s重新保存之前报错的文件,系统会自动更新,错误消失
- 第二步:实现 service 方法,处理请求,并响应数据
- 第三步:到 web.xml 中去配置servlet 程序的访问地址
在web.xml文件下,配置定义servlet程序的访问地址HelloServlet com.jianqun.servlet.HelloServlet HelloServlet /hello
- 访问地址:http://localhost:8080/dynamic_war/hello
三:url 地址到 Servlet 程序的访问过程
四:Servlet 的生命周期
- 1、执行 Servlet 构造器方法
- 2、执行 init 初始化方法 第一、二步,是在第一次访问的时候创建 Servlet 程序会调用。
- 3、执行 service 方法 第三步,每次访问都会调用。
- 4、执行 destroy 销毁方法 第四步,在 web 工程停止的时候调用。
五:GET 和 POST 请求的分发处理
- 实现get和post请求的分发处理
六. 通过继承 HttpServlet 实现 Servlet 程序
- 在实际开发中,我们很少使用实现servlet接口的的方式来实现POST和GET请求等,在开发的时候,大家一般都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。
- 具体的过程是:
- 1.编写一个类去继承 HttpServlet 类
- 2.根据业务需要重写 doGet 或 doPost 方法
- 3.到 web.xml 中的配置 Servlet 程序的访问地址
- 第一步: 编写一个类去继承 HttpServlet 类
- 第二步: 根据业务需要重写 doGet 或 doPost 方法
第三步:到 web.xml 中的配置 Servlet 程序的访问地址
七:使用 IDEA 创建 Servlet 程序
- 使用IDEA新建没有servlet菜单选项解决办法
- 使用 IDEA 创建 Servlet 程序
八.Servlet 类的继承体系
ServletConfig 类
一.什么是ServletConfig 类?
- 1.从类名上来看,就知道是 Servlet 程序的配置信息类。
- 2.Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
- 3.Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet程序创建时,就创建一个对应的 ServletConfig 对 象。
二.ServletConfig 类的三大作用
- 1、可以获取 Servlet程序的别名 servlet-name 的值
- 2、获取初始化参数 init-param
- 3、获取ServletContext 对象
注意事项:
ServletContext 类
一.什么是 ServletContext?
- 1、ServletContext 是一个接口,它表示 Servlet 上下文对象
- 2、一个 web 工程,只有一个 ServletContext 对象实例。
- 3、ServletContext 对象是一个域对象。
- 这里所谓的域对象就是说:是可以像 Map 一样存取数据的对象,叫域对象。
- 这里的域指的是存取数据的 *** 作范围,整个 web 工程。
- 4、ServletContext 是在web 工程部署启动的时候创建。在 web 工程停止的时候销毁。
ServletContext 类的四个作用
- 1、获取 web.xml 中配置的上下文参数 context-param
namespace context password root ContextServlet /hello4
ServletContext context = getServletConfig().getServletContext(); String namespace = context.getInitParameter("namespace"); System.out.println("context-param参数username的值是" + namespace); String password = context.getInitParameter("password"); System.out.println("context-param参数username的值是" + password);
- 2、获取当前的工程路径,格式: /工程路径
//2.获取当前的工程路径,格式: /工程路径 System.out.println("获取当前的工程路径" + context.getContextPath());
- 3、获取工程部署后在服务器硬盘上的绝对路径
//:3.获取工程部署后在服务器硬盘上的绝对路径 //:" / ":斜杠被服务解析的地址为:http://port/工程名/ System.out.println("工程部署的路径" + context.getRealPath("/"));
- 4、像 Map 一样存取数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)