jspjavabean?如何在JSP里执行JavaBean里的方法
亲爱的读者们,你是否对jspjavabean和如何在JSP里执行JavaBean里的方法的相关问题感到困惑?别担心,今天我将为你解答这些问题,让你对此有更清晰的认识。
怎么在jsp页面中调用javabean啊
在JSP中使用JavaBean,可以实现HTML代码和Java代码的分离,是JSp更易于开发和维护:
JavaBean是一个public类
JavaBean有一个不带参数的构造方法
JavaBean中的属性通过get和set方法进行操作
例如:定义个CircleArea的JavaBean用于封装圆面积的计算逻辑,以后凡是用到圆面积的计算方法均可使用该JavaBean来完成,实现了代码的重用。
#CircleArea.java
packageJavaBeanTest;
publicclassCircleArea{
//定义两个属性(r:半径;unit:单位)
privatedoubler=0;
privateStringunit="";
//无参的构造方法
publicCircleArea(){
super();
}
publicdoublegetR(){
returnr;
}
publicvoidsetR(doubler){
this.r=r;
}
publicStringgetUnit(){
returnunit;
}
publicvoidsetUnit(Stringunit){
this.unit=unit;
}
//计算圆的面积并返回计算结果
publicStringgetArea(){
return3.14*r*r+"平方"+unit;
}
}
在JSP中调用JavaBean代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<!--在jSP中使用JavaBean一般遵循以下四步
(1)导入JavaBean的类
(2)在指定范围内实例化一个JavaBean对象,如果该对象已经存在则直接引用
(3)对Javabean的实例对象进行操作
(4)从指定范围内移除JavaBean
-->
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%@pageimport="JavaBeanTest.CircleArea"%>
<jsp:useBeanid="circle1"class="bchome-87b8-6fb1-5eba-f39f JavaBeanTest.CircleArea"scope="page"/>
<jsp:useBeanid="circle2"class="bchome-6fb1-5eba-f39f-3d56 JavaBeanTest.CircleArea"scope="request"/>
<jsp:useBeanid="circle3"class="bchome-5eba-f39f-3d56-dd7f JavaBeanTest.CircleArea"scope="session"/>
<jsp:useBeanid="circle4"class="bchome-f39f-3d56-dd7f-6a45 JavaBeanTest.CircleArea"scope="application"/>
<html>
<head>
<title>JavaBean在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的问题
出错的原因2楼已经解释的很详细了,我只告诉你方法,你应该怎么发布工程!
首先请在myeclipse中配置好tomcat服务器,方法是依次展开
windows-->Preferences-->MyEclipse-->Servers-->Tomcat 6.x
把Tomcat设置为Enable,然后选择你安装的jdk目录,比如C:\Java\jdk_u13\
最后再把tomcat运行模式设置为Runmodel。
然后呢,在MyEclipse的调试窗口,就是打印错误信息的地方,切换到Servers选项卡,里面应该就可以看到tomcat服务器的身影了,如果没有,请重新检查一下tomcat配置。
在tomcat上右击,选择Add deployment,在弹出的窗口中选择你的工程,OK确定,tomcat就会把工程发布到服务器上,也就是tomcat安装目录下的webapp文件下,并自动编译Java文件。最后在Servers选项卡的右上角,有个绿色按钮,点击一下,就是启动Tomcat服务器。
在控制台窗口看到tomcat start in xxxx ms..就是启动成功了。
最后在浏览器输入http://localhost:8080/工程名/xxx.jsp(xxx.jsp为你要访问的jsp文件名)
jsp中使用javabean的好处
jsp中使用javabean的好处如下:
1.提高代码的可复用性:对于通用的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调用JavaBean的属性和方法可快速进行程序设计。
2.程序易于开发维护:实现逻辑的封装,使事务处理和显示互不干扰。
3.支持分布式运用:多用JavaBean,尽量减少java代码和html的混编。
如何在JSP里执行JavaBean里的方法
<jsp:useBean id="reg" scope="page" class="bchome-3d56-dd7f-6a45-0904 lastTest.Reg"/>
上面的配置应该没问题,
根据错误提示,说嘛Reg类存在,但是在Reg类中找不到
hello()方法
所以问题就是,要么Reg类里面没有hello方法,要么就是jsp上调用方法的名称写错了,关键时候,不要相信自己的手指,要相信复制
-------------------------------------------
创建文件需要给出项目的相对目录
比如说这样:
【new File("lastTest/reg.xml")】
我这里有个工具类,可以得到项目下文件的绝对路径,看可以看看,或许有用:
/*
*@(#)FilePathUtil.java 1.0 2007-11-30
*
* Copyright notice四川师范大学远程教育中心
*/
package util;
import java.io.File;
import java.net.URL;
/**
*根据文件的相对路径得到该文件的绝对路径
*
*@version 1.0 2007-11-30
*@author puzg
*/
public class FilePathUtil{
/**
*根据文件的相对路径得到该文件的绝对路径
*@param resource文件的相对路径
*@return
*/
public static String getFilePath(String resource){
String path="";//文件绝对路径
URL url= getClassLoader().getResource(resource);
if(url== null){
//System.out.println("取得文件路径出错");
throw new RuntimeException("取得文件路径出错");
}
path= url.toString();
path= path.substring(5, path.length());//取出路径中前6个字符"file:/
path= path.replaceAll("%20","");
return path;
}
private static ClassLoader getClassLoader(){
return FilePathUtil.class.getClassLoader();
}
public static void main(String[] args){
// String path= FilePathUtil.getFilePath("configure/proxool.xml");
// System.out.println(path);
// File f= new File(path);
File f= new File("servlet/BeanTest.java");
System.out.println(f);
System.out.println(f);
}
}
感谢您的阅读!希望本文对解决您关于jspjavabean的问题有所帮助。如果您还有其他疑问,欢迎随时向我们提问。