第7章 JSP之1:JSP语法
- 格式:pdf
- 大小:2.79 MB
- 文档页数:54
《JSP实用教程(第三版)》课后答案第1章 JSP简介1.安装Tomcat引擎的计算机需要事先安装JDK吗?答:需要。
2.怎样启动和关闭Tomcat服务器?答:bin目录下使用startup.bat启动Tomcat服务器。
bin目录下使用shutdown.bat 关闭Tomcat服务器。
3. Boy.jsp和boy.jsp是否是相同的JSP文件名字?答:不是4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish 来访问该JSP页面。
答:设置方法:①建立D:\ water目录;②修改server.xml文件,在</host>上一行添加:<Context path="/fish" docBase="D:\ water" debug="0" reloadable="true"/>③使用http://localhost:8080/ fish /example1_1.jsp访问example1_1.jsp页面.5. 假设Dalian是一个Web服务目录,其虚拟目录为moon。
A.jsp保存在Dalian 的子目录sea中。
那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jspC. http://127.0.0.1:8080/moon/A.jspD. http://127.0.0.1:8080/moon/sea/A.jsp 答:D6.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号.若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。
JSP课后习题参考答案●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。
●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。
当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。
2. 简述JSP两种体系结构。
答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。
Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。
这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。
尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。
不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。
尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。
从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。
Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。
它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。
Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。
在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。
分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。
项目越复杂,使用Model 2体系结构的优势就越突出。
Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
JSP这门技术的最大的特点在于,写jsp就像在写html,但:它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。
相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。
不管是JSP还是Servlet,虽然都可以用于开发动态web资源。
但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。
其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。
让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。
因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。
Jsp的运行原理:目标:Web服务器是如何调用并执行一个jsp页面的?Jsp页面中的html排版标签是如何被发送到客户端的?Jsp页面中的java代码服务器是如何执行的?Web服务器在调用jsp时,会给jsp提供一些什么java对象?思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。
JSP程序设计课后习题答案第⼀章 JSP概述1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?JSP的全称是Java Server Pages。
优点:跨平台、分离静态内容和动态内容、可重复使⽤的组件、沿⽤了Java Servlet的所有功能、具有预编译性。
共同点:可以在页⾯中加⼊脚本代码来⽣成动态内容。
1-2 JSP中可重复使⽤的组件有哪些?JavaBean组件、JSP的标准标签和⾃定义标签。
1-3 什么是JSP的预编译特征?预编译是JSP的另⼀个重要的特性。
JSP页⾯在被服务器执⾏前,都是已经被编译好的,并且通常只进⾏⼀次编译,即在JSP页⾯被第⼀次请求时进⾏编译,在后续的请求中如果JSP页⾯没有被修改过,服务器只需要直接调⽤这些已经被编译好的代码,这⼤⼤提⾼了访问速度。
1-4 开发JSP程序需要具备哪些开发环境?Web浏览器、Web服务器、JDK开发⼯具包以及数据库。
1-5 在成功安装JDK后,需要配置哪些环境变量?JAVA_HOME变量、Path变量、CLASSPATH变量1-6 Tomcat的默认端⼝、⽤户名和密码分别是什么?端⼝为“8080”、⽤户名为“admin”、密码为空。
1-7 本章介绍的⽤来开发JSP程序的开发⼯具是什么?Eclipse1-8 开发JSP程序可采⽤哪⼏种开发模式?分别介绍它们的优缺点。
单纯的JSP页⾯编程:优点:通过应⽤JSP中的脚本标志,可直接在JSP页⾯中实现各种功能。
缺点:⼤部分的Java代码与HTML代码混淆在⼀起,给程序的维护和调试带来很多的困难。
JSP+JavaBean编程优点:jsp与javabean的结合,使web程序更加的直观,使⽤简单,不⽤于后台进⾏交互,直接在前端处理业务逻辑,更快速。
缺点:性能不好,jsp作为web的前端程序包含了太多的业务逻辑,给前端jsp造成了压⼒。
不便于维护。
JSP+Servlet+JavaBean编程优点:能够更好的实现表⽰层,逻辑层和数据访问层的分离。
JSP基本的语法、3个编译指令、7个动作指令、9个内置对象⽬录⼀、jsp概述JSP是java server page的缩写,其**==本质是⼀个简化的servlet**,是⼀种动态⽹页技术标准。
jsp页⾯是在HTML页⾯中嵌⼊java程序段。
使⽤jsp开发的应⽤程序能够跨平台。
⼆、jsp基本的语法2.1 jsp表达式jsp表达式⽤于向页⾯输出信息。
语法格式例如以下:<%= 表达式 %>如:<%= 5+6 %>注意:<%与=之间不能有空格,=与后⾯的表达式之间能够有空格,另外没有语句结束符号;。
2.2 jsp声明标识声明标识⽤语在jsp页⾯中定义全局的变量或者⽅法,通过声明标识定义的变量和⽅法能够被整个jsp页⾯訪问。
语法格式例如以下:<%!声明变量或者⽅法的代码%>如<%!String str = "test";%>注意:<%与!之间不能有空格,!与其后⾯的代码之间能够有空格。
2.3 jsp代码段代码⽚段就是嵌在jsp页⾯中的java代码或脚本代码。
会在页⾯请求的处理期间被运⾏,java代码能够实现定义变量、流程控制等功能。
脚本代码能够通过使⽤jsp内置对象在jsp页⾯输出内容、处理请求和响应、訪问session等,代码⽚段的语法格式例如以下:<% java代码或者脚本代码 %>2.4 jsp注释2.4.1 HTML注释HTML注释格式:<!-- html凝视 -->html凝视不会显⽰在⽹页中。
在浏览器中查看源代码的时候能够看到注释信息。
2.4.2 代码⽚段注释由于代码⽚段即为java代码或者脚本代码,代码⽚段的注释和java语法⼀样。
单⾏注释写在//之后,多⾏注释写在/* */ 之间,⽂档提⽰注释写在/**与 */之间。
//单⾏注释/*多⾏注释第⼀⾏多⾏注释第⼆⾏*//**⽂档注释*/2.4.3 隐藏注释html注释在查看⽹页源代码的时候能够看到,所以严格来说这样的注释并不安全,jsp提供的隐藏注释在浏览器和查看源代码的时候都看不到。
第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
2.软件生命周期一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1.构成一个完整计算机系统的两部分是硬件与(软件).2.程序设计时代的生产方式是(个体手工劳动)。
3.软件工程涉及到若干个学科,它是一门(综合性交叉)学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同)。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型.6。
喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型.7。
结构化方法是一种面向数据流的开发方法。
由结构化分析、(结构化设计)、结构化程序设计构成.8。
软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件)。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行。
11 .瀑布模型本质上是一种(线性顺序)模型。
12.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统)。
13.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件).14。
增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段。
15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的.16.软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。
17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。
18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型。
jsp程序设计教程1. JSP基础知识JSP(JavaServer Pages,Java服务器页面)是一种基于Java的Web开发技术,允许我们在HTML代码中嵌入Java代码。
学习JSP首先需要了解一些基础知识,如JSP 指令、JSP脚本、JSP表达式、JSP注释等。
2. JSP语法规则学习JSP的语法规则非常重要,掌握JSP内嵌Java代码的写法、变量的声明与使用、控制语句(if-else、for循环等)、函数的调用等。
3. JSP标准标签库(JSTL)JSTL是JSP的扩展标签库,提供了一组常用的标签,方便我们在JSP页面中完成常见的逻辑处理和数据展示。
学习JSTL的使用可以大大简化JSP页面的编写和维护工作。
4. JSP页面的跳转与传参在实际的Web开发中,经常需要进行页面之间的跳转和参数的传递。
学习JSP页面的跳转和传参可以帮助我们实现更复杂的业务逻辑。
5. JSP与数据库交互JSP通常用于与数据库进行交互,完成数据的增删改查等操作。
学习JSP与数据库交互的技术,如使用JDBC连接数据库、执行SQL语句等。
6. JSP的异常处理在编写JSP程序时,出现异常是非常常见的。
学习JSP的异常处理技术可以帮助我们及时发现和解决问题,提高程序的健壮性。
7. JSP的优化与性能调优为了提高JSP页面的加载速度和响应速度,我们需要了解JSP的优化技巧,如避免使用重复代码、减少数据库查询次数等。
8. JSP与其他技术的整合JSP作为一种Web开发技术,通常需要与其他技术一起使用,如Servlet、Spring框架等。
学习JSP与其他技术的整合可以使我们开发更复杂的应用。
以上是一些常见的JSP程序设计教程,希望对你有帮助。
如果你有具体的问题或需求,欢迎继续提问。
JSP语法基础1、JSP基本概念JSP(Java Server Pages,Java服务器页面)是一种Web动态页面技术,JSP是嵌入了Java程序段的HTML 文件,由HTML元素(静态部分)、JSP元素(动态部分)和JSP注释组成。
JSP文件后缀名为.jsp。
JSP运行时会被容器翻译为Servlet源代码(xxx_jsp.java)、自动编译为.class文件(xxx_jsp.class)、载入.class文件,然后生成Servlet对象。
JSP和Servlet一样是服务器端技术,允许运行在Web服务器端。
JSP定义在JavaWeb工程中WebRoot根路径下或其下的某个目录,其访问方式和访问HTML文件一致。
注意:如果JSP文件放在WEB-INF目录中时,不能直接访问,需通过Servlet转发。
JSP在运行时会动态编译成一个Servlet,其本质上是就是一个Servlet,JSP是对Servlet技术的扩展。
Servlet完全由Java程序代码构成,擅长于流程控制和业务逻辑处理,一般用作控制器(Controller);JSP 由HTML元素和JSP元素构成,对页面的静态内容和动态内容进行了有效分离,擅长于内容的展示,一般用作视图(View)。
注:翻译生成的xxx_jsp.java和xxx_jsp.class文件的位置:Tomcat中,在apache-tomcat\work\Catalina目录需;在Eclipse中,在workspace下\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\XXX\org\apache\jsp。
2、JSP元素JSP元素包括脚本元素、指令元素和动作元素。
脚本元素(3种)用来声明类成员与方法。
使用<%!与%>声明变量时,必须小心数据共享与线程安全的问题。
第1章应用概览:关于JSPJSP(Java Server Page)是由Sun公司倡导、多家公司参与一起建立的一种动态网页技术标准规范。
作为动态网页的一种主流开发技术,JSP基于Java,具有平台无关性、运行效率高、快速上手易于学习等优点。
随着Internet的飞速发展,JSP被越来越广泛地应用于Web开发,许多知名网站,如新浪、网易、阿里巴巴等都采用了JSP技术,其已成为目前最为流行的网络编程语言之一。
本章主要内容如下:•JSP技术概述;•JSP运行机制;•JSP框架简介;•JSP开发应用方式;•JSP简单应用。
1.1 JSP概述1999年Sun公司推出了JSP动态网页技术。
JSP以Java编程语言作为脚本语言,Java 是一种简单易学并且完全面向对象的编程语言,特别适合作为Internet应用的开发工具。
使用JSP能轻松搭建网络平台,建立功能强大的Web网站。
JSP技术在国外应用非常广泛,近年来在国内也日趋流行。
与目前较为流行的Web开发技术ASP、PHP相比,JSP是一种完全与平台无关的开发技术,它将极高的运行效率、较短的开发周期、超强的扩展能力、完全开放的技术标准和自由的开发方式等众多的完美特性集于一身,使构造基于Web的应用程序更加容易和快捷。
JSP实现了Web业务逻辑和页面显示的分离,脱离了硬件平台的束缚,并且编译后大大提高了运行速度,降低了系统模块之间的耦合性,增强了代码的可重用性和可维护性,符合软件工程思想。
目前,JSP正逐渐成为Web应用的主流开发工具。
JSP已广泛地应用于电子商务、电子政务等各个行业的管理应用软件中,国际上一些大型电子商务解决方案都采用或即将采用JSP技术,JSP的应用领域已变得越来越大,具有广阔的发展前景。
1.1.1 JSP特点JSP技术可以让Web开发人员和设计人员非常容易地创建和维护动态网页,特别是目前的商业系统。
作为Java技术的一部分,JSP能够快速开发基于Web、独立于平台的应用程序。
Web程序设计(一)第7章 JSP之1:JSP语法学习内容 1JSP 页面的基本构成 2 嵌入Java 代码JSP 指令标签3 4 注释JSP 动作标签5JSP构成142 35 JSP动作标签JSP指令标签HTML标记语言嵌入的Java代码注释<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@ page import="java.util.Date"%><%@ page import="java.text.SimpleDateFormat"%> <html> <head><title>My JSP 'index.jsp' starting page</title> </head> <body> <% Date date = new Date(); //获取日期对象 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置日期时间格式 String today = df.format(date); //获取当前系统日期 %> 当前时间:<%=today%> <!-- 输出系统时间 --> <jsp:include page=“bott.jsp ”> </body></html> JSP 指令标签 HTML 标记语言嵌入的Java 代码注释语句JSP 动作标签学习内容 1JSP 页面的基本构成 2 嵌入Java 代码JSP 指令标签3 4 注释JSP 动作标签 52.1 概述2.2 文件包含指令include页面指令page2.3 2.4 引用标签库指令taglib2 JSP 指令标签概念用于定义整个JSP页面的相关信息,不会产生任何内容输出到网页。
<%@ 指令名称属性1=“值1” 属性2=“值2” ……%>语法格式JSP指令page includetaglib2.1 概述2.2 文件包含指令include页面指令page2.3 2.4 引用标签库指令taglib2 JSP 指令标签2.2 页面指令page概念用于定义整个JSP页面的相关属性,是JSP 页面最常用的指令。
<%@ page 属性1=“值1” 属性2=“值2” ……%>语法格式概念用于设置JSP页面使用的语言,目前只支持Java语言,其默认值是Java。
<%@ page language=“java” %>例子概念用于设置JSP页面继承的Java类。
注意事项●所以JSP页面在执行之前都会被服务器解析成Servlet●Servlet是由Java类定义的●JSP和Servlet都可以继承指定的父类●Extends属性不常用,而且有可能影响服务器的性能优化。
概念用于设置JSP页面导入的类包, JSP页面中嵌入的Java代码在调用API时需要导入相应的类包。
<%@ page import=“java.util.*” %>例子2.2 页面指令page——pageEncoding属性概念用于定义JSP页面的编码格式,也即指定文件编码。
例子<%@ page pageEncoding =“GBK” %>注意事项●如果该属性值为ISO-8859-1(JSP页面的默认编码),则页面不支持中文字符。
●通常设置编码格式为GBK,可显示简体和繁体中文。
2.2 页面指令page——contentType属性概念用于设置JSP页面的MIME类型和字符编码,浏览器会根据该属性指定的类型和编码显示网页内容。
<%@ page contentType=“text/html;charset=GBK” %>例子概念用于指定JSP页面是否使用session会话对象,可选值为true和false,默认值为true。
例子<%@ page session =“false” %>注意事项●该属性值为true时,session会话对象可用。
●该属性值为false时,session会话对象不可用概念用于设置JSP的out输出对象使用的缓冲区大小,默认值是8KB,而且单位只能只用KB。
<%@ page buffer=“128kb” %>例子2.2 页面指令page——autoFlush属性概念用于设置JSP页面缓存满时,是否自动刷新缓存,默认值为true。
如果设置为false,在缓存被填满时,会抛出异常。
<%@ page autoFlush=“false” %>例子2.2 页面指令page——info属性概念用于设置JSP页面的相关信息。
<%@ page info=“这是一个登录页面” %>例子2.2 页面指令page——isErrorPage属性概念将当前JSP页面设置成错误处理页面,错误处理页面用于处理另一个JSP页面的错误,也即异常处理。
<%@ page isErrorPage =“true” %>例子2.2 页面指令page——errorPage属性概念用于指定处理当前JSP页面异常的另一个JSP页面。
例子<%@ page errorPage=“error/loginerror.jsp” %>注意事项●被指定的JSP错误处理页面必须设置isErrorPage属性为true。
●如果设置该属性,在web.xml文件中定义的任何错误处理页面将被忽略。
2.2 页面指令page——isELIgnored属性概念用于定义JSP页面是否忽略EL表达式的使用。
例子<%@ page isELIgnored =“false” %>注意事项●当其取值为false时,可以直接使用EL表达式●在Servlet2.3以前版本中其默认值为true。
●在Servlet2.4版本中其默认值为false。
2.1 概述2.2 文件包含指令include页面指令page2.3 2.4 引用标签库指令taglib2 JSP 指令标签2.3 文件包含指令include概念该指令可以在JSP页面中包含另一个文件的内容。
例子<%@include file =“validate.jsp” %>注意事项●该指令支持静态包含●被包含的文件可以是一段Java代码、html代码或另一个JSP页面。
top.jsp <%@ page language="java"import="java.util.*" pageEncoding="gbk"%><img src="images/top.gif">down.jsp <img src = "images/down.gif"/>index.jsp <body><%@ include file="top.jsp"%><table width="777" height="482"border="0"background="images/center.gif"><tr><td height="93"> </td></tr></table><%@ include file="down.jsp"%></body>2.1 概述2.2 文件包含指令include页面指令page2.3 2.4 引用标签库指令taglib2 JSP 指令标签2.4 引用标签库指令taglib概念该指令声明JSP页面中所使用的标签库,同时引用标签库,并指定标签前缀,通过前缀来引用标签库中的标签。
格式<%@taglib prefix =“前缀” uri=“标签库位置”%>例子<%@taglib prefix =“c”uri=“/jsp/jstl/core”%>学习内容 1JSP 页面的基本构成 2 嵌入Java 代码 JSP 指令标签3 4 注释JSP 动作标签 53 嵌入Java代码3.1 代码片段3.2 JSP表达式3.1 代码片段格式<% java代码 %>例子<%Date now=new Date();String dateStr=String.format(“%tY年%tm月%td 日”,now,now,now);%>注意事项●代码片段在页面请求的处理期间被执行●代码片段可以通过JSP内置对象在页面输出内容、访问session会话、编写流程控制语句3 嵌入Java代码3.1 代码片段3.2 JSP表达式3.2 JSP 表达式概念JSP表达式可以直接把Java的表达式结果输出到JSP页面中,表达式的结果被转换为字符串类型。
<%=表达式%>格式圆周率是:<%=Math.PI%>例子学习内容 1JSP 页面的基本构成 2 嵌入Java 代码JSP 指令标签3 4 注释JSP 动作标签 54.1 HTML 注释4.2 Java 代码注释JSP 注释4.3 4.4 动态注释 4注释4.1 HTML 注释格式<!--注释文本-->例子<table> <!--显示数据报表的表格--> ……………</table>注意事项●注释内容不会显示在网页中●在客户端查看源代码时仍然可以看到注释信息4.1 HTML 注释4.2 Java 代码注释JSP 注释4.3 4.4 动态注释 4注释4.2 JSP 注释格式<%--注释文本--%>例子<%--显示用户信息开始--%>用户名:……部门:……权限:…….<%--显示用户信息结束--%>注意事项 JSP注释被服务器编译执行,不会发送到客户端,在客户端源代码中不会被看到。
4.1 HTML 注释4.2 Java 代码注释JSP 注释4.3 4.4 动态注释 4注释4.3 Java 代码注释单行注释<%//单行注释%>多行注释<%/*多行注释*/%>JavaDoc 注释<%/**JavaDoc注释*/ %>4.1 HTML 注释4.2 Java 代码注释JSP 注释4.3 4.4 动态注释 4注释4.4 动态注释概念由于HTML注释对JSP嵌入代码不起作用,所以可以利用他们的组合构成动态的HTML注释文本。