1.什么是Servlet

  * Servlet是javaweb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet种通常需要:

      * 接受请求数据

      * 处理请求

      * 完成响应

  * 例如客户端发出登入请求,或则输出注册请求,这些请求都应该有Servlet来完成处理,Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口

  

  * Servlet的特性

      * 单列:一个类只有一个对象;当然可能存在多个Servlet类

      * 线程不安全,所以它的效率是高的

      注意:Servlet类由我们自己来写,但是对象由服务器来创建,并且由服务器来调用相应的方法

2.实现Servlet的三种方式

  * 实现 java.servlet.Servlet接口

  * 继承 java.servlet.GenericServlet类

  * 继承 java.servlet.http.HttpServlet类

  通常我们会继承HttpServlet类来完成我们的Servlet

3.下面是实现java.servlet.Servlet接口,实现的几个方法,并对这几个方法简单的介绍

package Servlet;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class Demo1 implements Servlet {
/*
* 它是生命周期方法
* 它会在Servlet被销毁之前调用,并且只会调用一次
* 这个方法一般不会用,如果用,这个方法会释放一些绑定的非内存资源(io流,数据库连接等等)
*/
@Override
public void destroy() { } @Override
public ServletConfig getServletConfig() {
return null;
} /*
* 获取Servlet的信息,这个方法几乎没用
*/
@Override
public String getServletInfo() {
return null;
} /*
* 它是生命周期方法
* 它会在Servlet对象创建之后马上执行,并且只执行一次
*/
@Override
public void init(ServletConfig servletconfig) throws ServletException { } /*
* 它是生命周期方法
* 它会被调用多次
* 每次处理请求都会调用这个方法
*/
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { } }

4.如何让浏览器访问Servlet(这个需要在web.xml中对Servlet进行配置)

  * 给Servle指定一个Servlet路径(让Servlet与一个路径绑定在一起)

  * 浏览器访问Servlet路径

    * web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>xxx</servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xxx</servlet-name>
<url-pattern>/Demo1</url-pattern>
</servlet-mapping>
</web-app>

最新文章

  1. 树链剖分+线段树 CF 593D Happy Tree Party(快乐树聚会)
  2. iOS_XCode7_Launch Image 的初使用
  3. 【linux】jdk安装
  4. 通过mysql命令行理解mysql
  5. linux C++ 共享库导出类
  6. 关于Guid
  7. javaweb回顾第六篇谈一谈Servlet线程安全问题
  8. etcd学习记录
  9. OPENCV3.1+VS 坑我笔记!
  10. 从3dmax中导入模型到UDK Editor(供个人备忘)
  11. Science发表的超赞聚类算法
  12. Kruscal(最小生成树)算法模版
  13. pyCharm django 中新加app
  14. 免app下载笔趣阁小说
  15. Docker:镜像构建与进入容器总结
  16. 2019.01.13 bzoj4538: [Hnoi2016]网络(树链剖分)
  17. 怎么把excel表格内的数据导入数据库?
  18. Centos 添加永久路由
  19. OpenGL学习--开发环境
  20. linux 下面压缩,解压.rar文件以及rar,unrar实例

热门文章

  1. 20180826(05)- Java URL处理
  2. 20180805-Java ByteArrayOutputStream类
  3. 2018-2019-2 20175307 实验四《Android程序设计》实验报告
  4. Jmeter 中文乱码解决方案
  5. ora4031
  6. 在google chrome浏览器上安装 Vue Devtools工具
  7. CentOS 7.0 配置防火墙
  8. Oracle创建dblink进行跨数据库操作
  9. 【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送
  10. mysql 5.1.34