JSP学习日记(一)–关于JSP的一些小疑惑
1.1 JSP是啥
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
总的来说,JSP是一种基于文本的程序,它是用于展示信息操作,其特点就是在HTML页面中嵌入了java代码。
而用JSP开发的Web应用是跨平台的,既能在window下运行,也能在Linux或者其他操作系统上运行。
1.2 JSP运行原理
当web容器接收到以.jsp为扩展名的URL的访问请求时,把该访问请求交给JSP邀请去处理。tomcat中的JSP引擎就是一个servlet程序,它负责解释和执行JSP页面。
每个JSP页面在第一次被访问时,JSP引擎将它翻译成servlet的class类文件,然后再由web容器像调用普通servlet程序一样的方式来装载执行这个由JSP页面翻译成servlet。
而JSP规范没有明确要求JSP脚本程序必须是Java,它还可以采用其他语言来编写,但是最后必须转换为Java Servlet程序。
1.3 JSP和Servlet关系
所以上面一直提到Servlet的到底是啥?和JSP有啥关系?
Servlet是sun公司提供的一门用于开发动态web资源的技术。
它们的不同就是JSP更擅长表现于页面显示,Servlet更擅长于逻辑控制。
JSP和Servlet和本质上都是java类。编写的jsp文件,初看起来虽然绝对不像一个java类,但当你把它部署到容器中后,如tomcat。tomcat将会把它翻译为Servlet,最后在把它编译为.class文件。
所以JSP归根结底是Servlet。
1.4 JSP和JS关系
JS和JSP就差一个字母,那么它们之间有什么不同吗?
JS(全称JavaScript )是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
它们之所以怎么像是因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。所以他们之间并没有什么关系。
JS是脚本语言,是一种轻量级的编程语言。
JSP一种动态网页开发技术。
JS是在客户端执行的,需要浏览器支持JavaScript。
JSP是在服务器端执行的,需要服务器上部署支持Servlet的服务器程序。
JS代码能够直接从服务器上download得到,对外是可见的。
JSP(和翻译后的Servlet代码)是对外不可见的。