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)),JavaBean是Java中的一个组件,类似于微软的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容器: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页面中。