xml和html可以认为是超集和子集的关系。html是xml的一个子集,因此html比xml简洁。html够用的地方就用html,不够用的地方就用xml。(什么?哪里够用哪里不够用?这个就要学习了xml的基本原理后才能理解了。现在说了也很抽象。)
关于jsp、servlet和javascript:首先你要分清一个概念,什么叫“动态网站”。动态不是说页面上的东西能动,而是说你这个网站有一些诸如留言板、论坛之类的无法仅仅通过客户端浏览器实现的功能。
java script是一种客户端脚本语言,它一般是用来提供一些简单的客户端功能(注意,我说“一般是”,没说“只能是”),用来补充html的不足。比如,快速验证你填写的email地址是否合法,javascript在浏览器里面执行,这和html是一样的。
jsp/servlet是服务器端的程序,它们由服务器执行。servlet可以完全替代jsp,一般来说,对普通网站而言,jsp也可以替代servlet的作用。之所以会有jsp和servlet这两个功能上差不多的东西,是因为一些设计模式/软件工程上的考虑,简单一点理解的话,也可以这么说:jsp比servlet要简单,而servlet要比jsp强大、有效,因此针对网站的不同功能模块,需要合理选择使用servlet还是jsp来编写。
因此,根据之前对“动态网站”的定义,javascript不是用来做动态网站的,而jsp/servlet是。比如说新浪这个爱问程序,当你回答一个问题的时候,输入框右下角会显示你还能输入几个汉字,这个就是用javascript实现的,而当你点了提交按钮以后,服务器会收到你的回答,并把回答存入数据库,这个存入数据库的功能就可以通过jsp或servlet实现