jsp使用javabean的两种方式(如何在jsp页面中使用javabean组件)

本文目录一览:

怎么在jsp页面中调用javabean啊?

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

JavaBean是一个public类

JavaBean 有一个不带参数的构造方法

JavaBean中的属性通过get和set方法进行操作

例如:定义个CircleArea的JavaBean用于封装圆面积的计算逻辑,以后凡是用到圆面积的计算方法均可使用该JavaBean来完成,实现了代码的重用。

#CircleArea.java

package JavaBeanTest;

public class CircleArea {

         //定义两个属性 (r:半径;unit:单位)

         private double r=0;

         private String unit=””;

         //无参的构造方法

        public CircleArea() {

                 super();

         }

         public double getR() {

                 return r;

         }

         public void setR(double r) {

                 this.r = r;

         }

         public String getUnit() {

                 return unit;

         }

         public void setUnit(String unit) {

                 this.unit = unit;

         }

         //计算圆的面积并返回计算结果

        public String getArea(){

                 return 3.14*r*r+”平方”+unit;

         }

 }

在JSP中调用JavaBean代码如下:

%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%

 !– 在jSP中使用JavaBean一般遵循以下四步

 (1)导入JavaBean的类

 (2) 在指定范围内实例化一个JavaBean对象,如果该对象已经存在则直接引用

 (3) 对Javabean的实例对象进行操作

 (4)从指定范围内移除JavaBean

  —

 %@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%

 %@page import=”JavaBeanTest.CircleArea” %

 jsp:useBean id=”circle1″ class=”JavaBeanTest.CircleArea” scope=”page”/

 jsp:useBean id=”circle2″ class=”JavaBeanTest.CircleArea” scope=”request”/

 jsp:useBean id=”circle3″ class=”JavaBeanTest.CircleArea” scope=”session”/

 jsp:useBean id=”circle4″ class=”JavaBeanTest.CircleArea” scope=”application” /

html

   head

     titleJavaBean在JSP中的应用/title

   /head

   

   body 

 %

 //调用page范围内的JavaBean

      circle1.setR(4);

      circle1.setUnit(“米”);

      out.println(circle1.getArea());

      out.println(“br/br/”);

  //调用request范围内的JavaBean

      circle1.setR(6);

      circle1.setUnit(“米”);

      out.println(circle1.getArea());

      out.println(“br/br/”);

 //调用session范围内的JavaBean

      circle1.setR(8);

      circle1.setUnit(“米”);

      out.println(circle1.getArea());

      out.println(“br/br/”);

  //调用application范围内的JavaBean

      circle1.setR(9);

      circle1.setUnit(“米”);

      out.println(circle1.getArea());

      out.println(“br/br/”);

  %

  hr/

  %

  //将circle1从page范围内移除

 pageContext.removeAttribute(“circle1”);

   //将circle2从request范围内移除

 request.removeAttribute(“circle2”);

   //将circle3从session范围内移除

 session.removeAttribute(“circle1”);

   //将circle4从application范围内移除

 application.removeAttribute(“circle1”);

   %

   /body

 /html

怎么使用javaBean ?

1 使用%@ page imort=”com.dd”%使用导入指令

实际上WEB/INF/classes是一个classpath的路径,所有class文件,只要放到此目录下都可以被访问到与其他类的调用方式是一样的

Code

%@page contentType=”text/html;charset=gb2312″%

%@page import=”cn.aaa.*”%

%

// 实例化对象

SimpleBean sb = new SimpleBean() ;

sb.setName(“你好”) ;

sb.setPassword(“zzzzzz”) ;

%

h1姓名:%=sb.getName()%/h1

h1密码:%=sb.getPassword()%/h1

2 使用jsp的标签指令:

jsp:useBean id=”myfirstBean” scope=”page” class=”cn.aaa.TestBean”

/

Code

%@page contentType=”text/html;charset=gb2312″%

jsp:useBean id=”sb” scope=”page” class=”cn.SimpleBean”/

%

sb.setName(“你好”) ;

sb.setPassword(“zzzzzz”) ;

%

h1姓名:%=sb.getName()%/h1

h1密码:%=sb.getPassword()%/h1

如果使用此标签,则javabesn中必须有一个无参构造方法,其使用这个构造方法

Tomcat服务器默认下是不能读取修改后的javaBean,如要读取有以下两种方法:

1 重新启动服务器

2 配置参数:

reloadable=”true” Context path=”/test” docBase=”F:\testWeb” reloadable=”true”/

jsp如何调用JavaBean类

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

%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%

!– 在jSP中使用JavaBean一般遵循以下四步

(1)导入JavaBean的类

(2) 在指定范围内实例化一个JavaBean对象,如果该对象已经存在则直接引用

(3) 对Javabean的实例对象进行操作

(4)从指定范围内移除JavaBean

%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%

%@page import=”JavaBeanTest.CircleArea” %

jsp:useBean id=”circle1″ class=”JavaBeanTest.CircleArea” scope=”page”/

jsp:useBean id=”circle2″ class=”JavaBeanTest.CircleArea” scope=”request”/

jsp:useBean id=”circle3″ class=”JavaBeanTest.CircleArea” scope=”session”/

jsp:useBean id=”circle4″ class=”JavaBeanTest.CircleArea” scope=”application” /

html

head

titleJavaBean在JSP中的应用/title

/head

body

%

//调用page范围内的JavaBean

circle1.setR(4);

circle1.setUnit(“米”);

out.println(circle1.getArea());

out.println(“br/br/”);

//调用request范围内的JavaBean

circle1.setR(6);

circle1.setUnit(“米”);

out.println(circle1.getArea());

out.println(“br/br/”);

//调用session范围内的JavaBean

circle1.setR(8);

circle1.setUnit(“米”);

out.println(circle1.getArea());

out.println(“br/br/”);

//调用application范围内的JavaBean

circle1.setR(9);

circle1.setUnit(“米”);

out.println(circle1.getArea());

out.println(“br/br/”);

%

hr/

%

//将circle1从page范围内移除

pageContext.removeAttribute(“circle1”);

//将circle2从request范围内移除

request.removeAttribute(“circle2”);

//将circle3从session范围内移除

session.removeAttribute(“circle1”);

//将circle4从application范围内移除

application.removeAttribute(“circle1”);

%

/body

/html

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

如何在jsp中使用javabean

Jsp的一个重要特性就是可以用javaBean实现功能的扩展。将大部分功能放在javaBean中完成,以使jsp页面程序更干净简洁、利于维护。JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。如下就是一个Hello示例:

testA.jsp页面:

%@ page contentType=”text/html;charset=GBK” %

html

head

title示例/title

/head

body scroll=no

form name=”frma” method=”post” action=”testB.jsp”

p

你的姓名:

input type=”text” size=”15″ name=”yourName” value=”” id=yourName

input type=”button” align=”center” name=”subBtn” value=”[提交]” onClick=”f_check()” id=subBtn

/p

/form

/body

/html

script language=”JavaScript” type=”text/javascript”

!–

function f_check(){

if(document.forms(0).yourName.value==””){

alert(“请输入姓名”);

}else{

document.forms(0).submit();

}

}

/SCRIPT

testB.jsp页面

%@ page contentType=”text/html;charset=GBK” %

html

head

title示例/title

/head

jsp:useBean id=”tBean” scope=”page” class=”bean.TestBean”

jsp:setProperty name=”tBean” property=”*” /

/jsp:useBean

body scroll=no

form name=”frmb” method=”post” action=””

p

%=tBean.hello()%

/p

/form

/body

/html

TestBean.java 代码:

package bean;

public class TestBean{

private String yourName = “”;

public void setYourName(String yourName){

this.yourName = ConvertGBK(yourName);

}

public String hello(){

String strHello = “Hello:”+yourName;

return strHello;

}

//汉字转换方法

public String ConvertGBK(String str){

String strReturn=””;

try{

strReturn=new String(str.getBytes(“ISO-8859-1″),”GBK”);

}catch(Exception ex){

System.out.println(“TestBean.ConvertGBK():ex=”+ex.toString());

}

finally{

return strReturn;

}

}

}

testA.jsp页面上“提交”按钮将表单提交给testB.jsp页面,testB.jsp获得的testA.jsp中yourName文本框的值并在实例化TestBean后,执行bean中的setYourName方法,接着执行hello方法,在页面上输出对你问好的语句。

这个简单的示例体现了在jsp中使用javaBean的两个重要方面,一个是捕获表单的输入并保存,一个是执行逻辑功能。所以,依此两个功能还可以将用在jsp中的javaBean分为值Bean(value bean)和工具Bean (utility bean),如下:

值Bean

package bean;

public class TestValueBean{

private String yourName = “”;

public void setYourName(String yourName){

this.yourName = ConvertGBK(yourName);

}

//汉字转换方法

public String ConvertGBK(String str){

String strReturn=””;

try{

strReturn=new String(str.getBytes(“ISO-8859-1″),”GBK”);

}catch(Exception ex){

System.out.println(“TestBean.ConvertGBK():ex=”+ex.toString());

}

finally{

return strReturn;

}

}

}

工具Bean

package bean;

public class TestUtilityBean{

public String hello(TestValueBean tvBean){

String strHello = “Hello:”+tvBean.getName();

return strHello;

}

public String hello(String yourName){

String strHello = “Hello:”+yourName;

return strHello;

}

}

当然,从这个例子看是没有必要分开value bean和utility bean的,但在具有复杂业务逻辑的web应用程序中就可以用value bean实现对表单输入的捕获、保存,减少对数据库中那些值几乎不变的实体的访问,或将value bean放在一定作用域内使此作用域内的多个jsp页面共享。用utility bean完成操作数据库、数据处理等业务逻辑,以value bean 或页面传递的值为参数。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/240853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:24
下一篇 2024-12-12 12:24

相关推荐

  • 打包后页面空白的解决方案

    当我们在调试阶段时,我们的app可能看起来完美无缺,但当我们进行打包时,在运行app时,我们可能会遇到白屏或空白的问题。在这篇文章中,我们将探讨如何解决这种问题。 一、检查文件路径…

    编程 2025-04-29
  • 如何修改ant组件的动效为中心

    当我们使用Ant Design时,其默认的组件动效可能不一定符合我们的需求,这时我们需要修改Ant Design组件动效,使其更加符合我们的UI设计。本文将从多个方面详细阐述如何修…

    编程 2025-04-29
  • Python缓存图片的处理方式

    本文将从多个方面详细阐述Python缓存图片的处理方式,包括缓存原理、缓存框架、缓存策略、缓存更新和缓存清除等方面。 一、缓存原理 缓存是一种提高应用程序性能的技术,在网络应用中流…

    编程 2025-04-29
  • Ant Design组件的动效

    Ant Design是一个基于React技术栈的UI组件库,其中动效是该组件库中的一个重要特性之一。动效的使用可以让用户更清晰、更直观地了解到UI交互的状态变化,从而提高用户的满意…

    编程 2025-04-29
  • 如何计算两种股票收益率的协方差

    协方差是用来衡量两个变量间线性关系强度的方法,它显示了两个变量如何一起变化。在股票市场中,我们常常需要计算两种股票之间的协方差,以衡量它们的投资回报之间的关系。本文将从多个方面详细…

    编程 2025-04-28
  • Python操作Web页面

    本文将从多个方面详细介绍Python操作Web页面的技巧、方法和注意事项。 一、安装必要的库 在Python中操作Web页面,需要用到一些第三方库。 pip install req…

    编程 2025-04-28
  • Python在线编辑器的优势与实现方式

    Python在线编辑器是Python语言爱好者的重要工具之一,它可以让用户方便快捷的在线编码、调试和分享代码,无需在本地安装Python环境。本文将从多个方面对Python在线编辑…

    编程 2025-04-28
  • Java表单提交方式

    Java表单提交有两种方式,分别是get和post。下面我们将从以下几个方面详细阐述这两种方式。 一、get方式 1、什么是get方式 在get方式下,表单的数据会以查询字符串的形…

    编程 2025-04-27
  • 用Pythonic的方式编写高效代码

    Pythonic是一种编程哲学,它强调Python编程风格的简单、清晰、优雅和明确。Python应该描述为一种语言而不是一种编程语言。Pythonic的编程方式不仅可以使我们在编码…

    编程 2025-04-27
  • Java多版本支持实现方式

    本文将从以下几个方面阐述如何实现Java多版本支持,并给出可行的代码示例。 一、多版本Java环境概述 Java是一门跨平台的编程语言,但是在不同的应用场景下,可能需要使用不同版本…

    编程 2025-04-27

发表回复

登录后才能评论