在JSP中调用JAVA类和使用JavaBean有什么区别

作者&投稿:卜物 (若有异议请与网页底部的电邮联系)
java类和javabean的关系和区别~

javabean实际上就是一个类,里面封装了一个物体的get set 方法,硬要说区别的话 java的类多种多样、,javabean指示 gs方法

在JSP中调用JavaBean示例代码如下:

< !-- 在jSP中使用JavaBean一般遵循以下四步
(1)导入JavaBean的类
(2) 在指定范围内实例化一个JavaBean对象,如果该对象已经存在则直接引用
(3) 对Javabean的实例对象进行操作
(4)从指定范围内移除JavaBean
-->








JavaBean在JSP中的应用



< %
//调用page范围内的JavaBean
circle1.setR(4);
circle1.setUnit("米");
out.println(circle1.getArea());
out.println("");
//调用request范围内的JavaBean
circle1.setR(6);
circle1.setUnit("米");
out.println(circle1.getArea());
out.println("");
//调用session范围内的JavaBean
circle1.setR(8);
circle1.setUnit("米");
out.println(circle1.getArea());
out.println("");
//调用application范围内的JavaBean
circle1.setR(9);
circle1.setUnit("米");
out.println(circle1.getArea());
out.println("");
%>

<%
//将circle1从page范围内移除
pageContext.removeAttribute("circle1");
//将circle2从request范围内移除
request.removeAttribute("circle2");
//将circle3从session范围内移除
session.removeAttribute("circle1");
//将circle4从application范围内移除
application.removeAttribute("circle1");
%>


在JSP中使用JavaBean,可以实现HTML代码和Java代码的分离,使JSp更易于开发和维护。

可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类。特殊在可以通过<jsp:useBean />调用JavaBean而其他类,可以和一般java中一样使用. Bean的参数中还可以指定范围, <jsp:useBean scope="application" />该Bean在服务器的JVM中将只有一个实例. Bean是和WebServer相关的,不同的页面可以通过Bean 交互.而在一个页面中的类,就没有这个功能,除非通过session,那又是另外一回事了.
bean其时也是class文件,只是普通的java文件没有什么限制,如果按bean的规范来制作class文件,那他就是一个bean。而按bean的规范来制作就相当是一个组件,换句话说bean就是组件技术。
为了确保一个java类成为javabean,有以下四个简单的也是必须的规范:
这个类是可序列化的,即必须实现java.io.Serializable接口。
这个类必须带有一个无参数的构造方法。
若成员变量名为XXX,那么要有方法getXXX(),用来获取属性;setXXX(),用来修改属性;对于Boolean类型的成员变量,可用is代替get和set类中的方法的访问。属性都必须是public的。类中如果有构造方法,那么这个构造方法也是public的,并且无参数。
这个类包含所有必需的事件处理方法。
JavaBean和Servlet的不同 :
Type1: 一般的JavaBean中,只有属性声明和该属性对应的setXxx和getXxx方法,(一般不建议)不包含业务逻辑;这种JavaBean可以简单地理解为“数据对象”即可。
Type2: 还有一种JavaBean,其内包含业务处理逻辑,用于处理特定的业务数据;一般使用上面所述的“数据对象”(当然也可能不使用)。
Servlet主要是用来:接收请求、封装‘Type1’的JavaBean、调用‘Type2’的JavaBean的相应业务逻辑方法、向客户端发出响应。
以上是Struts 1.x所使用的模式:ActionForm 就是 Type1的JavaBean,ActionBean就是Type2的JavaBean,ActionServlet即是上面所述的Servlet。 Struts 2.x则是使用 Type1 + Type2的方式(数据对象和业务处理)和Servlet相结合的方式(实际上就是Webwork的方式)。

javaBean和Servlet有什么区别?
什么时候用javaBaen?
什么时候用Servlet,什么时候二者结合使用?
javabean无非就是里面有些set和get方法
servlet用来处理一些逻辑层
javabean说笼统点是实现
javabean、servlet、jsp分别对应M(odel)、C(ontroller)、V(iew)
举例: servlet查询数据库-----javabean保存查询结果-----jsp显示查询结果
javabean就是一个普通的Java类,里面为属性增加了getter和setter并提供默认构造。可以在多层架构的各层存在。想用它作什么都行。
而Servlet是展示层的东西……应当只在展示层存在。常作为MVC中的控制器。
一般说的Mvc模式,Servlet主要充当了C的作用。
javabean和servlet是两回事.因为javabean是一个组件,可以用在任何地方,当然就可以用在servlet里了
按照Sun的定义,所谓的JavaEE应用,是由两大部分组成:(1)组件,表示业务逻辑、表现逻辑,这部分由开发人员完成;(2)标准的系统服务,由JavaEE平台,亦即容器来提供,这个范围之外的都不属于JavaEE应用的范畴。而Servlet,作为JavaEE应用表现逻辑的组件之一,当然是JavaEE应用的一部分。而JavaBean,产生的年代早于J2EE,其技术用途更为广泛不限于JavaEE使用,按照sun的定义,不属于JavaEE技术范围。
其实真正大规模使用JavaBean组件技术的是在Swing中,wing中的所有控件包括JButton,JTree等用的都是JavanBean技术,这些控件的基本编程模型正是大名鼎鼎的MVC模型,不信找出Swing API来,好好研究一下JTree、JTable,就知道什么是真正的JavaBean了。
而Servlet是只能在JavaEE容器中存活的特殊Java类,就像是鱼缸里的鱼,没有容器Servlet是不能生存的。而JavaBean则可以脱离JavaEE环境单独存在,按照Sun的说法,既可以用在客户端,也可以用在服务器端。
所谓的POJO,就是EJB把E字去掉,剩下的JB就是JavaBean,换句话说,JavaBean在J2EE里,甚至可以充当某些EJB完成的任务,用途远大于Servlet。最后的区别,就是 JavaBean的主要用途在于管理JavaEE应用各个层之间的数据流,所以在一些框架中(如Struts)有FormBean和ActionBean的说法,其本质都是为了管理数据。相信如果把上述几点搞清,区分Servlet和JavaBean应当不会很困难的。

JSP和Servlet到底在应用上有什么区别?
简单的说,SUN首先发展出Servlet,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。 后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。
新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。 从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。
Servlet用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。
写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起,就像把数据库处理信息放到JSP中。其实,它应该放在business layer中。根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东西,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JavaBean中。通过JSP调用JavaBean,实现两层的整合。
实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。
  另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了
  综上所述,Servlet是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。
  所以,推出JSP+Bean,用JSP写presentation layer,用Bean写business layer。SUN自己的意思也是将来用JSP替代Servlet。
  可是,这不是说,学了Servlet没用,实际上,还是应该从Servlet入门,再上JSP,再上JSP+BEAN。
  强调的是:学了JSP,不会用JavaBean并进行整合,等于没学。大家多花点力气在JSP+Bean上。
我们可以看到,当ASP+COM和JSP+Bean都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的Servlet/JSP先编译驻内存后执行的速度优势就没有了。
  反之,ASP+COM+IIS+NT紧密整合,应该会有较大的速度优势呈现。而且,ASP+COM+IIS+NT开发效率非常高,虽然BUG很多。
  那么,为什么还用JSP+Bean?
因为JAVA实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,JAVA一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为JAVA的新领导者。
目前的JAVA大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开JAVA标准大战,双方各自制定标准,影响JAVA夸平台。
  另外,现在的机器速度越来越快,JAVA的速度劣势很快就可以被克服。javabean可以作为模型+控制,也可以单做模型,也可以只用来做数据传递(JSP发送数据到Bean,BeanN执行execute,操作数据库,反之也可)
如果还没学到其它框架,如HIBERNATE,SPRING,STRUTS等。那javabean的作用是用来作数据的装载,这种bean我称为数据bean,比如从数据库上查询出的记录可以保存在数据bean中。
javabean的另一外作用是用来处理一些业务逻辑,比如可以在javabean中用JDBC去访问数据库,从而从数据库中加载信息到数据bean中,也可以从数据库中删除、保存数据等。
而Servlet的作用主要是用来控制页面的跳转,比如说从login.jsp发一个请求到Servlet中,Servlet调用业务bean的方法去查询数据库是否有此密码和用户名,如果正确Servlet就可以用request或者response对象的方法跳转到想要的页面。

JSP开发的两种模式
模式一:JSP+JavaBeans
这就是指JSP+JavaBean技术。在模式一中,JSP页面独自响应请求并将处理结果返回客户。所有的数据通过Bean来处理JSP实现页面的表现。模式一技术也实现了页面的表现--和页面的商业逻辑相分离。
大量使用模式形式,常常会导致页面被嵌入大量的脚本语言或JAVA代码。当需要处理的商业逻辑很复杂时,这种情况会变得非常糟糕。大量的代码会使整个页面变得非常复杂。对于前端界面设计人员来说,这简直不可想象。
这种情况在大项目中最为常见,这也造成了代码的开发和维护出现困难,造成了不必要的资源浪费,在任何项目中,这样的模式总会导致多多少少的定义不清的响应和项目管理的困难。
综上所诉,模式一不能满足大型项目的需要,但是可以较好的满足小型应用,在简单的应用中可以考虑模式一。

模式二:JSP+Servlet+JavaBeans
Servlets技术是一种采用JAVA技术来实现CGI功能的一种术。Servlets技术是运行在WEB服务器上,用来生成WEB页面。Servlets技术非常适用于服务器端的处理和编程,并且Servlet会长期驻留在他们所处的位置。
但是在实际的项目开发过程中,页面设计者可以方便地使用普通HTML工具来开发JSP页面Servlet却更适合于后端开发者使用,开发Servlet需要的是JAVA集成开发环境,也就是说Servlet技术更需要编程人员。
模式二技术结合了JSP和Servlet技术充分体现了两者的技术优点。在此模式中通过JSP来表现页面。通过Servlet来完成大量的事务处理。Servlet充当一个控制者的角色,并负责向客户发送请求。Servlet创建JSP所需要的Bean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户。
从开发的观点,模式二具有更清晰的页面表现,清楚的开发者角色划分,可以充分利用开发小组的界面设计人员,这些优势在大型项目开发中表现的尤为突出,使用这一模式,可以充分发挥每个开发者各自的特长,界面设计人员可以充分发挥自己的表现力,设计出优美的界面表现形式,设计人员可以充分发挥自己的商务处理思维,来实现项目中的业务处理。在大型项目中,模式二更被采用。

Servlet是一种独立于平台和协议的位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Java的Servlet与JSP(JavaServerPages)的比较:
JavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在 JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计者进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。
JSP动态Web内容可能是动态Web内容的一项伟大的技术,并可将内容和表示presentation相分离,那为什么servlets仍然有必要和JSP同时实施?
其实servlets的实用性并不是一个问题。它们在服务器端处理方面的表现非常优秀,而且,由于它们引人注目的安装方式而继续存在着。事实上,可以将 JSP看作一种servlets的高级抽象,它以Servlet2.1的API扩展的形式来实现。
注意:不应该不加选择地使用servlets;它们可能并不适用于每个人。例如,当一个页面设计者可以很简单地使用方便的HTML或XML工具来编写 JSP页面时,servlets可能更适合那些在后端的开发者,因为他们经常使用某种IDE来编写。这是一种通常需要较高编程经验的处理工作。
当发布servlets时,甚至开发者都不得不小心确保在presentation和内容之间不存在紧密结合。通常可以通过增加一个第三方发行包如 htmlKona来做到这一点。但即使可以做到这一点,虽然可以通过简单的屏幕上的调整提供一些灵活性,仍无法保证在presentation自身格式上的变化。例如,如果你的presentation从HTML改变到DHTML,将仍然需要确保发行包和新的格式相一致,在最坏的case--scenario中,如果一个发行包无法得到,你将结束在动态web的内容中对presentation使用手写代码。所以,解决方法是什么呢?
方法之一就是同时使用JSP和servlet技术来建立应用系统。


Java 软件中不能显示菜单
成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务 应用。 4)Jbuilder能用Servlet和JSP开发和调试动态Web 应用。 5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。 6)Jbuilder拥有专业化...

现在我学习用jsp做动态网页。以前学过Macromedia Dreamweaver,java,c#...
jsp需要软件 JDK安装和 环境变量配置 elipse 和 tomcat asp 网页三剑客(Macromedia Dreamweaver 和 firework 和 Flash) iis 基本就是以上几种

关于什么是HTML,asp,PHP,jsp, NET 详细�0�3
什么是jsp JSP 是Sun 公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP 的一个通病-脚本级执行(据说PHP4 也已经在 Zend 的支持下,实现编译运行).Sun 公司借助自己在Jav a 上的不凡造诣,将 Java 从Java 应用程序和Java Applet 之外,又有新的硕果,就是Js p-Java Server Page。Jsp 可以在Serverlet ...

jav代码中怎么判断输入的是字符串
这个很麻烦的,最基本的是找 script字符串,还有它的utf编码,还要阻止中间有转义字符,做了几年的程序员都不一定能过滤掉全部的

怎样制作jsp级联选项框
changelocation(document.form1.ctselect.options [document.form1.ctselect.selectedIndex].value); \/\/将一级分类的value传给changelocation()函数,生成二级分类的列表 Surname

如何正确掌握Java的学习方法?
让我们先整理一下开发应用软件需要学习的主要技术。A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取“用到的时候再来学”的原则。B.一门编程语言,现在基本上都是面向对象的语言,JAVA\/C++\/C#等等。如果做WEB开发的话还要学习HTML\/Jav**...

如何进行WEB安全性测试
(\\"Vulnerable\\")<\/scrīpt>.jsp %22%3cscrīpt%3ealert(%22xss%22)%3c\/scrīpt%3e %2e%2e\/%2e%2e\/%2e%2e\/%2e%2e\/%2e%2e\/%2e%2e\/%2e%2e\/etc\/passwd %2E%2E\/%2E%2E\/%2E%2E\/%2E%2E\/%2E%2E\/windows\/win.ini %3c\/a%3e%3cscrīpt%3ealert(%22xss%22)%3c\/scrīpt%3e %3c\/title%...

JAVA中的J2EE和J2SE.J2ME有什么不同?
4)Jbuilder能用Servlet和JSP开发和调试动态Web 应用。 5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。 6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持 各种JDK版本,包括J2ME\/J2SE\/J2EE。

手机支持JAV,用什么阅读器?
MOTOTXT文本阅读器.

怎样把常用软件的快捷方式放到一个统一的版面上,即菜单版面
One Studio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面 的各种应用程序。 4、Borland 的JBuilder Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服 务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点: 1)Jbuilder支持最新的Java技术,包括Applets、JSP\/...

番禺区15828514723: jsp如何调用java类 -
照绍维康: jsp调用java类的步骤:1.新建一个项目,在src文件夹下添加一个包:如:tianaoweb.com; 2.再在包中添加一个类:如 package com; public class test { public String sd(){ return "sd"; } }3.在默认的首页index.jsp(当然也可以自己新建一个jsp文件)的开头引入<%@ page import= "tianaoweb.com.* "%>4.在<body> </body>中添加相应的java代码片:如:<% String str; test te=new test();%><%=te.sd() %>

番禺区15828514723: 关于JSP中如何调用JAVA的类. -
照绍维康: 1.jstl标签,不可能调用java类方法的2.一种方法是在jsp页面中进行调用;另一种是在action或者servlet中调用,然后将值存到request或者session作用域中,最后在页面通过jstl标签取

番禺区15828514723: 在jsp中应该怎么调用java方法 -
照绍维康: 在第一行写 <%@page contentType="text/html;charset=gbk"import="XXX.CartBean"%><jsp:useBean id="cb" class="XXX.CartBean" scope="session"/> 这样,在session里就有一个你写的类的实例,叫cb了,在jsp页中,如果...

番禺区15828514723: 请问JSP中如何调用JAVA类? -
照绍维康: JSP,页面第二行的指令可以导入类或类包,导入多个用半角逗号,分割<%@ page import="java.util.HashMap" %> 以下是我给你的建议:jsp是MVC2设计模式中的视图层,别往里面直接写java代码,java代码可以写到控制层或者模型层或者service层.用el表达式、jstl代替java代码操作数据即可.jsp要学的是JSP自身的指令+el表达式+jstl+html+js.

番禺区15828514723: 如何在jsp中调用java编写的程序中的类,结果 -
照绍维康: jsp的本质也就是个Servlet,在jsp里用类和在普通类里使用方法一样,除了java.lang包里的类都要import或者用类的完整路径.普通的是在最上面import java.util.List;这样,在jsp里就是.都是导入,只是写法不同而已.或者这样.你最好研究一下jsp和servlet的关系,对你学习使用jsp有好处.顺便说一下,看书时候注意,凡是j2ee基础里把servlet放jsp后面讲的,都可以认为是垃圾,不要买.

番禺区15828514723: 如何在jsp中调用java类我写了一个java类Test,Tes
照绍维康: 要在jsp种调用java类,需要用jsp的一个page指令来导入该类! 其中example是包名,Test是类名. 然后就可以在jsp中嵌入的java代码中使用该类!

番禺区15828514723: 如何在jsp页面中调用java方法? -
照绍维康: 引用类文件 调用,你方法返回的什么类型就用相应的类型去接收 你也可以用 dwr实现页面直接掉后台的方法!类名.方法名,不过有几个地方要配置!

番禺区15828514723: jsp如何引用java类,有哪几种方法说明下 -
照绍维康: <%@page import="com.Test"%>//引入Test.java包<% 这里正常使用Test.jsva就行了%> 目前我只用这个方法 其实在jsp中使用java类 除了在包前面加@page 和<%%>包括起来 其他和写java代码没区别,明白了吧

番禺区15828514723: JSP页面中怎么引用java类的方法
照绍维康: 本质上jsp最终要被编译成java,才能被执行 因此同你在java中使用java类一样,也要首先将该类引进 不过在jsp中要使用标签来引入,势力如下: 引进了com.Product.*下的所有类 引进了com.Product下的Abc类

番禺区15828514723: jsp页面如何调用自定义的java类? -
照绍维康: <%@ page import="com.code.Student" %>在jsp页面中写入这样的代码就是导入你自己自定义的类了 com 和code 是包名 Student 是其中的类.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网