sun公司制订的一种服务器端的动态页面技术规范。
注: 虽然使用servlet也可以生成动态页面,但是过于繁琐(需要使用out.print语句),并且利于页面的维护(如果修改页面,就需要修改java代码), 所以,sun才推出了jsp规范。 jsp是一种以 .jsp为后缀的文件,主要内容是html和少量的java代码. 容器会将jsp转换成一个servlet然后执行.a.html(css,js): 直接写。
b.java代码:
第一种:java代码片断 <% java代码 %> 第二种: jsp表达式 <%= java表达式 %> 第三种: jsp声明 (a1.jsp) <%! 声明一个变量或者方法 %>c.隐含对象:
什么隐含对象? 直接可以使用的对象。 为什么可以使用这些隐含对象? 容器会自动添加获得这些对象的代码。 有哪些隐含对象? out,request,response session application pageContext: 容器会为每一个jsp实例创建唯一的 一个符合PageContext接口要求的对象, 该对象会一直存在,除非jsp实例被删除。 作用1:绑订数据。(a2.jsp,a3.jsp) 注:绑订到pageContext上的数据, 只有对应的jsp实例能够访问,类似于“钱包”。 作用2:提供了一些方法,用于获得其它 所有隐含对象。 config: ServletConfig (a4.jsp) exception: 获得异常的描述性信息。(a5.jsp,a6.jsp) 注:只有当page指令的isErrorPage 属性值为true时,才能使用。 page (了解) jsp实例本身。 注:jsp实例是jsp对应的servlet对象。d.指令
什么是指令? 告诉容器将jsp转换成一个servlet时,做一些额外的处理,比如导包。 指令的语法: <%@ 指令名 属性=值 %> page指令 import属性:导包。 pageEncoding属性:设置jsp页面的编码。 contentType属性:设置 response.setContentType的内容。 errorPage属性:指定一个异常处理页面。当jsp 运行时发生了异常,容器会调用异常处理页面。 isErrorPage属性:缺省值是false,如果为true, 就可以使用exception隐含对象。 session属性: (a7.jsp)缺省值是true,如果为false,则不能够使用session隐含对象了。 include指令 告诉容器,在将jsp转换成servlet时,将file 属性指定的文件的内容插入到该指令所在的位置。 file属性:指定被包含的文件名。 注: 被包含的jsp并没有真正执行,只是负责提供 内容。所以,被包含的文件也可以是其它类型 的文件,比如html文件。 taglib指令 导入jsp标签。e.注释 (a8.jsp)
<!-- 注释的内容 --> 注: 如果被注释的内容是java代码,java 代码会执行,但是执行结果并不会在浏览 器端显示出来。 <%-- 注释的内容 --%> 注:如果被注释的内容是java代码,不会执行。容器会将jsp转换成servlet
html(css,js) ----> 在service方法里面,使用 out.write输出。 <% %> ----> 在service方法里面,照搬。 <%= %> ----> 在service方法里面,使用 out.print输出。 <%! %> ----> 添加新的属性或者方法。是sun公司为了替换jsp中的java代码而推出的一种技术, 语法类似于html标签(有开始标记、属性、结束标签、标签体)
是一套简单的运算规则,用于给jsp标签的属性赋值。
注: el表达式也可以脱离jsp标签直接使用。因为jsp默认是忽略el表达式的,所以应该在jsp页面顶部将isELIgnored 属性设置为false
a.${param.username}
等价于request.getParameter("username");b.${paramValues.interest}
等价于request.getParameterValues("interest");