对于大多数已经学过jsp的同学来说javabean的创建和使用肯定掌握的差不多,我今天来讲讲使用javabean的基础错误
1:
对于这个错误我们有三种解决方法:
第一看看是不是自己存储java文件时的位置有问题,一般我们都是在webapps下的Root新建文件\WEB-INF\classes\tom\jiafei ,当然我们也可以直接在webapps下直接新建文件ch4\WEB-INF\classes\tom\jiafei,但是在ch4下再新建一个文件ch4\ch5\WEB-INF\classes\tom\jiafei,将会出现这个报错的页面
第二:看看自己是不是忘记了给java类进行编译得到字节码文件
打开 cmd,进入 tomcat 服务器文件放置的磁盘 (一般为 C 或 D),通过 cd 命令进入 classes 文件夹,之后通过 javac 命令对编写 的类文件(.java 文件)进行编译,以 D 盘为例,输入命令如下:
第三:看看在使用usebean时中class里面调用java类的名字是不是和java方法名字一样,否则也会报错
2:
对于这个数字2的值为啥传不进去,大概是因为自己粗心大意,在getXxx()中对数字2应该传错了值,大家要是出现了这个错误可以看看这个解决方法。
注意:当你每次改变了java文件时,必须重新编译java字节码,原来的字节码已经没用了,而且必须重新启动tomcat里面的startup.bat,而不是直接关闭浏览器,要不然获得的页面还是重新那一个。
代码如下:computer.jsp
<%@ page contentType = "text/html" %>
<%@ page pageEncoding = "utf-8" %>
<% request.setCharacterEncoding("utf-8");
%>
<HTML><body bgcolor=yellow>
<style>
#tom{
font-family:宋体;font-size:26;color:blue
}
</style>
<jsp:useBean id = "computer" class="tom.jiefei.computer" scope="session"/>
<jsp:setProperty name="computer" property="*"/>
<form action="" method="post">
数字1:<input type=text name="numberone" size=6/>
<select name="operator">
<option value="+">+
<option value="-">-
<option value="*">*
<option value="/">/
</select>
<br>数字2:<input type=text name="numbertwo" size=6/>
<br><input id=tom type=submit name="submit" value="提交"/>
</form>
<b>
<jsp:getProperty name="computer" property="numberone"/>
<jsp:getProperty name="computer" property="operator"/>
<jsp:getProperty name="computer" property="numbertwo"/> =
<jsp:getProperty name="computer" property="result"/>
</b>
</body></HTML>
computer.java
package tom.jiefei;
public class computer{
double numberone,numbertwo,result;
String operator="+";
public void setNumberone(double n){
numberone=n;
}
public double getNumberone(){
return numberone;
}
public void setNumbertwo(double m){
numbertwo=m;
}
public double getNumbertwo(){
return numbertwo;
}
public void setOperator(String S){
operator=S.trim();
}
public String getOperator(){
return operator;
}
public double getResult(){
if(operator.equals("+"))
result=numberone+numbertwo;
else if(operator.equals("-"))
result=numberone-numbertwo;
else if(operator.equals("*"))
result=numberone*numbertwo;
else if(operator.equals("/"))
result=numberone/numbertwo;
return result;
}
}