zoukankan      html  css  js  c++  java
  • 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方法中调用父类方法
     
  • 相关阅读:
    原创 | 我被面试官给虐懵了,竟然是因为我不懂Spring中的@Configuration
    vavr:让你像写Scala一样写Java
    Java黑科技之源:JVMTI完全解读
    JVM 源码解读之 CMS 何时会进行 Full GC
    MySQL 如何优化大分页查询?
    025:为什么需要将Logger对象声明为private static final类型的
    酷家乐一面二面
    趋势科技面试
    生活就是好好经历,无问西东----三月份总结
    30号快手笔试(三道ac两道半)————-历史上最大的网络失误orz
  • 原文地址:https://www.cnblogs.com/qurui1998/p/10672460.html
Copyright © 2011-2022 走看看