• 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()

  • 相关阅读:
    软件工程概论-用户登录界面
    2016.11.25异常处理
    2016.11.18多态
    2016.11.11继承与接口
    11.6数组
    10.28字符串加密等
    python 读写文件
    python可变的类型、不可变的类型
    python 字典练习 记录学生是否交作业的小程序
    python字典
  • 原文地址:https://www.cnblogs.com/postgredingdangniu/p/9583078.html
Copyright © 2020-2023  润新知