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>