ASP JSP HPH区别 及 编写和使用JavaBeans

来源:互联网 发布:杭州专业seo公司 编辑:程序博客网 时间:2024/06/10 08:06

ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。    

PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。    

JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

三者都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML页面只依赖于Web服务器,而ASP 、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

编写 beans 

    JavaBeans 分为可视组件和非可视组件。在 JSP中主要使用非可视组件。对于非可视组件,我们不必去设计它的外观,生要关心它的属性和方法。编写 JavaBeans 就是编写一个Java 的类,所以只要会写类就能编写一个 beans。这个类创建的一个对象称做一个 beans。

为了能让使用这个 beans 的应用程序构建工具(如 JSP 引擎)知道这个 beans 的属性和方法,只需在类的方法命名上遵守以下几点: 
    (1)如果类的成员变量的名字是 xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法: 
        getXxx(),用来获取属性 xxx。 
        setXxx(),用来修改属性 xxx。 
     (2) 对于boolean 类型的成员变量,即布尔逻辑类型的属性,允许使用 is 代替上面的get 和set。 
  (3)类中方法的访问属性都必须是 Public 的 
     (4) 类中如果有构造方法,那么这个构造方法也是 Public的,并且是无参数的。 

    下面我们编写一个简单的 beans,名称:Circle.java:

package bean;import java.io.*;//JavaBeanspublic class Circle {    int radius;    public Circle(){        radius=1;    }    public int getRadius() {        return radius;    }    public void setRadius(int radius) {        this.radius = radius;    }    public double circleArea(){        return Math.PI*radius*radius;    }    public double circleLength(){        return Math.PI*2*radius;    }}
    将上述的文件保存成 Circle.java,并编译通过,得到 Circle.class。


使用 beans

    为了在 JSP页面中使用 beans,我们必须使用 JSP 动作标签useBean。 
    useBean 的格式: 
    <jsp:useBean id=“给bean 起的名字” class=“创建 beans的类” scope=“bean 有效范围”> </jsp:useBean> 
或 
    <jsp:useBean id=“给bean 起的名字” class=“创建 beans的类” scope=“bean 有效范围”/> 

当服务器上某个含有 useBean 动作标签的 JSP 页面被加载执行时,JSP 引擎将首先根据id 的名,在一个同步块中查找 JSP 引擎内置pageContext对象中是否含有名字 id和作用域 scope 的对象,如果这个对象存在,JSP 引擎就分配一个这样的对象给客户,这样,客户就获得了一个作用域是 scope、名字是 id 的 beans(就像我们组装电视机时获得了一个有一定功能和使用范围的电子元件)。如果在 pageContext 中没有查找到指定作用域,名字是 id 的对象,就根据 class 指定的类创建一个名字是 id 对象,即创建了一个名字是 id 的 beans。添加到 pageContext 内置对象中,并指定该 beans 的作用域是 scope。同时 JSP 引擎分配给客户一个作用域是 scope、名宇是 id的 beans。

为了使服务器的所有 web 服务目录下的 JSP 页面文件都能使用 beans,必须将上面编译通过生成的字节码类文件Circle.class复制到JSP引擎的classes文件夹下,本例为tomcat的classes文件夹。另外在使用 beans的JSP页面中,必须有如下的 import 指令: 
   

<%@page import="Circle"%> 


使用的例子useBean.jsp 代码: 

<%@ page language="java" contentType="text/html; charset=gb2312"%><%@page import="bean.Circle" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><jsp:useBean id="test1" class="bean.Circle" scope="page"></jsp:useBean><%    test1.setRadius(10);%><%=test1.getRadius() %></body></html>


1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。

3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat, 就是说通过Apache可以访问Tomcat资源。反之不然)

4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及 java的,类似的有IBM的websphere、BEA的Weblogic,sun的JRun等等。

5. Apache和Tomcat是独立的,在同一台服务器上可以集成。打个比方:Apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。

Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。


原创粉丝点击