3.1 概念 运行在服务器端的小程序 Servlet 就是一个接口 定义JAVA类被浏览器访问(Tomact 识别)的规则 将来 我们需要自定义一个类 实现servlet 接口 重写方法3.2 快速入门 1 创建一个JavaEE项目 2 定义一个实现Servlet 接口 3 实现接口中的抽象方法 4 配置Servlet 在web.xml 配置配置文件:demo1
package cn.lijun.web.servlet;import javax.servlet.*;import javax.servlet.annotation.WebServlet;import java.io.IOException;@WebServlet("/mingming")public class Demo1Servlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("我是init我启动了"); } @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() { System.out.println("我被销毁"); }}
执行原理: 1.当服务器 接收到客服端浏览器请求后 会解析url地址 获得url路径 获得访问Servlet资源路径 2 查找web.xml文件 是否有对应的标签内容3 如果有 则找对应的 全类名4 tomcat 会将这个类加载进内存 创建其对象5 调用其方法1.4生命周期 1 被创建 执行init方法 只执行一次 Servlet 什么时候被创建 第一次被访问的时候 servlet被创建 2 提供服务 执行service方法 执行多次 每次访问servlet时候都执行 3 被销毁 执行destroy方法 服务器被关闭的时候 servlet被销毁 1.5Servlet3.0注解配置 支持注解配置 可以不需要web.xml1.6Servlet体系结构 Servlet ----接口 GenericServlet-----抽象类-------》重写service方法 HttpServlet 抽象类-------》 对HTTP进行了封装 简化操作 doGet() doPost()1.7Servlet相关配置 Urlpartten:servlet访问的路径 1 一个servlet可以定义多个访问路径 @WebServlet({“/lijun”,“/demo”,“/de”}) 2 路径的规则 1 /XXXX 完全的路径匹配 2 /xxx/xxx 多层匹配 3 *.xxx 拓展名匹配
servlet 中几种错误404:资源未找到 原因一:在请求地址中的Servlet的别名书写错误 原因二:虚拟项目名称拼写错误500错误:内部服务器错误 在web.xml中校验servlet的全限定路径是否正确 在service方法体中存在逻辑错误 根据错误语法service方法体中的代码进行错误更改 405错误:强求方式不支持 请求方式和servlet、方法不匹配 尽量使用service方法 尽量不要在service方法中调用父类方法