• 2018-09-03网页访问的基本执行流程+Servlet基本结构与运行机制


    Java核心编程之Servlet:

    Servlet运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求,响应给浏览器的动态资源!但Servlet的实质就是Java代码,通过Java的API     动态的向客户端输出内容!

    Servlet规范:

    ①    Servlet技术!

    ②    Filter技术(过滤器)!

    ③    Listener技术(监听器)!

    实现步骤:

    ①    创建类实现Servlet接口!

    ②    覆盖尚未实现的方法(init/Service/Destory)!

    ③    在Web.xml进行Servlet的配置!

    init(ServletConfig config)

    执行时间:Servlet对象创建的时候执行(访问网址)!

    ServletConfig : 代表的是该Servlet对象的配置信息!

    Service(ServletRequest request,ServletResponse response)

    执行时间:每次请求都会执行!

    ServletRequest:请求对象,内部封装Http的请求信息!

    ServletResponse:响应对象,内部封装响应信息!

    destroy()

    执行时间:Servlet销毁时执行(关闭TomCat服务器时)!

    Servlet生命周期面试题:当服务器开启后,用户第一次访问网址时,创建Servlet对象,执行init()方法,之后每一次请求都会执行Service()方法,当服务器关闭时执行Destory()方法,Servlet对象被销毁!

    对MyServlet进行了10次访问,init(),destory(),service(),doGet(),doPost()   一共执行力多少次?request对象创建几个?response创建几个?

    10次访问,总共执行1次init()方法,1次destory()方法,10次service()方法,10个request对象和10个response对象!

    自定义的Web.xml的信息!

    Url-Pattern的基本配置:

    ①    完全匹配:访问的资源与配置的资源完全相同才能访问到!

    ②    目录匹配: /目录…/目录…/*(*号代表任意文件)

    ③扩展名匹配: *.扩展名(Tips:扩展名可以不用/)

    //目录匹配和扩展名匹配不要混用!

    强调:Servlet对象默认在服务器开启后用户第一次访问时创建,但是可以在Web.xml中写入:

    这句话指定Servlet对象在服务器启动时创建,存在多个Servlet对象的情况下可以设置优先级,优先级越高数字越小,建议从3或者5开始!

    缺省的Servlet:

    只设置一个/构成缺醒的Servlet!

    当访问的所有资源都不匹配时,会访问缺省的Servlet,相当于一个托底的设置,避免404错误!

    如果在浏览器中URL地址中,不写任何资源,单纯访问:

    localhost:8080/WEB002

    TomCat内核会去自定义的Web.xml中找Welcome-File-List寻找页面,如果没有就去TomCat中Conf文件夹中找Welcome-File-List,如果还没有,则会报404错误!

    HttpServlet类:

    ①    init()

    ②    doGet(HttpServletRequest request,HttpServletResponse response)

    ③    doPost(HttpServletRequest request,HttpServletResponse response)

    ④    destroy()

  • 相关阅读:
    Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3)
    Educational Codeforces Round 79 (Rated for Div. 2)
    Codeforces Global Round 6
    Codeforces Round #608 (Div. 2)
    Codeforces Round #606 (Div. 2)
    Codeforces Round #603 (Div. 2)
    Educational Codeforces Round 77 (Rated for Div. 2)
    洛谷 P3805 【模板】manacher算法
    HDU 1671 Phone List [字典树]
    2019牛客暑期多校训练营(第一场)E.ABBA
  • 原文地址:https://www.cnblogs.com/postgredingdangniu/p/9583078.html
Copyright © 2020-2023  润新知