Servlet 学习

3.1  概念    运行在服务器端的小程序
                 Servlet  就是一个接口  定义JAVA类被浏览器访问(Tomact 识别)的规则   将来 我们需要自定义一个类  实现servlet 接口  重写方法
3.2  快速入门
                1  创建一个JavaEE项目
                2  定义一个实现Servlet 接口
                3  实现接口中的抽象方法
                4  配置Servlet   在web.xml 配置
配置文件:
 <servlet>
        <servlet-name>demo1</servlet-name>      <!-- 可以随便起个名字->     
        <servlet-class>cn.qu.demo.ServletDemo</servlet-class><!-- 路径必须正确  包名 跟类名->
    </servlet>
    <servlet-mapping>
            <!-- 映射->
        <servlet-name>demo1</servlet-name>
            <!--虚拟路径->
        <url-pattern>/aaa</url-pattern>
    </servlet-mapping>
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文件  是否有对应的<url-pattern></url-pattern>标签内容
3 如果有  则找对应的<servlet-class>全类名
4 tomcat 会将这个类加载进内存  创建其对象
5 调用其方法
1.4生命周期
   1  被创建  执行init方法    只执行一次
      Servlet 什么时候被创建    第一次被访问的时候 servlet被创建
   2 提供服务  执行service方法  执行多次  每次访问servlet时候都执行
   3 被销毁 执行destroy方法   服务器被关闭的时候  servlet被销毁 
1.5Servlet3.0注解配置
     支持注解配置  可以不需要web.xml
1.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方法中调用父类方法
 
原文地址:https://www.cnblogs.com/qurui1998/p/10672460.html