【Jsp精品源码栏目提醒】:网学会员Jsp精品源码为您提供Pages)技术是在传统的HTML代码中加入Java程序片段和JS 【精品文档-doc】 - 励志参考,解决您在Pages)技术是在传统的HTML代码中加入Java程序片段和JS 【精品文档-doc】 - 励志学习中工作中的难题,参考学习。
第1章 JSPJava Server Pages技术是在传统的HTML代码中加入Java程序片段和
JSP标记从而形成
JSP文件用来实现网页中的动态部分功能。
JSP技术是在Servlet技术基础上形成的并继承了Java语言多种优势如安全性、支持多线程和平台无关性等。
与其他动态网页技术相比较具有运行速度快和安全等特点。
本章将从
JSP的运行环境开始介绍重点介绍
JSP技术中页面元素和内置对象等。
了解
JSP的应用与优势 掌握JDK的安装和配置 掌握Tomcat的安装 掌握Eclipse的安装与配置 熟悉
JSP页面元素 熟悉
JSP内置对象 1.1
JSP简介
JSP是运行于服务器端的脚本语言之一由HTML代码和嵌入其中的Java代码所组成。
虽然
JSP技术是由Servlet技术发展起来的但是它在编写页面时要比Servlet简单得多而且它由Servlet容器自动编译。
1
JSP的优势 与其他动态网页技术进行比较
JSP在跨平台、执行速度等特性上具有很大的技术优势主要体现在以下方面。
可重用组件 绝大多数
JSP页面信赖于可重用的、跨平台的组件JavaBean或者Enterprise JavaBean组件来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件或者使得这些组件为更多的使用者或客户团体使用。
基于组件的方法加速了总体开发
JSP概述 第1章 过程并且使得各种组织在现有技能和优化结果的开发努力中得到平衡。
一次编译多次、多处运行代码的执行效率高
JSP的脚本语言是Java语言因此它具有Java语言的一切特性。
同时
JSP也支持现在大部分平台。
当
JSP第一次被请求时
JSP页面转换成Servlet然后被编译成.class文件以后除非页面有改动或Web服务器被重新启动再有客户请求该
JSP页面时
JSP页面不被重新编译而是直接执行已编译好的.class文件因此执行效率特别高。
将内容的生成和显示进行分离 使用
JSP技术Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用
JSP标识或者脚本来生成页面上的动态内容。
生成动态内容的语句一般被封装在JavaBean组件、EJB组件或
JSP脚本段中。
这样页面的设计人员和页面的编程人员可以同步进行。
同时在客户端通过查看源文件看不到
JSP标识的语句更看不到JavaBean和EJB组件也可以保护源程序的代码。
2
JSP开发模式 现在开发
JSP的模式有很多种下面介绍几种比较常见的开发模式。
纯粹
JSP 使用纯粹
JSP技术实现动态网站开发是
JSP初学者经常使用的技术。
JSP页面中所有代码都是在同一个页面如HTML标记、CSS标记、JavaScript标记、逻辑处理和数据库处理代码等。
将这些代码混合在一起容易出错出错了又不容易查找问题而且其可读性相当差。
JSPJavaBean 这种开发模式很好地解决了页面静态部分和动态部分相互分离的问题。
可以使用
JSP技术的HTML、CSS等构建数据显示页面而对于数据处理则交给JavaBean技术来完成如连接数据库代码和显示数据库代码。
而且JavaBean可以被重用。
JSPJavaBeanServlet 这种开发模式很好地实现了MVCModel-View-Controller模型-视图-控制器模式。
在MVC模式中Event事件导致Controller改变Model或View或者同时改变两者。
只要Controller改变了Model的数据或者属性所有依赖的View都会自动更新。
同样只要Controller改变了ViewView会从潜在的Model中获取数据来刷新自己。
J2EE J2EE纯粹基于Java的解决方案。
在这种模式里EJB替代了前面提到的JavaBean技术。
这种模式由于框架大不容易编写不容易调试并且比较难以掌握所以目前只是应用在一些大型网站上。
1.2 构建
JSP运行环境 上一节对
JSP技术进行了简单介绍并简单地列出了
JSP技术的部分优势。
在了解了
JSP技术的相关信息后本节将介绍如何配置
JSP运行环境如JDK和Tomcat的安装并介绍开发工具Eclipse的安装与配置。
第1篇
JSP网站开发篇 1.2.1 安装与配置JDK JDKJava Development KitJava开发工具包是整个Java的核心它包括Java编译器Javac、打包工具Jar、文档生成器Javadoc和查错工具Jdb还包括完整的JREJava Runtime EnvironmentJava运行环境也被称为Private Runtime。
JDK一般有3种版本其详细信息如下。
SEJ2SE Standard Edition标准版主要用于开发Java桌面应用程序。
EEJ2EE Enterprise Edition企业版使用这种JDK开发J2EE应用程序。
MEJ2ME Micro Edition微型版主要用于移动设备、嵌入式设备上的Java应用程序。
1安装JDK 登录JDK的官方网站http://java.sun.com/下载JDK安装程序。
下载后双击安装程序在打开的【许可证协议】窗口中单击【接受】按钮。
在打开的【自定义安装】窗口中选择安装目录单击【下一步】按钮后面的安装将会自动完成。
安装完成后会显示安装成功 窗口。
2配置JDK JDK安装完成后并不能够使用还需要进行配置。
其过程如下。
1右击【我的电脑】在弹出的快捷菜单中执行【属性】命令然后在弹出的【系统属性】对话框中选择【高级】选项卡然后单击【环境变量】按钮打开如图1-1所示的【环境变量】对话框。
2在【环境变量】对话框的【系统变量】中双击path选项打开如图1-2所示的对话框。
在该对话框的【变量值】文本框中输入JDK目录下bin文件夹所在路径这里输入“.C:Program FilesJavajdk1.6.0_13bin”。
图1-1 【环境变量】对话框 图1-2 【编辑系统变量】对话框
JSP概述 第1章 该路径值由3部分组成其中“.”表示本机“”为不同路径之间的分隔符“C:Program FilesJavajdk1.6.0_13bin”表示JDK的bin目录。
3单击【确定】按钮完成path变量编辑。
配置另外一个系统变量classpath单击【系统变量】下的【新建】按钮在【变量名】文本框中输入“classpath”在其系统【变量值】文本框中输入“.C:Program FilesJavajdk1.6.0_13libC:Program FilesJavajdk1.6.0_13lib tools.jar”。
4配置完成后检测JDK是否安装并配置成功。
执行【开始】【运行】命令在【运行】对话框中输入“cmd”在打开的窗口中输入javac –version命令查看当前配置好的JDK版本。
如果输出版本如图1-3所示则表示安装成功否则表示安装失败。
图1-3 JDK安装检测 1.2.2 安装Tomcat Tomcat是一个免费而且开源的Web容器它是Apache基金会的Jakarta项目中的一个核心项目由Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat服务器由一系列可配置的组件构成其核心组件是Catalina Servlet容器它是所有其他Tomcat组件的顶层容器。
登录Tomcat官方网站http://tomcat.apache.org下载Tomcat安装程序。
Tomcat版本有很多这里选择Windows操作系统平台下的Tomcat版本。
安装步骤如下。
1单击下载的Tomcat安装程序在弹出的【Tomcat安装启动】窗口中单击Next按钮会弹出【安装协议】窗口单击该窗口中的I Agree按钮弹出如图1-4所示的窗口。
2在该窗口中选择相关插件这里选择全部插件在Select the type of install下拉列表框中选择Full选项即可选择全部。
3单击Next按钮在弹出的窗口中选择Tomcat的安装路径此处选择路径为C:Tomcat 6。
4设置好安装路径后单击Next按钮弹出如图1-5所示的窗口该窗口主要用来配置端口号这里保持Tomcat默认的8080端口。
5单击Next按钮在弹出窗口中选择Tomcat服务器运行时所使用的JDK开发工具包的路径此处选择C:ProgramFilesJavajre1.6.0。
然后单击Install按钮后面的安装将会自动 提 注 第1篇
JSP网站开发篇 完成。
图1-4 选择插件 图1-5 【端口选择】窗口 在安装完成的窗口中选择【运行软件】复选框可以启动Tomcat服务器。
至此Tomcat已经安装完成了检验是否安装成功。
在IE浏览器地址栏中请求http://localhost:8080如果弹出一个如图1-6所示的窗口就说明Tomcat服务器已经安装成功了。
图1-6 Tomcat服务器主页运行窗口 请求该链接测试Tomcat是否安装成功之前要确保已经启动Tomcat。
1.2.3 安装与配置Eclipse Eclipse是一个开放源代码的项目可以从其官方网站http://www.eclipse.org上下载最新版本。
本书所使用的Eclipse为Windows平台下支持J2EE开发的3.4版本。
提 注
JSP概述 第1章 1安装Eclipse 只需要将下载的Eclipse压缩包直接解压就可以了。
在解压缩之后的路径中有一个eclipse.exe文件双击它可以启动Eclipse。
在启动时自动打开【选择工作区路径】对话框如图1-7所示。
图1-7 选择工作区路径 Eclipse会将编辑的所有文件存放在工作区指定的路径下。
如果希望下次不重复工作区路径选择操作可以选中Use this as the default and do not ask again复选框。
设置完成后单击OK按钮打开Eclipse如果显示欢迎页面则说明Eclipse安装成功。
安装新的版本时不要直接解压覆盖旧版本应该先删除旧版本再进行 安装。
2配置Tomcat 开发Web应用还需要在Eclipse中配置Tomcat服务器。
执行WindowPreferences命令打开如图1-8所示的窗口。
在窗口左侧选择ServerRuntime Environments选项然后在右侧单击Add按钮将弹出如图1-9所示的窗口。
在该窗口中选择ApacheApache Tomcat v6.0选项单击Next按钮在弹出窗口中选择Tomcat所在路径如图1-10所示。
单击Finish按钮完成配置。
图1-8 Preferences窗口 图1-9 选择Tomcat版本 注 第1篇
JSP网站开发篇 在Servers面板中右击在弹出的快捷菜单中执行NewServer命令在弹出窗口中选择ApacheTomcat v6.0 Server选项单击Finish按钮完成这时Servers面板效果如图1-11 所示。
图1-10 选择Tomcat所在路径 图1-11 Tomcat服务 另外需要注意的是虽然Eclipse本身是用Java语言编写的但下载的压缩包中并不包含Java运行环境需要用户自己另行安装JRE并且要在操作系统的环境变量中指明JRE中bin的路径。
相关操作已经在前面进行了介绍。
1.3
JSP页面元素 通过前面内容的学习了解了
JSP技术是一种把脚本语言Java嵌入到HTML页面并在Tomcat服务器中运行的一种动态网页技术。
一个
JSP页面由两部分组成一部分是
JSP页面的静态部分如HTML和CSS标记等用来完成数据显示样式另一部分是
JSP页面的动态部分如脚本程序和
JSP标签等用来完成数据处理。
JSP页面静态部分可以用任何通常使用的Web页面制作工具编写编写方式也和原来一样。
JSP页面动态部分包括3部分分别为指令元素Directive、脚本元素Scripting Element和动作元素Action。
1.3.1
JSP指令元素
JSP指令并不会产生任何输出它只是控制
JSP容器如何处理
JSP页面的相关信息。
这些指令始终被包含在“lt”与“gt”标记中。
JSP指令有3种分别为页面设置指令page、页面包含指令include和页面自定义标签指令taglib。
1页面设置指令page page指令主要用于设置当前
JSP页面的相关属性如当前页面的编码形式、缓存大小和注
JSP概述 第1章 错误处理页面等。
page指令的语法格式如下 lt page languagequotjavaquot extendsquotJava类quot importquotJava类quot sessionquottrue falsequot bufferquotnone 8KB 自定义缓冲区大小quot autoFlushquottrue falsequot inThreadSafequottrue falsequot infoquot文本信息quot errorPagequot错误处理页面URLquot isErrorPagequottrue falsequot contentTypequot内容类型quot pagEncodingquot字符集编码quot isELIgnoredquottrue falsequot gt 在一个页面中可以使用多个page指令这些page指令中的属性不能重复。
唯一可以重复的属性是import因为import属性对应于
JSP编译后的Servlet类中的import语句。
下面对page指令的常用属性进行详细介绍。
language language属性指定文件中所使用的脚本语言。
默认值为且仅为java。
该指令作用于整个文件。
当多次使用该指令时只有第一次使用是有效的。
extends extends属性用于指定
JSP页面被转换后的Servlet类所继承的类。
属性值是Java类的全名。
通常情况下不需要使用这个属性
JSP容器会提供默认的父类。
当使用自定义的类为
JSP页面指定转换后的Servlet父类时自定义类必须实现javax.servlet.HttpJspPage接口。
import 该属性用于指定在
JSP页面中可以使用的Java类其作用同Java语言中的import声明语句相同。
例如指定特定的类名 lt page importquotjava.util.Listquot gt 指定特定包中的所有公共类 lt page importquotjava.util.quot gt 同时使用多个包中的类这种情况需要多个import导入多个包一种形式是使用逗号“”将需要导入的多个包分隔开从而为import属性赋多个值如下所示 lt page importquotjava.util. java.io.quot gt 另外一种形式是使用多个page指令 lt page importquotjava.util. quot gt lt page importquotjava.io.quot gt 第1篇
JSP网站开发篇 session session属性用于指定一个页面是否内建session对象。
如果设置为true表明内建session对象如果设置为false则表示不会内建session对象。
其默认值为true。
buffer 该属性用于指定out对象使用的缓冲区大小。
如果buffer属性值为none则所有操作的输出直接由ServletResponse的PrinterWriter输出。
如果指定了一个缓冲区的大小则表示利用out对象输出时并不直接传送到PrintWriter对象而是先存放到缓存中然后再输出到PrintWriter对象。
其默认值为8KB。
autoFlush autoFlush属性用于指定当缓冲区满时缓存是否自动刷新。
如果属性取值为false则当缓冲区溢出时将抛出一个异常。
其默认值为true。
isThreadSafe isThreadSafe属性用于指定
JSP页面的访问是否是线程安全的。
如果设置为true则向
JSP容器声明该页面可以同时被多个客户请求访问。
如果设置为false则该页面同一时刻只能处理一个客户请求其他客户需要排队等待。
其默认值为true。
info info属性的属性值是一个字符串。
当
JSP页面被编译成Servlet类时可以使用Servlet类的getServletInfo方法来获取info属性的属性值。
errorPage errorPage属性用于指定访问的
JSP页面发生异常时
JSP容器将客户请求重定向到哪个页面。
isErrorPage isErrorPage属性用来指定当前
JSP页面是否为处理异常的页面。
该属性通常与errorPage属性配合使用。
如果设置isErrorPage属性值为true那么在该
JSP页面中可以使用内建对象exception用来处理另一个
JSP页面所产生的异常。
如果值为false则不能使用内建对象exception否则将产生
JSP编译错误。
其默认值为false。
contentType contentType属性用来指定
JSP页面输出到客户端时所用的MIME类型和字符集。
默认MIME类型为text/html默认的字符集是ISO-8859-1。
如果想要输出简体中文则字符集可以设置为GB2312或GBK。
其格式如下 lt page contentTypequottext/htmlcharsetgb2312quot gt pageEncoding pageEncoding属性指定
JSP页面使用的字符集编码。
如果设置了该属性则
JSP页面使用该属性设置的字符集编码。
如果没有设置这个属性则
JSP页面使用contentType属性指定的字符集编码。
isELIgnored 该属性用于定义在
JSP页面中是否执行或忽略EL表达式。
如果设置为trueEL表达式将被容器忽略。
如果设置为falseEL表达式将被执行。
JSP概述 第1章 2页面包含指令include 在开发
JSP页面时有可能会经常用到某些相同的功能例如第一个页面中都要用到同一个导航条这时就可以将这部分功能封装到一个
JSP文件中。
然后在需要这部分功能的
JSP页面使用include指令将该页面包含进来即可。
include指令的语法格式如下 lt include file quotURLquotgt 其中file表示要包含的文件URL表示包含文件的路径。
下面举例介绍include指令的使用。
创建一个Web应用命名为HuiZhi在应用中创建一个include.
jsp文件其主要内容如代码1.1所示。
代码1.1 include.
jsp文件 lt page contentTypequottext/htmlcharsetgb2312quot gt lthtmlgt ltbodygt ltcentergt ltdivgtlt include filequotindex.htmlquotgtlt/divgt ltdivgt上面是包含文件中的内容lt/divgt lt/centergt lt/bodygt lt/htmlgt 上述代码在include.
jsp文件中使用include指令包含了index.html文件index.html文件主要内容如代码1.2所示。
代码1.2 index.html文件 ltbodygt ltcentergt ltimg srcquotimage/logo.jpgquot/gt lt/centergt lt/bodygt 下面运行程序。
在Servers面板中右击Tomcat服务在弹出的快捷菜单中执行Add and Remove Projects命令在弹出窗口中选择Web应用HuiZhi单击Add按钮将其添加到Configured Projects区域中然后单击Finish按钮完成项目的发布。
最后在Servers面板中右击Tomcat服务在快捷菜单中执行Start命令启动Tomcat。
Tomcat启动完成后在浏览器地址栏中请求http://localhost:8080/HuiZhi/include.
jsp页面效果如图1-12所示。
其中http://localhost:8080/是不变的HuiZhi是Web应用名称。
后面介绍请求内容时将省略类似部分。
提 第1篇
JSP网站开发篇 图1-12 包含其他页面 实现页面包含后在运行时可能会出现错误其原因可能是在这两个页面中都进行了字符集编码设置。
这时可以将被包含文件中的page指令去掉或者将两个页面的字符集编码设置成同一形式即可。
3页面自定义标签指令taglib 页面自定义标签指令taglib用来定义一个标签库以及其自定义标签的前缀。
其语法格式 如下 lt taglib uriquotURIToTagLibraryquot prefixquottagPrefixquot gt 在上述代码中uriquotURIToTagLibraryquot表示Uniform Resource IdentifierURI根据标签的前缀对自定义的标签进行唯一命名prefixquottagPrefixquot表示自定义标签的前缀例如在lts:ifgt中的s就是标签前缀。
1.3.2
JSP脚本元素
JSP脚本元素是嵌入到
JSP页面中的Java代码。
通常脚本元素包含3部分声明Declaration、脚本小程序Scriptlet和表达式Expression。
1声明Declaration 声明用来定义
JSP页面中使用的声明变量、方法和类是以lt为起始以gt为结尾的标记。
具体语法格式如下 lt declaration declaration ... gt 声明必须以分号结尾可以一次性声明多个变量、方法或类。
声明一般只在当前页面中起作用。
如果需要在多个页面中使用相同声明可以像前面那样将这些声明封装到一个
JSP文件中然后在需要的页面中将该页面包含进来。
声明变量 例如在
JSP页面中声明如下所示两个变量 提
JSP概述 第1章 lt page contentTypequottext/htmlcharsetgb2312quotgt lt String name xiaoqi int age 24 gt 声明方法 例如在
JSP文件中声明一个静态方法hello该方法接收一个字符串参数然后返回一个问候语。
其内容如下所示 lt public static String helloString name return quot你好quot name gt 声明类 在
JSP页面中可以声明类。
例如下面
JSP文件declaration.
jsp中声明了一个内部类以及这个内部类的用法其主要内容如代码1.3所示。
代码1.3 declaration.
jsp文件 lt public class innerClass public String helloString name return quot你好quot name gt lt String name quot小起quot innerClass inner new innerClass gt ltfont sizequot5quotgtltinner.helloname gtlt/fontgtltbr/gt 运行程序在浏览器地址栏中请求declaration.
jsp页面运行结果如图1-13所示。
2表达式Expression
JSP表达式可以把
JSP页面中的数据直接输出到客户端。
其语法格式如下 lt Expression gt 在表达式的语句中不能使用分号。
JSP页面中的输出表达式可以使用内置对象out来代替输出数据。
例如 图1-13 内部类使用效果 第1篇
JSP网站开发篇 lt 1 2 3 gt 上述代码等效于 lt out.printString.valueOf1 2 3 gt 3脚本小程序Scriptlet 在
JSP页面中通常将Java代码放置在lt gt标记之间该标记中的程序代码称为
JSP脚本程序。
JSP脚本小程序的语法格式如下所示 lt Java代码 gt 在前面介绍表达式内容时已经用到了脚本小程序例如declaration.
jsp文件。
比如用脚本小程序在页面中输出一句话 lt String words quotHelloWorldquot out.printlnwords gt 1.3.3
JSP动作元素 与
JSP指令元素不同
JSP动作元素在请求处理.
上一篇:
【精品】:struts2学习笔记
下一篇:
非常好用的串口跟踪程序c++语言实验已通过