第四章 深入JSP技术

JSP简介

JSP工作原理 JSP是一种servlet,但先部署后编译。

JSP生命周期 运行时只会有一个实例,同servlet。

 

JSP语法

  • JSP元素和模板数据 模板数据就是JSP中的HTML代码,元素就是Java部分以及JSP指令(Directive)与JSP标签(Tag)。
  • JSP脚本 JSP脚本必须用<% %>括起来。
  • JSP输出 <%= %>可输出各种类型数据,注意变量后没有分号";"。
  • JSP注释 除了java注释外,还可用<%-- --%>
  • JSP方法 JSP可以声明方法和变量,但不能在<%-- --%>中直接声明。需要使用<%! %>。

   

第四章 深入JSP技术

 

  • JSP的if语句 if语句中可以包含html语句,此时只需将所有的java语句用<% %>括起来。
  • JSP的return语句 JSP中使用return语句可以终止程序运行。(包括return语句后面的java代码和html语句都会被忽略)
  • JSP的break语句 跳出循环,继续执行外层代码。  

JSP指令

JSP指令用于声明JSP页面的属性(文档类型,编码方式),用<%@ %>表示。

1.page指令

   

第四章 深入JSP技术

   

第四章 深入JSP技术

2.include指令

   

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

3.taglib指令

   

第四章 深入JSP技术

   

JSP行为

 

第四章 深入JSP技术

1.<jsp:include/>行为

   

第四章 深入JSP技术

   

第四章 深入JSP技术

注意区别<%@ page include="URI"><jsp:include/>

2.使用Java Bean(POJO)

   

第四章 深入JSP技术

   

第四章 深入JSP技术

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

第四章 深入JSP技术

   

第四章 深入JSP技术

使用<jsp:setProperty name="person" property="*"/>,自动获取request中的值并放入对象person中去。

第四章 深入JSP技术

   

第四章 深入JSP技术

3.scope实现计数器

通过对上述Java Bean实例对象设置不同的scope,可实现不同计数功能。比如写一个计数类,在JSP中实例化,并设置scope为application,则该对象在整个web应用内斗有效,通过调用计数类的函数,即可统计访问web应用的次数。具体代码如下:

   

第四章 深入JSP技术

   

第四章 深入JSP技术

当执行<jsp:getProperty name="totalCount" property="count" />时,会自动执行totalCount对象的方法getCount()来获取count属性值。

   

4.<jsp:plugin/>嵌入Applet

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

5.<jsp:forward/>行为

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

6.<jsp:directive/>行为

   

第四章 深入JSP技术

   

   

   

JSP隐藏对象

不同于servlet中某些对象需要通过response或request获取(如response.getWriter()),JSP内置9个隐藏对象可直接使用。分别为out,request,response,config,session,application,page,pageContext,exception.

   

1.out输出对象

   

第四章 深入JSP技术

第四章 深入JSP技术

   

2.request对象

   

第四章 深入JSP技术

   

3.response对象

   

第四章 深入JSP技术

第四章 深入JSP技术

   

4.config配置对象

   

第四章 深入JSP技术

   

5.session对象

   

第四章 深入JSP技术

   

6.applicat应用程序对象

   

第四章 深入JSP技术

   

7.page页面对象

   

第四章 深入JSP技术

   

8.pageContext页面对象

   

第四章 深入JSP技术

   

9.exception异常对象

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

   JSP配置

第四章 深入JSP技术

<jsp-config/>

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

   

   

EL表达式

 

第四章 深入JSP技术

   

第四章 深入JSP技术

   

隐藏对象

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

EL表达式的运算

   

第四章 深入JSP技术

   

第四章 深入JSP技术

   

第四章 深入JSP技术