一,直观认识
在JSP页面中也可以使用一种称之为JSP表达式的元素,只需将要输出的变量或表达式直接封装在<%= 和 %>之中,就可以向客户端输出这个变量或表达式的运算结果。在JSP表达式中嵌套的变量或表达式后面不能有分号。
二,运行原理
WEB容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。
每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。
Tomcat 6.x把为JSP页面创建的Servlet源文件和class类文件放置在“<TOMCAT_HOME>\work\Catalina\<主机名>\<应用程序名>\”目录中,Tomcat将JSP页面翻译成的Servlet的包名为org.apache.jsp.<JSP页面在WEB应用程序内的目录名>
三,JSP与JavaScript的综合应用
JavaScript是由浏览器解释执行的程序代码,它是网页内容的一部分,主要用于在网页上产生动态的显示效果和实现与用户的交互功能。
JSP程序则是由WEB服务器解释执行的程序代码,它用于产生供浏览器显示的网页内容。
由于JavaScript代码属于网页的内容部分,所以,JavaScript代码也可以通过JSP页面输出。
JavaScript和JSP的关系犹如HTML代码和JSP的关系,即JavaScript代码是JSP程序输出的一段可以被浏览器解释执行的特殊文本内容。
四,JSP与Servlet的应用比较
JSP是一种以产生网页显示内容为中心的WEB开发技术,它可以直接使用模版元素来产生网页文档的内容。
JSP页面的源文件要比Servlet源文件简单,并且JSP页面的开发过程要比Servlet的开发过程简单得多。 Session技术是一种将会话状态保存在服务器端的技术 ,它可以比喻成是医院发放给病人的病历卡和医院为每个病人保留的病历档案的结合方式。
JSP引擎可以对JSP页面的修改进行检测,并自动重新翻译和编译修改过的JSP文件。
在JSP中使用JavaBean和自定义标签,可以分离用于表现外观的HTML文本内容和用于处理业务逻辑的Java代码。
五,java基本语法
模版元素、表达式、脚本片段、El表达式、注释、特殊字符序列的转义处理
注:JSP页面中的位于<% %>外面的每行和紧临<%%>两边的每段文本被转换成以这些文本作为参数的一条条out.write语句,JSP脚本片断(位于<%%>内的一段java代码)中的java代码被原封不动地搬移进了_jspService方法中的相应位置处,JSP表达式(位于<%=和%>之中的内容)则是被转换成以其中的变量或表达式作为参数的out.print语句。