• 2021.1.11 Servlet


    Servlet

    Servlert概念
    是javaEE十三个规范中的一个,规范就是借口,使用java语言编写的运行在服务器端的小程序

    2.快速入门
    1.实现Servlet借口,并实现五个方法
    init():---->初始化当前Servlet信息,只会调用一次
    getServletConfig():--->获取当前Servlet配置信息
    Servlet():--->获取当前Servlet类对外提供的具体服务,就在Service里面,每次请求都会调用一次
    getServletinfo():---->获取Servlet类的相关信息
    destory():--->销毁Servlet类对象信息,当Servlet对象用多个的时候就会被销毁
    web.xml代码演示





    Test
    /aa

    <!--ServletDemo01,要关联项目中对应的Servlet服务类-->
    <servlet>
        <servlet-name>Test</servlet-name><!--关联起来就不会报红了-->
        <servlet-class>demo01.Test</servlet-class><!--是一个全限定类名,类的全路径=包名+类名 刻画u但窗口i西安市的就是这个类里面的Servlet方法中的数据-->
        <load-on-startup>1</load-on-startup><!--手动指定服务类加载的时机,数字越小越先被加载-->
    </servlet>
    
    <!--对于Tomcat服务器来说,默认打开的页面是以index开头的页面,index.html或者index.jsp,就是欢迎页面-->
    <welcome-file-list>  <!--是一个欢迎界面列表--><!--优先级别,从上往下赵,前面没找到才会找后面的-->
        <!--但是一般是不指定的使用Tomcat默认的欢迎界面-->
    
        <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>
    
                       **Servlet实现类代码演示**
    

    //让该类变成一个Servlet类,需要遵从Servlet规范--->实现Servlet接口
    //用于链接客户端和服务端的中间器件 需要借助Tomcat
    //首先把项目部署到Tomcat中
    public class ServletDemo01 implements Servlet {

    //init()--->初始化当前Servlet信息
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
    
    }
    
    
    //getServletConfig-->获取当前Servlet配置信息
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
    
    
    //Service()-->获取当前Servlet类对外提供的具体服务,就在Service里面,每次请求都会调用一次
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        //请求改服务,让页面显示一句话
        System.out.println("请求成功!");  //这个只会显示子在服务窗口不会显示在客户端,就要使用流操作
        //数据传输  使用流  打印流  打印到客户端中
        servletResponse.getWriter().write("aiaiaiia");
      }
    
    
    //getServletInfo()-->获取Servlet类的相关信息
    @Override
    public String getServletInfo() {
        return null;
    }
    
    
    //destory--->销毁Servlet类对象信息,当Servlet对象调用多个时候就会被销毁
    @Override
    public void destroy() {
    
    }
    

    }

    2.部署步骤
    1.先部署到当前项目到Tomcat中
    2.让浏览器刻画段找到项目对外提供的服务--->就是路径的映射:url-pattern,在web.xml中注册服务:目的就是映射浏览器客户端的url地址,就是具体某个服务请求
    3.启动Tomcat服务器--->点击运行小图标--->会运行默认的页面--->对于Tomcat服务器来说,默认打开的页面就是index开头的html或者jsp页面,也就是我们的欢迎页面
    4.启动Tomcat页面,并把url田家玮我们之前设定的url-pattern标签地址,就能显示我们指定的servlet-class标签类,Servlet方法里面的数据了

    3.内部实现原理
    1.Servlet是一套javaEE的规范:约束服务端的请求,包含三个技术点:Servlet技术(服务),filter技术(过滤器),listener技术(监听器)
    2.原理:当客户端发送请求过来,Tomcat会先解析请求的url路径,在web.xml文件中去找对应的url- pattern标签地址,找到了就去读取在servlet-name标签里面的类名,找到对应的服务类,加载服务类信息,Tomcat会创建找到的类对象,再调用里面的servlet方法,执行里面的内容,如果该服务类是第一次被请求,就会调用init()方法初始化该类对象的信息,然后再调用service方法里面的内容

    4.Servlet生命周期
    nit()::::::服务类第一次请求的时候,创建对象就会调用init()方法初始化类对象信息
    service():::::每次发送请求的时候会被执行。
    ServletRequest:代表请求,会把Http请求的所有信息装配到ServletRequest对象中
    ServletResponse:代表响应,会把Http响应中的信息装配到ServletReponse对象中
    destory():Servlet类对象被销毁的时候就会被调用--->比如代码该了,类对象就被销毁了,服务器被销毁

  • 相关阅读:
    Python 写文件
    Python 读文件
    Python 打开文件(File Open)
    Python 异常处理(Try...Except)
    Python PIP包管理器
    Python 正则表达式(RegEx)
    Python JSON
    Python 模块
    Python 迭代器(Iterator)
    Python 继承
  • 原文地址:https://www.cnblogs.com/tushao/p/14263967.html
Copyright © 2020-2023  润新知