什么是javaweb开发?
当下,人们使用互联网的软件入口,一个客户端,一个是浏览器。在早期网络带宽和网络技术还不想现在这么发达时,当时的浏览器给用户的体验并不好,浏览器性能也不如客户端,所以大部分应用都是用客户端完成的。但是随着网络技术的发展,原来都是在一台本地机上才能完成的任务,现在可以在远端上完成,浏览器和web技术的成熟,浏览器也能提供不输于客户端的使用体验,当下,web应用在pc端正在大规模取代客户端,各种云的产生也是基于web应用和网络设备的成熟才兴起的,原来在需要在自己的电脑上安装软件才能解压缩,写word,看视频,写程序,p图,现在只需一个浏览器就可以实现。
如果想开发一个web应用,那么浏览器和服务器这是必不可少的,浏览器不用说大家天天打交道,而服务器呢?首先,服务器仅仅是台电脑而已,并不是因为他放在机房里就变成服务器,他和我们家用电脑结构是完全一样的,只不过更注重服务群体而不只是想家用机服务各人。
服务器和家用机的区别,就是装了提供服务的软件而已,顶多在硬件上会有些优化,所以我们在个人电脑上装个服务器软件也可以变成服务器。只要把你的写的服务软件运行起来就可以为别人提供各种服务了
而用java写的服务软件就是javaweb程序,我们要用java来开发web服务软件,让服务器跑我们写的软件这样就能为别人提供服务。用其他语言写服务程序也是可以的。
我们使用web程序的流程是怎样的?
下面这张图比较清晰地描述了我们最通常请求一个服务的过程,也是web的核心内容:
逻辑很清楚,这里要说是http和CGI,http我们可以将它想象成一个报告,报告需要填写合适的信息才能被其他部门接受和处理,内容大概就是请给我http://baidu.com/xss/的资源,浏览器是通过地址栏上的url把报告写到上面的,转交给http服务器,收到这个请求报告,转给对应的处理对应请求的程序,程序根据请求去数据库取走数据返回给浏览器。http服务器就是我们的tomcat之类的软件,这里http扮演了由前到后的作用。
而CGI就是代表web服务软件,我们是用java程序来处理浏览器请求的,也可以用其他语言编写的程序来处理请求,不过那就是其他web程序了。
要开发一个web程序都需要学什么?
学的就是上面这个流程中的每一个部件,只学习javaEE的话,那只能完成CGI程序的部分,而一个web程序是需要学习整个流程
浏览器相关技术:html,css,js,
http服务器:tomcat,APache等
CGI程序:spring全家桶
数据库:mysql等
所以学习web开发的时候,心里一定要清楚现在的内容实在针对web流程的哪一个部分,把上面的图当做你学习web的地图,你就不会迷路。