写了个简单的随机生成密码的jsp页面mima.jsp
代码如下:
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>密码生成器</title>
</head>
<body>
<jsp:useBean id="pass" scope="session" class="cc.PasswordBean"/>
<jsp:setProperty name="pass" property="numDigit" value="6"/>
<% cc.PasswordBean.createPassword(); %>
随机生成密码:<font color="#663366">
<jsp:getProperty name="pass" property="password"/></font><br></body>
</html>
javabean的代码如下:package cc;
import java.util.*;
import java.io.Serializable;
public class PasswordBean implements Serializable {
private int numDigit;
private long password;
public PasswordBean(){
numDigit=6;
password=123456;
}
    public void setNumDigit(int n){
     if(n<6)
     numDigit=n;
     else
     numDigit=6;
    }
    public void createPassword(){
     double d=Math.random();
     int n=1;
     for(int i=0;i<numDigit;i++)
     n=n*10;
     password=(long)(d*n)+1;
    }
    public int getNumDigit(){
     return numDigit;
    }
    public long getPassword(){
     return password;
    }
}
我的javabean路径是C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\mima\WEB-INF\classes\cc,没有错误啊,怎么解决?谢谢

解决方案 »

  1.   

    提示500错误,不能编译那个javabean
      

  2.   

    jsp页面<%page import=""%>导入你的类
      

  3.   

      看了你的问题后,我自己这几天也在学JSP的标签,所以我就尝试着自己做了下。发现几个问题,第一你先不不需要引入CC包,楼上所说是有带斟酌,因为你用了完全限定名。但我自己做的时候发现了个问题是如果我引入了包,还是要写完全限定名,不是则不能执行,照理说引入了包后就不需要写完全限定名了,但这里只能说是个BUG了需要依靠经验。
      还有我粘贴你的代码测试了下,其中你的 PasswordBean 类的createPassword()方法有个错误,当你的double d 得到的数小于0.1时则返回的数不是个6位的数,需要加如if语句进行判断。
      我觉得你那个不能加载的原因在你JSP页面中的<% cc.PasswordBean.createPassword(); %> 这句话明显错误,用类名直接调用了非静态方法。
    我在测试中把它改为了
    <% 
    cc.PasswordBean p=(cc.PasswordBean)session.getAttribute("pass");
    p.createPassword();
    %>
    则能正确执行。
    还有你写javaBean时要遵循一些原则,按道理你的createPassword方法应该改为setPassword.
    不知道说得有没有道理,希望对你有点帮助。嘿嘿! 
      

  4.   

    很感谢tnt87,我后来把那句调用createPassword方法的语句改成pass.createPassword();就可以了
    但是我感觉你这个写法更确切点
    的确javabean写的不够规范
    而且那个小错误我也没考虑,看了下随机的都是六位的,没考虑小于0.1的判断
    你说的很好,我也最近才上手jsp,希望与你共同交流,谢谢