第四章 深入JSP技术
JSP简介
JSP工作原理 JSP是一种servlet,但先部署后编译。
JSP生命周期 运行时只会有一个实例,同servlet。
JSP语法
- JSP元素和模板数据 模板数据就是JSP中的HTML代码,元素就是Java部分以及JSP指令(Directive)与JSP标签(Tag)。
- JSP脚本 JSP脚本必须用<% %>括起来。
- JSP输出 <%= %>可输出各种类型数据,注意变量后没有分号";"。
- JSP注释 除了java注释外,还可用<%-- --%>
- JSP方法 JSP可以声明方法和变量,但不能在<%-- --%>中直接声明。需要使用<%! %>。
- JSP的if语句 if语句中可以包含html语句,此时只需将所有的java语句用<% %>括起来。
- JSP的return语句 JSP中使用return语句可以终止程序运行。(包括return语句后面的java代码和html语句都会被忽略)
- JSP的break语句 跳出循环,继续执行外层代码。
JSP指令
JSP指令用于声明JSP页面的属性(文档类型,编码方式),用<%@ %>表示。
1.page指令
2.include指令
3.taglib指令
JSP行为
1.<jsp:include/>行为
注意区别<%@ page include="URI">与<jsp:include/>。
2.使用Java Bean(POJO)
使用<jsp:setProperty name="person" property="*"/>,自动获取request中的值并放入对象person中去。
3.scope实现计数器
通过对上述Java Bean实例对象设置不同的scope,可实现不同计数功能。比如写一个计数类,在JSP中实例化,并设置scope为application,则该对象在整个web应用内斗有效,通过调用计数类的函数,即可统计访问web应用的次数。具体代码如下:
当执行<jsp:getProperty name="totalCount" property="count" />时,会自动执行totalCount对象的方法getCount()来获取count属性值。
4.<jsp:plugin/>嵌入Applet
5.<jsp:forward/>行为
6.<jsp:directive/>行为
JSP隐藏对象
不同于servlet中某些对象需要通过response或request获取(如response.getWriter()),JSP内置9个隐藏对象可直接使用。分别为out,request,response,config,session,application,page,pageContext,exception.
1.out输出对象
2.request对象
3.response对象
4.config配置对象
5.session对象
6.applicat应用程序对象
7.page页面对象
8.pageContext页面对象
9.exception异常对象
JSP配置
<jsp-config/>
EL表达式
隐藏对象
EL表达式的运算