在Web应用开发中可提供选择的动态页面语言技术有很多如PHPASPJSP等在这些动态页面语言中JSP凭借其自身的优点成为开发人员最喜欢的语言之一以下是开发人员钟爱JSP的重要原因
JSP就是在HTML中嵌入Java代码所以在本质上JSP程序就是JAVA程序JSP程序继承了Java的一切优点JSP程序有严格的Java类库支持
JSP页面在服务器中都会被JSP编译器编码称对应的Servlet所以就拥有Java跨平台的优点所有的JSP程序无需改动就可以方便地迁移到其他操作系统平台这是在其他动态脚本语言中所无法想象的
JSP中可以使用JavaBean进行逻辑封装这样就可以实现逻辑功能代码的重用从而大大提高系统的可重用性同事也提高了程序的开发效率
JSP程序容易上手如果有HTML和Java的基本知识那么学习JSP程序就没有任何难度
在Java领域开源的项目越来越多这些开源项目是全世界Java爱好者心血的结晶在JSP程序中可以非常方便地使用这些开源工具在开源项目的支持下JSP更是其他动态语言不能相比的
开发者从对Java的热爱延伸到对JSP的热爱同事JSP有事JEE体系中最重要而且又是最基础的一个组成部分如果要体验JEE带了的开发效率和优势JSP会是非常有效的入门方式
JSP编译器指引与指令元件有五种型态在JSP之后大部分的JSP是包含在以作为结束的单一标签里新的JSP规格已经发表了它同时也与XML相容
五种JSP的编译器指引如下所示
编译器指引
预定义
运算式
程序代码
注解
下面我们分析一个简单的JSP页面您可以在JSWDK的examples目录下创建另外一个目录存放此文件文件名字可以任意但扩展名必须为jsp从下面的代码清单中可以看到JSP页面除了比普通HTML页面多一些Java代码外两者具有基本相同的结构Java代码是通过符号加入到HTML代码中间的它的主要功能是生成并显示一个从到的字符串在这个字符串的前面和后面都是一些通过HTML代码输出的文本
- <HTML><HEAD><TITLE>JSP页面</TITLE></HEAD><BODY><%@pa
- gelanguage="java"%><%!Stringstr="";%><%for(inti=;i<;i++){str
- strstr=str+i;}%>JSP输出之前
- <P><%=str%><P>JSP输出之后
- </BODY></HTML>这个JSP编译器页面可以分成几个部分来分析
首先是JSP指令它描述的是页面的基本信息如所使用的语言是否维持会话状态是否使用缓沖等JSP指令由结束在本例中指令“”只简单地定义了本例使用的是Java语言(当前在JSP规范中Java是唯一被支持的语言)
接下来的是JSP声明JSP声明可以看成是定义类这一层次的变量和方法的地方JSP声明由结束如本例中的“”定义了一个字符串变量在每一项声明的后面都必须有一个分号就象在普通Java类中声明成员变量一样
位于之间的代码块是描述JSP页面处理逻辑的Java代码如本例中的for循环所示
最后位于之间的代码称为JSP表达式如本例中的“”所示JSP表达式提供了一种将JSP生成的数值嵌入HTML页面的简单方法