(JavaWeb笔记)BS架构模式——Browser+Tomcat+Servlet+Java+MySQL——五者关系分析

(JavaWeb笔记)BS架构模式——Browser+Tomcat+Servlet+Java+MySQL——五者关系分析,第1张

目录

一.浏览器(Browser)

二.Tomcat(Server)

三.Servlet(处理请求和响应)

四.Java(开发者)

思考与解答

五.MySQL(JDBC)

六.关系图 ​


一.浏览器(Browser)

         解析web应用前端返回的HTML、CSS、JavaScript功能代码,渲染成用户 *** 作界面,采用HTTP协议通过Tomcat服务器请求(request)和响应(response)web应用前端,同时借助JSON数据实现web系统数据的传输。


二.Tomcat(Server)

        Java语言编写开源的一套规范的业务接口类库,根据Browser指定URL信息,负责Browser的Servlet实现类交互,web前端和web后端的服务者(类私中介转发消息的作用)。


三.Servlet(处理请求和响应)

        是sun公司制定的Java语言与Tomcat服务器进行通信的一套规范的业务接口类库,提供给开发者处理web应用的Java小程序功能。


四.Java(开发者)         思考与解答

        Tomcat如何根据URL路径去准确找到Servlet的?

        例如:UserServlet中有login()和register()的两个Java小程序(登录或注册),URL是“http://localhost:8080/项目名/login.html”,当触发前端的form表单的action="/UserServlet/login",或者Ajax的url:"/UserServlet/register"、port:"8080"。

        再次思考:为什么触发url的路径就能找到对应的UserServlet呢?

        (1)UserServlet(xxxServlet)都必须遵守Tomcat接口规范,《实现Servlet接口》这是规范!!!如---> public UserServlet impleament Servlet{ xxx},好比浏览器与Tomcat规范是HTTP协议,而Tomcat与Java语言规范就是Servlet

        (2)实现Servlet后必须通过xxx.properties键值(或web.xml)对方式来注册UserServlet的完全限定名称"com.dhrj.zs.UserServlet"。

        (3)Tomcat是Java语言开发,启动Tomcat的“startup.bat”命令是,命令文件内容指向一个bootstrap.jar包,源码底层启动Tomcat是Java主方法main(),在main方法中启动服务(8080服务端口)后,接受到前端的请求,根据URL路径信息找到对应的Servlet,同时读取xxx.properties,根据键获取对应Servlet的完全限定名称赋值给String类型变量,利用Java反射机制的Class类的静态方法fromName("完全限定名称")+和newInstance()创建Object对象,此对象使用Method +Filed+Constructor来获取调用类的属性和方法,再通过JDK动态代理的Proxy.newProxyInstance(类加载器、接口数组、InvocationHandler接口),实现InvocationHandler接口,调用invoke()动态返回代理结果给代理实例对象(Proxy)。

        (4)根据Java语言的多态机制,Tomcat肯定UserServlet是实现sun公司的Servlet接口,因此Tomcat启动main()执行,在编译阶段指向sun公司的Servlet接口,运行时动态绑定UserServlet,动态调用重写sun公司的Servlet接口的init()/service()/destroy()/getServletInfo()/getServletConfig()


五.MySQL(JDBC)

        JDBC(好比HTTP和Servlet是sun公司制定Java语言连接数据库的规范接口类库,使用MySQL驱动包+JDBC来完成。


六.关系图 

图片来源:动力节点老杜2022-JavaWeb

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/786139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存