毕业设计--Java外文翻译
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP基础学习资料
一、JSP 技术概述
在Sun 正式发布JSP(JavaServer Pages) 之后,这种新的Web 应用开发技术很快引起了人们的关注。JSP 为创建高度动态的Web 应用提供了一个独特的开发环境。按照Sun 的说法,JSP 能够适应市场上包括Apache WebServer 、IIS4.0 在内的85% 的服务器产品。即使您对ASP “一往情深”,我们认为,关注JSP 的发展仍旧很有必要。
㈠JSP 与ASP 的简单比较
JSP 与Microsoft 的ASP 技术非常相似。两者都提供在HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP 或JSP 环境下,HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML 页面只依赖于Web 服务器,而ASP 和JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML 代码中,然后一起发送给浏览器。ASP 和JSP 都是面向Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
ASP 的编程语言是VBScript 之类的脚本语言,JSP 使用的是Java ,这是两者最明显的区别。此外,ASP 与JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP 下,VBScript 代码被ASP 引擎解释执行;在JSP 下,代码被编译成Servlet 并由Java 虚拟机执行,这种编译操作仅在对JSP 页面的第一次请求时发生。
㈡运行环境
Sun 公司的JSP 主页在/products/jsp/index.html ,从这里还可以下载JSP 规范,这些规范定义了供应商在创建JSP 引擎时所必须遵从的一些规则。
执行JSP 代码需要在服务器上安装JSP 引擎。此处我们使用的是Sun 的JavaServer Web Development Kit (JSWDK )。为便于学习,这个软件包提供了大量可供修改的示例。安装JSWDK 之后,只需执行startserver 命令即可启动服务器。在默认配置下服务器在端口8080 监听,使用http://localhost:8080 即可打开缺省页面。
在运行JSP 示例页面之前,请注意一下安装JSWDK 的目录,特别是“ work ”
子目录下的内容。执行示例页面时,可以在这里看到JSP 页面如何被转换成Java 源文件,然后又被编译成class 文件(即Servlet )。JSWDK 软件包中的示例页面分为两类,它们或者是JSP 文件,或者是包含一个表单的HTML 文件,这些表单均由JSP 代码处理。与ASP 一样,JSP 中的Java 代码均在服务器端执行。因此,在浏览器中使用“查看源文件”菜单是无法看到JSP 源代码的,只能看到结果HTML 代码。所有示例的源代码均通过一个单独的“ examples ”页面提供。
㈢JSP 页面示例
下面我们分析一个简单的JSP 页面。您可以在JSWDK 的examples 目录下创建另外一个目录存放此文件,文件名字可以任意,但扩展名必须为.jsp 。从下面的代码清单中可以看到,JSP 页面除了比普通HTML 页面多一些Java 代码外,两者具有基本相同的结构。Java 代码是通过< % 和%> 符号加入到HTML 代码中间的,它的主要功能是生成并显示一个从0 到9 的字符串。在这个字符串的前面和后面都是一些通过HTML 代码输出的文本。
< HTML>
< HEAD>< TITLE>JSP 页面< /TITLE>< /HEAD>
< BODY>
< %@ page language="java" %>
< %! String str="0"; %>
< % for (int i=1; i < 10; i++) {
str = str + i;
} %>
JSP 输出之前。
< P>
< %= str %>
< P>
JSP 输出之后。
< /BODY>
< /HTML>
这个JSP 页面可以分成几个部分来分析。
首先是JSP 指令。它描述的是页面的基本信息,如所使用的语言、是否维持会话状态、是否使用缓冲等。JSP 指令由< %@ 开始,%> 结束。在本例中,指令“ < %@ page language="java" %> ”只简单地定义了本例使用的是Java 语言(当前,在JSP 规范中Java 是唯一被支持的语言)。
接下来的是JSP 声明。JSP 声明可以看成是定义类这一层次的变量和方法的地方。JSP 声明由< %! 开始,%> 结束。如本例中的“ < %! String str="0"; %> ”定义了一个字符串变量。在每一项声明的后面都必须有一个分号,就象在普通Java
类中声明成员变量一样。
位于< % 和%> 之间的代码块是描述JSP 页面处理逻辑的Java 代码,如本例中的for 循环所示。
最后,位于< %= 和%> 之间的代码称为JSP 表达式,如本例中的“ < %= str %> ”所示。JSP 表达式提供了一种将JSP 生成的数值嵌入HTML 页面的简单方法。
二、会话状态管理
会话状态维持是Web 应用开发者必须面对的问题。有多种方法可以用来解决这个问题,如使用Cookies 、隐藏的表单输入域,或直接将状态信息附加到URL 中。Java Servlet 提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息。JSP 也同样支持Servlet 中的这个概念。
在Sun 的JSP 指南中可以看到许多有关隐含对象的说明(隐含的含义是,这些对象可以直接引用,不需要显式地声明,也不需要专门的代码创建其实例)。例如request 对象,它是HttpServletRequest 的一个子类。该对象包含了所有有关当前浏览器请求的信息,包括Cookies ,HTML 表单变量等等。session 对象也是这样一个隐含对象。这个对象在第一个JSP 页面被装载时自动创建,并被关联到request 对象上。与ASP 中的会话对象相似,JSP 中的session 对象对于那些希望通过多个页面完成一个事务的应用是非常有用的。
为说明session 对象的具体应用,接下来我们用三个页面模拟一个多页面的Web 应用。第一个页面(q1.html )仅包含一个要求输入用户名字的HTML 表单,代码如下:
< HTML>
< BODY>
< FORM METHOD=POST ACTION="q2.jsp">
请输入您的姓名:
< INPUT TYPE=TEXT NAME="thename">
< INPUT TYPE=SUBMIT V ALUE="SUBMIT">
< /FORM>
< /BODY>
< /HTML>
第二个页面是一个JSP 页面(q2.jsp ),它通过request 对象提取q1.html 表单中的thename 值,将它存储为name 变量,然后将这个name 值保存到session 对象中。session 对象是一个名字/ 值对的集合,在这里,名字/ 值对中的名字