对servlet进行了一番深入的研究,当然所谓的深入研究,也就是从网上读了n篇文章总结出来的经验。
原来网页还分静态网页和动态网页两大类,对毛哥而言,这简直就是哥伦布发现了新大陆,鲁班找了新大斧,伽利略观察到了三体,牛顿头上砸了转基因红富士…
还是得从浏览器说起,浏览器可以打开本地的html网页,并按照html协议规定的显示方式来显示网页。
浏览器还可以加载指定地址的网页,例如http://47.104.60.1:8080/index.html
,表示加载ip为47.104.60.1的设备上8080端口的服务的根目录下的index.html文件,可以理解为将该html网页下载到本地然后显示。再例如
http://www.xyzabc.com
,这个www.xyzabc是一个域名,实际上也是对应一个ip地址的,然后没有写具体端口,其实是因为80默认端口是默认的可以不写,然后也没写具体文件,其实也是因为index.html是默认加载首页可以不写。
也就是说,浏览器可以请求指定地址的网页,并将其获取过来显示当浏览器窗口中。
扯了这么多了,终于可以说到动态网页了。
静态网页就比如html网页,就是一个静态文件,用户通过浏览器每次请求的就是这个文件,传递到用户浏览器时没啥变化。
而静态网页,请求的不是一个静态文件,而是一个处理程序,该程序根据用户请求的不同,动态的返回处理结果。
所以才有张三,李四同样是打开淘宝网的购物车,看到的东西不同,这就是购物车程序根据用户不同经过计算返回不同网页的结果。
OK,看来还是动态网页厉害啊,静态网页也只能显示一些固定信息,动态网页才是网站功能千变万化的技术支持!
那动态网页技术是如何实现的呢,毛哥继续查阅资料,同时继续思考。
实际上就是一个普通程序,这个程序至少有两个功能,第一得能生成html内容,第二得把这个内容交给浏览器。
生成html内容这个所有语言都没问题,例如java语言。
String a="<html>" a+="<head><title>一个示例网页</title></head>" a+=
"<body>hello</body>" a+="</html>";
但是如何将这个内容交给浏览器呢,此处因为浏览器和咱们的程序可能不在一台电脑上,所以需要网络通信。
国际上先行者早就规定了浏览器html是通过http协议通讯的,而java语言也支持http协议(例如通过socket实现http通讯)。
所以问题就迎刃而解了,java程序中生成网页,然后通过java网络通讯模块打开一个端口(例如8080),浏览器通过这个端口请求该网页就行了。
当然了,对于我们写动态网页的人来说,完全不用考虑从底层一步一步实现java网络协议模块,就比如通过java网屏幕上打印一个hello world,直接调用
System.out.println("hello world")就可以了。
同样,通过java的动态网页技术向浏览器输出网页内容,也只需要通过servlet就可以了哦。
OK,那就会用servlet就可以了,终于入门啦。
热门工具 换一换