1.静态web页面,一般指的是html:
1.在静态Web程序中,客户端使用Web浏览器(IE,FireFox等)经过网络(NetWork)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到那个页面,所有的请求交给Web服务器,之后Web服务器根据用户需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容后经过浏览器渲染解析,得到显示的效果。
2.为了让静态Web页面显示得更加好看,使用javaScript/VBcript/ajax,这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上并没有任何变化。
3.静态web无法连接数据库
4.静态web资源开发技术:Html
5.由于现在的web页面中,大量使用JS,导致浏览器打开页面,就会占用大量的内存,服务器的压力是减轻了,但压力转移到了客户端。
2.动态页面开发,一般指的是JSP:
1.动态Web中,程序依然是使用客户端和服务器,客户端依然使用浏览器(IE,FIreFox等),通过网络(NetWork)连接到服务器上,使用HTTP协议发起请求(Request),现在所有请求都先经过一个Web Service来处理。
如果客户端发起的请求是静态资源(.jsp,.asp,.php,.aspx),则将请求转交给WEB Container(Web容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面所展示的内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送到客户端浏览器进行解析执行。
2.再进一步分析动态WEB的访问过程:浏览器访问web时,看似是直接访问的jsp页面,其实是,最先到达的地方是服务器,服务器创建好req和resp对象再交给jsp页面使用,jsp页面就会生成相应的html页面。该页面会返回到服务器,通过resp对象返回给客户端。
3.为什么需要web服务器?(WEB Server)
1)不管什么web资源,想要被远程计算机访问,都必须有一个与之对应的网络通行程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。
2)WEB服务器就是这样的一个程序,它用于完成底层通讯,处理http协议。使用这些服务器,web应用的开发者只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端,从而极大地减轻了开发者的开发工作量。
3.关于两者区别的简单描述
1.静态页面就是设计者把页面上的所有东西都设定好了,做死了,然后放上去,不管是谁在任何时候看到的页面内容都是一样的,一成不变的。静态html页面,可以直接使用本地的浏览器打开。
2.动态页面的内容一般都是依靠服务器端的程序生成的,不同人,不同时候访问页面,显示的页面都可能不同。网页设计者在写好服务器端的页面程序后,不需要手工控制,页面的内容会按照页面程序的安排自动进行变换。
3.html是W3C规范的一种网页格式,页面是一种统一协议语言,我们网上看到的大部分都是html语言。jsp是一种基于动态语言,jsp可以实现html的所有任务。
4.HTML(Hypertext Markup language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性语言,因为,只要你有一个浏览器那么它就可以显示出来,而不需要指定编译工具,只需要在txt文档中写上html标记就可以正常显示。
5.JSP的前身是servlet
6.html和jsp表头不一样,这个是jsp的头 <%@ page language=“java” import=“java.util.*” pageEncoding=“gbk”%>在表头中有编码格式和导入包等。也是很好区分的,在jsp中用<%%>就可以写java代码了,而html没有<%%>.
7.不认识jsp或者asp,但有时候界面需要逻辑控制,所以我们就需要用相应的技术来实现,这样比较方便。而jsp在后台通过服务器解析为相应的html,然后在供浏览器识别。如:<% if(flag == a){《label》a《label》}else {《label》b《label》}%>
服务器在读取到这段代码后,根据新颖的业务逻辑,编译成相应的servlet,再有servlet输出到页面(输出html).
各自的优缺点
1.ajax的优点:
1.开发过程中使前端和后端脱离,交互通过JSON传输来实现。
2.跨平台能力更强,依托于浏览器的支持
3.使后台数据接口能够得到复用
2.ajax的缺点:
1.开发难度大,考虑浏览器的兼容性
2.页面请求过多
3.属于后加载,无法被爬虫爬到
4.接口diamante需要新增很多
5.无法直接显示java实体类对象,需要转换为json格式
3.jsp的优点:
1.可被爬虫爬到
2.减少请求次数
3.不用考虑浏览器的兼容性
4.jsp的缺点:
1.增大了服务器的压力
2.前端和后端未脱离,拖慢开发进度
3.过于依赖java运行环境
4.复用率较低