计算机专业 Java外文翻译 外文文献 英文文献.docx
- 文档编号:271380
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:20
- 大小:18.55KB
计算机专业 Java外文翻译 外文文献 英文文献.docx
《计算机专业 Java外文翻译 外文文献 英文文献.docx》由会员分享,可在线阅读,更多相关《计算机专业 Java外文翻译 外文文献 英文文献.docx(20页珍藏版)》请在冰豆网上搜索。
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主页在
执行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代码输出的文本。
<%@ page language="java"%>
<%!
String str="0";%>
<%for (int i=1;i <10;i++) {
str = str + i;
}%>
JSP输出之前。
<%= str%>
JSP输出之后。
这个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表单,代码如下:
第二个页面是一个JSP页面(q2.jsp),它通过request对象提取q1.html表单中的thename值,将它存储为name变量,然后将这个name值保存到session对象中。
session对象是一个名字/值对的集合,在这里,名字/值对中的名字为“thename”,值即为name变量的值。
由于session对象在会话期间是一直有效的,因此这里保存的变量对后继的页面也有效。
q2.jsp的另外一个任务是询问第二个问题。
下面是它的代码:
<%@ page language="java"%>
<%!
String name="";%>
<%
name = request.getParameter("thename");
session.putValue("thename",name);
%>
您的姓名是:
<%= name%>
第三个页面也是一个JSP页面(q3.jsp),主要任务是显示问答结果。
它从session对象提取thename的值并显示它,以此证明虽然该值在第一个页面输入,但通过session对象得以保留。
q3.jsp的另外一个任务是提取在第二个页面中的用户输入并显示它:
<%@ page language="java"%>
<%!
String food="";%>
<%
food = request.getParameter("food");
String name = (String) session.getValue("thename");
%>
您的姓名是:
<%= name%>
您喜欢吃:
<%= food%>
三、引用JavaBean组件
JavaBean是一种基于Java的软件组件。
JSP对于在Web应用中集成JavaBean组件提供了完善的支持。
这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。
JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
如果我们有三个JavaBean,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的Web页面只需要实例化这三个Bean,使用HTML表格将它们依次定位就可以了。
为说明在JSP环境下JavaBean的应用,我们创建了一个名为TaxRate的Bean。
它有两个属性,即Product(产品)和Rate(税率)。
两个set方法分别用来设置这两个属性,两个get方法则用于提取这两个属性。
在实际应用中,这种Bean一般应当从数据库提取税率值,此处我们简化了这个过程,允许任意设定税率。
下面是这个Bean的代码清单:
package tax;
public class TaxRate {
String Product;
double Rate;
public TaxRate() {
this.Product = "A001";
this.Rate =5;
}
public void setProduct (String ProductName) { this.Product = ProductName;
}
public String getProduct() {
return (this.Product);
}
public void setRate (double rateValue) {
this.Rate = rateValue;
}
public double getRate () {
return (this.Rate);
}
}
在JSP页面中应用上述Bean要用到 useBean>标记。 依赖于具体使用的JSP引擎的不同,在何处配置以及如何配置Bean的方法也可能略有不同。 本文将这个Bean的.class文件放在c: jswdk-1.0examplesWEB-INFjsp? eans ax目录下,这里的tax是一个专门存放该Bean的目录。 下面是一个应用上述Bean的示例页面:
<%@ page language="java"%>
useBean id="taxbean"scope="application"class="tax.TaxRate"/> <%taxbean.setProduct("A002"); taxbean.setRate(17); %> 使用方法1: 产品: <%= taxbean.getProduct()%> 税率: <%= taxbean.getRate()%> <%taxbean.setProduct("A003"); taxbean.setRate(3); %> 使用方法2: 产品: getProperty name="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 Java外文翻译 外文文献 英文文献 Java 外文 翻译 文献 英文