编程经验:三大基础技能JSP/JavaBean/Servlet

 

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

jsp调用java方法填充自己

/**
 *
 */

package com.test;

/**
 *
@author Administrator
 *
 */

publicclass TestJavaCommonMethod {
   
   
publicstatic String strJavaCommonMethod="This is Test Java Common Method!";
   
/**
     *
     */

   
public TestJavaCommonMethod() {
       
super();  // Java中,this通常指当前对象,super则指父类的
        // TODO Auto-generated constructor stub
    }

   
/**
     *
@param args
     */

   
publicstaticvoid 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)),JavaBeanJava中的一个组件,类似于微软的COM组件,其本质上是一个封装了一系列属性和方法的类。

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

JavaBean引类

/**
 *
 */

package com.test;

/**
 *
@author Administrator
 *
 */

publicclass TestJavaBean {
     String strJavaBean="This is Test Java Bean!";
   
/**
     *
     */

   
public TestJavaBean() {
       
super();  // Java中,this通常指当前对象,super则指父类的
        // TODO
自动生成的构造函数
    }

   
/**
     *
@param args
     */

   
publicstaticvoid 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
     */

   
publicvoid 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容器:JettyTomcat 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 三层结构的实质是多了一个ControllerServlet来分发客户端浏览器的请求。如果把起控制器作用的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页面中。

 

posted @ 2013-06-13 14:37  信息无障碍  阅读(184)  评论(0编辑  收藏  举报