JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能。 但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。 更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计者进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。

jsp调用java方法填充自己

/**
*
*/
package com.test;

/**
*
@author Administrator
*
*/
public class TestJavaCommonMethod {

public static String strJavaCommonMethod="This is Test Java Common Method!";
/**
*
*/
public TestJavaCommonMethod() {
super(); // 在Java中,this通常指当前对象,super则指父类的
// TODO Auto-generated constructor stub
}

/**
*
@param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}

}
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> 
<jsp:useBean id="ubTest" class="com.test.TestJavaBean"/> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
</head>
 <body> 
调用Java一般方法
<%= com.test.TestJavaCommonMethod.strJavaCommonMethod%>
</body>
 </html>

*********************************************************************************************************

*********************************************************************************************************

JavaBean 是一种JAVA语言写成的可重用组件 JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB)),JavaBean是Java中的一个组件,类似于微软的COM组件,其本质上是一个封装了一系列属性和方法的类。

JAVABEAN 对应着 com+ 技术   自己编写还是挺多的 不过可以通过IDE(Jbuilder ,Eclipse)生成   

JavaBean引类

/**
*
*/
package com.test;

/**
*
@author Administrator
*
*/
public class TestJavaBean {
String strJavaBean="This is Test Java Bean!";
/**
*
*/
public TestJavaBean() {
super(); // 在Java中,this通常指当前对象,super则指父类的
// TODO 自动生成的构造函数
}

/**
*
@param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}
//下面的get/set 就是自动生成 右键空白处-->Source--> Generate Getters and Setters --

/**
*
@return the strJavaBean
*/
public String getStrJavaBean() {
return strJavaBean;
}

/**
*
@param strJavaBean the strJavaBean to set
*/
public void setStrJavaBean(String strJavaBean) {
this.strJavaBean = strJavaBean;
}

}

jsp调用JavaBean

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<jsp:useBean id="ubTest" class="com.test.TestJavaBean"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
调用JavaBean中的 get方法 <%=ubTest.getStrJavaBean()%>
</body>
</html>

 

*********************************************************************************************************

*********************************************************************************************************

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

Server + Applet =Servlet 意为服务器端的小程序 Applet具有很好的图形界面(AWT),与浏览器一起,在客户端运行。    Servlet 则没有图形界面,运行在服务器端。

Servlet  对应着 asp.net handel

JSP JavaBean两层结构的开发应该是比较熟悉的,也比较好理解。但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行Servlet,把调用JavaBean的结果嵌入到页面中返回给用户的浏览器。

JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。 (jsp -->.java-->.class)Servlet容器 与Servlet 关系如同枪和子弹的关系:        http://developer.51cto.com/art/201012/237827.htm     

前面已经介绍了一个 Web 应用对应一个 Context 容器 Servlet容器:Jetty、Tomcat :http://www.ibm.com/developerworks/cn/java/j-lo-servlet/

JSP在首次被访问的时候被应用服务器转换为servlet,在以后的运行中,容器直接调用这个servlet,而不再访问JSP页面。JSP的实质仍然是servlet Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序:  http://www.stcsm.gov.cn/learning/lesson/xinxi/20020617/20020617-4.asp

*********************************************************************************************************

*********************************************************************************************************

JSP JavaBean Servlet 三层结构的实质是多了一个Controller:Servlet来分发客户端浏览器的请求。如果把起控制器作用的Servlet的作用理解为对客户端的请求进行预处理对理解Servlet将有很大的帮助   http://developer.51cto.com/art/200906/132518.htm

具体实现时,JavaBean作为模型层,Servlet作为控制层,JSP作为视图层。每层的作用如下:     MVC框架

1.JavaBean作为Model层,实现各个具体的应用逻辑和功能。

2.Servlet作为Controller层,负责处理HTTP请求,包括:对输入数据的检查和转换。 通过JavaBean访问数据库。 初始化JSP页面中要用到的JavaBean或对象。 根据处理中不同的分支和结果,决定转向那个JSP等。

3.JSP作为View层,负责生成交互后返回的界面。它主要通过信息共享,获取Servlet生成的对象或JavaBean,从中取出数据,插入到HTML页面中。