一. 什么是servlet?
servlet 是运行在服务器上的小程序,专门负责处理客户机的请求,它是一个接口,定义了一些规则(被游览器访问了如何处理的规则)。
二. servlet怎么用?
1. 创建实现servlet接口的类
- 首先创建一个类来实现servlet接口 ,这里我们只在service类中写入
System.out.println("你好!");
package Servlet;
import javax.servlet.*;
import java.io.IOException;
public class ServletDemo1 implements Servlet{
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("你好!");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
2. 修改web.xml文件
下面红框内为添加部分,第一demo1为虚拟目录名字,下面为类的全类名,下面的servlet-mapping 内 第一个是虚拟目录名字(通过这个来搜索上面名字相同的servlet),第二个为虚拟目录。 标签及其内容可以不写,在类中,用下面的注解代替
3. 开启服务器
等待服务器开启,访问指定的虚拟目录,然后web.xml文件就会查询是否有 url-pattern 标签,如果有 再根据 虚拟目录名字 查找 相应的servlet标签下的 全类名(不懂可以看上一个步骤),并调用类中的方法(多种方法根据需求不同都可调用)。 得到结果 ,因为我刷新了一次,打印了两遍 你好。
servlet 接口方法的介绍
1. init()
init :起始方法,仅在服务器开启时执行一次。
2 .service()
service : 服务方法,更新开启服务器都会执行。
3 . destroy()
destroy: 摧毁方法,仅在服务器正常关闭时执行一次 。
以上三种方法,统称为servlet的生命周期方法,是servlet最主要的功能
4. getServletConfig()
getServletConfig():获取servlet的配置信息。
5 .getServletInfo()
getServletInfo():获取servlet的一些基本信息,比如作者,版权等等。
注意:内存中只存在一个servlet对象,但它可被多个类引用,存在安全问题,所以尽量不要在它的方法中定义成员变量。
HttpServlet抽象类用法
HttpServlet:继承了 GenericServlet抽象类(实现了Servlet接口,并且只用了servel()方法,其他方法置为空,可以重写),而且是对http协议的一种封装,具有doGet和doPost方法应对不同的请求。
@ WebServlet()
主要设计路径,格式如下: 1 . @ WebServlet(urlPatterns = "/demo1") ,加单个虚拟目录 2 .@ WebServlet(urlPatterns = {"demo1","demo","ddd"}) ,加多个虚拟路径 3. @ WebServlet(urlPatterns = "/user/demo") ,加双重路径 4. 也有很多特殊写法 @ WebServlet(urlPatterns = "/*") ,@ WebServlet(urlPatterns = " *.do") .
|