我写了一个注册代码,可是不能运行出现这样的错误,该怎么改啊,请大家帮帮忙。
message description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: bean/DB_User (wrong name: DB_User)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:273)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.NoClassDefFoundError: bean/DB_User (wrong name: DB_User)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1876)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1154)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1117)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2222)
org.apache.jasper.compiler.Node$Root.accept(Node.java:457)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
org.apache.jasper.compiler.Generator.generate(Generator.java:3324)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs.下面是源码:
<%@ page pageEncoding="gb2312" %>
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="userdb" class="bean.DB_User" scope="page"/>
<jsp:setProperty name="userdb" property="*"/>
<% 
/*必须填写的部分*/
String username=request.getParameter("username");
String passwd=request.getParameter("pwd");
String congpwd=request.getParameter("confpwd");
String random=request.getParameter("random");
String realrand = request.getSession().getAttribute("random").toString();
String realname=request.getParameter("realname");
String email=request.getParameter("email");
/*非必须填写的部分*/
String usersex=request.getParameter("usersex");
String birth_year=request.getParameter("birth_year");
String birth_month=request.getParameter("birth_month");
String birth_day=request.getParameter("birth_day");
String school=request.getParameter("school");
String class1=request.getParameter("class1");
String collage=request.getParameter("collage");
String company=request.getParameter("company");
String question=request.getParameter("question");
String answer=request.getParameter("answer");
String phone=request.getParameter("phone");
String[] temp = request.getParameterValues("interest");
String interest;if (!random.equals(realrand)){
errorMsg = "验证码不正确!";
request.setAttribute("errorMsg", errorMsg);
try {
                //转发至注册错误页面
request.getRequestDispatcher("./reg_failure.jsp").forward(request, response);
} catch(Throwable t) {
//写异常日志
getServletContext().log(t.getMessage());
}
}
if (temp != null) {
for (int i = 0; i < temp.length ; i++) {
interest += temp[i];
}
}
User user=userdb.get(username); if (user != null) {
// 如果记录集为非空,表明有相匹配的用户名,注册失败:
errorMsg = "已经存在相同的用户名,请更换一个新用户名"; request.setAttribute("errorMsg", errorMsg); try {
//转发至注册错误页面 
request.getRequestDispatcher("./reg_failure.jsp").forward(request, response);

catch (Throwable t) {
                    //写异常日志
getServletContext().log(t.getMessage());
}
} else {
user=new User();
user.setUsername(username);
user.setPassword(pwd);
user.setRealname(realname);
user.setStrUserSex(Integer.parseInt(usersex));
user.setSchool(school);
user.setClass1(class1);
user.setCollage(collage);
user.setCompany(company);
user.setEmail(email);
user.setPhone(phone);
user.setInterest(interest);
user.setBirth_year(birth_year);
user.setBirth_month(birth_month);
user.setBirth_day(birth_day);
int i=userdb.add(user);  
// 注册成功
request.setAttribute("user", user);
try {
//转发至注册成功页面 
request.getSession(true).setAttribute("username", username);
request.getRequestDispatcher("./reg_success.jsp").forward(request, response);

catch (Throwable t) {
//写异常日志
getServletContext().log(t.getMessage());
}
%>

解决方案 »

  1.   

    bean中的类要引入正确 设计的时候最好按MVC模式去设计 那样结构会很清晰 这样感觉会很乱。
      

  2.   

    java.lang.NoClassDefFoundError: bean/DB_User (wrong name: DB_User) 
    出现这个错误一般是:
    需要在CLASSPATH中加入“.”,程序才能正常运行。
    或者在运行时加入参数-cp或-classpath
    楼主试试
      

  3.   

    大哥呀,这可是jsp程序,怎么加参数啊
      

  4.   

    要给出java文件才能给你调试.