【Wed Jul 13 2016 15:26:49 GMT+0800】

1. JSP运行原理

  上图显示了JSP的基本运行原理。首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。

  JSP需要转换成Servlet是因为JSP的执行效率要低于Servlet,但这仅限于第一次执行。由于JSP在第一次执行后即被编译成类文件,当再次重复调用时,如果JSP容器没有发现该JSP页面修改的痕迹,就会直接执行编译后的类文件而不是重新编译Servlet。因此除了第一次的编译会花比较久的时间外,之后的JSP和Servlet的执行速度就几乎相等。当然,如果JSP容器检查到JSP页面被修改过,则需要重新进行编译。

2. JSP基本语法

2.1注释

  JSP注释可以分为两种。一种是可以在客户端显示的注释,称为客户端注释(HTML注释);另一种是客户端不可见,仅供服务器端JSP开发人员可见的注释,称为服务器端注释(隐藏注释)。

客户端

注释

<!--comment[<%= expression%>]-->

 

产生一个注释并通过JSP引擎将其发送到客户端。JSP注释有一个不同就是可以使用表达式。表达式的内容是动态的,页面的每次读取和刷新都有可能是不同的内容。

<!-- 现在时间:<%= (new java.util.Date()).toLocaleString()%>-->

服务器端

注释

<%/* comment */%>
<%--comment--%>

写在JSP程序中的注释并不发给客户端。

  注意:用隐藏注释标记的字符会在JSP编译时被忽略掉它不会在源代码中显示,也不会显示在客户的浏览器中。

2.2声明

  JSP中的声明,用于声明JSP程序中使用的变量、方法等,其声明方式与Java相同(因为声明最终将被发送到服务器端作为Java语句解释),其语法格式为:

<%! declaration;[ declaration;]… %>

  例如:

<%! int i=2004; %>
<%! int a,b; int c; %>
<%! public String[] StrArray; %>
<%! int time = Calendar.getInstance().get(Calendar.AM_PM); %>

  如上例所示,使用此种方法在JSP中对变量和方法进行声明,可以一次声明多个变量或者多个方法,只要最后以“;”结尾即可。

  对变量进行声明的方法也并非仅此一种,使用表达式同样可以进行变量的声明。 

2.3表达式

  表达式元素表示的是一个在脚本语言中被定义的表达式,在运行后被自动转化为字符串,然后显示出来。其基本语法为:

 

<%=expression%>

 

 

  例如:

<%=(new java.util.Date()).toLocaleString() %>

 

 

 

 

 

2.4程序段

2.5JSP指令

  嵌入JSP页面成分主要有如下3种:脚本元素(Scripting Element)、指令(Directive)和动作(Action)。脚本元素用来嵌入Java代码;JSP指令用来从整体上控制Servlet的结构;动作用来引入现有的组件或者控制JSP引擎的行为。JSP的指令元素主要包括:Page指令、Include指令以及Taglib指令。它们都是JSP中的编译指令。编译指令就是告诉JSP的引擎,如何处理其他的JSP网页。

2.5.1 include指令

  

  include指令会在JSP页面被编译成Servlet时引入其中包含的HTML文件或JSP文件(也可能是其他类型的文件,具体允许包含哪些类型的文件需要根据Web服务器的情况而定)。JSP include指令的基本语法如下:

<%@ include file="relative URL" %>

 

 

2.5.2 page指令

2.5.3 taglib指令

2.6JSP动作

2.6.1 <jsp:include>动作

2.6.2 <jsp:forward>动作

2.6.3 <jsp:plugin>动作

2.6.4 <jsp:param>动作

2.7JSP异常

2.8JSP字符使用惯例

3. JSP内置对象

4. 使用JavaBean

5. JSP与Servlet

6. JSP访问数据库

7. JSP与XML

8. Struts应用开发基础

9. JSP实例应用

posted on 2016-07-13 15:29  yahari  阅读(303)  评论(0)    收藏  举报