一般java学习的方向还是以web开发居多的,可能会接触很多开发框架,比如spring,struts,hibernate,mybatis等,经过初步的学习学会了如何去使用,也了解了框架的一些作用,在此我就不对框架多做解释了,而是描述一下程序构成以及网络请求的整个过程。
1 浏览器的兼容性问题,大家都知道浏览器兼容性是个比较头疼的问题,虽然html标签和css样式有通用的版本,但是各个浏览器解析处理的方式还是有所不同的。浏览器的作用主要就是展示页面,发送网络请求,特殊之处在于不同浏览器支持不同的内置js对象,能够实现不同功能。
2 浏览器产生请求会发送给服务器,暂时以tomcat为例,服务器接收请求后会进行处理,在web项目中我们编写的服务代码其实都是中间性的,也可以说都是资源,tomcat启动时会执行他本身的main方法,这也符合java程序会有一个可供执行的main方法的特点。jetty这种轻量级容器概念就是将服务器本身做了封装,让你能够达到调用main启动服务的目的。
3 web项目是我们经常面对的,开篇提到的框架也都是以此为主,一般包含静态资源,资源控制器,数据持久层。
其实服务器与web应用项目就是一个整体,但是我们开发一般都着眼于web项目本身从而忽略了其他的特点,我们了解这整个过程之后有许多问题就变得更加清晰了。工具只是让我们工作效率提升了,但是他绝不是你不去深入理解他的理由,这些背后的思想和智慧才是我们真正去要学习的。
领取专属 10元无门槛券
私享最新 技术干货