我用STRUTS做了一个简单的登陆但是一运行就报创建BEAN错误,我现在把我做的几个页面和几个文件给大家看看给指点一下。INDEX。JSP<%@ page language="java" import="java.util.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>My JSP 'index.jsp' starting page </title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  <body>
    This is my JSP page.second <br>
    <%@page pageEncoding="GBK" contentType="text/html; charset=gb2312" %> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 
<title></title> 
</head> 
<body> 
<form name="form1" method="post" action="logincheck.do"> 
<table width="300"  border="0" cellspacing="0" cellpadding="0"> 
  <tr align="center"> 
    <td colspan="2">??????</td> 
  </tr> 
  <tr> 
    <td>???</td> 
    <td> 
      <input name="username" type="text" id="username" size="12">user     
    </td> 
    </tr> 
    <tr> 
    <td>????</td> 
    <td> 
    <input name="password" type="text" id="password" size="12"> 123456     
    </td> 
</tr> 
  <tr align="center"> 
<td colspan="2"><input type="submit" name="Submit" value="??"></td> 
    </tr> 
</table> 
</form> 
</body> 
</html>  
  </body>
</html>STRUTS-CONFIG。XML<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
   <data-sources />
   <form-beans >
      <form-bean name="loginForm" type="com.yourcompany.struts.form.LoginForm" />   </form-beans>   <global-exceptions />
   <global-forwards />
   <action-mappings >
      <action path="/logincheck" type="com.yourcompany.struts.action.LoginAction" name="loginForm" scope="request" validate="false">
      <forward name="success" path="/welcome.jsp"/>
      <forward name="failed" path="/failed.jsp"/>
      </action>
   </action-mappings>   <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
ACTION
package com.yourcompany.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import com.yourcompany.struts.form.LoginForm;
import java.io.IOException;
import java.io.PrintWriter;
import com.yourcompany.struts.form.LoginForm;
import com.is.form.Mysqlmethod;
import com.is.module.*;
/** 
 * MyEclipse Struts
 * Creation date: 10-28-2005
 * 
 * XDoclet definition:
 * @struts:action validate="true"
 */
public class LoginAction extends Action { // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /** 
 * Method execute
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @param out
 * @return ActionForward
 */
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response, Object out) {
        
 String encoding = request.getCharacterEncoding(); 
 
         if ((encoding != null) && (encoding.equalsIgnoreCase("GB2312"))) {                 response.setContentType("text/html; charset=GB2312");          } else {                 response.setContentType("text/html; charset=GBK");          } 
        
         
         try { 
                if (form instanceof LoginForm) {                        LoginForm theForm = (LoginForm) form; 
                       String user=theForm.getUsername();
                       String pass=theForm.getPassword();
                       Mysqlmethod my=new Mysqlmethod(user,pass);
                       theForm=my.getLoginForm();
                       if(theForm==null||theForm.equals("")) { 
                              return mapping.findForward("success");                        } 
                       else {                           
                              return mapping.findForward("failed");
                       } 
                } 
 } catch (Exception e) {          } 
         // this shouldn't happen in this example 
 return null; 
}

}

解决方案 »

  1.   

    接上
    MYSQLMETHOD
    public class Mysqlmethod {
    private Connection con=null;
    private String username="";
    private String password="";
    private PreparedStatement pstm=null;
    private ResultSet rs=null;
    private LoginForm log=null;
    public  Connection Getcon() throws SQLException
       {
        try {
    Class.forName("org.gjt.mm.mysql.Driver");
        con=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/strutsdb?user=root&" +
         "pasword=&useUnicode=true&characterEncoding=gbk");
        } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return con;
    }
    public Mysqlmethod()
      {
      }
      public Mysqlmethod(String username,String password)
      {
       this.username=username;
       this.password=password;
      }   
      
      
      public LoginForm getLoginForm() throws ClassNotFoundException, SQLException
      {
      
       LoginForm log=null;
       System.out.print("1");
       con=Getcon();
       try
    {
    System.out.print("2");
       String sql="select * from message where username=? and password=?";
       System.out.print("3");
       pstm=con.prepareStatement(sql);
       pstm.setString(1,username);
       System.out.print("4");
       pstm.setString(2,password);
       System.out.print("5");
      
       System.out.print("6");
       rs=pstm.executeQuery();
       System.out.print("7");     if(rs.next())
        {
          log=new LoginForm(rs.getString(1),rs.getString(2));
           
        }
    }
       catch(SQLException e)
    {
       e.printStackTrace();
    }
        return log;
      }
    //   public static void main(String []args) throws SQLException
    //   {
    //    System.out.print("f");
    //     LoginForm log=null;
    //     Mysqlmethod m=new Mysqlmethod("test","test");
    //     try {
    //      System.out.print("g");
    // log=m.getLoginForm();
    // if(log==null||log.equals(""))
    // System.out.print("C!");
    // else
    // System.out.print(log.getUsername());
    //     System.out.print(log.getPassword());
    // } catch (ClassNotFoundException e) {
    // // TODO Auto-generated catch block
    // e.printStackTrace();
    // } 
    // System.out.print("h");
    //   }

    }
    FORMBENpublic class LoginForm extends ActionForm { // --------------------------------------------------------- Instance Variables /** password property */
    private String password; /** username property */
    private String username; // --------------------------------------------------------- Methods
        public LoginForm(String username,String password)
        {
         this.username=username;
         this.password=password;
        }
    /** 
     * Method validate
     * @param mapping
     * @param request
     * @return ActionErrors
     */
    public ActionErrors validate(
    ActionMapping mapping,
    HttpServletRequest request) { throw new UnsupportedOperationException(
    "Generated method 'validate(...)' not implemented.");
    } /** 
     * Method reset
     * @param mapping
     * @param request
     */
    // public void reset(ActionMapping mapping, HttpServletRequest request) {
    //
    // throw new UnsupportedOperationException(
    // "Generated method 'reset(...)' not implemented.");
    // } /** 
     * Returns the password.
     * @return String
     */
    public String getPassword() {
    return password;
    } /** 
     * Set the password.
     * @param password The password to set
     */
    public void setPassword(String password) {
    this.password = password;
    } /** 
     * Returns the username.
     * @return String
     */
    public String getUsername() {
    return username;
    } /** 
     * Set the username.
     * @param username The username to set
     */
    public void setUsername(String username) {
    this.username = username;
    }}上面的代码一运行就报这个错误2005-10-31 11:22:13 org.apache.struts.util.RequestUtils createActionForm
    严重: Error creating form bean of class com.yourcompany.struts.form.LoginForm
    java.lang.InstantiationException: com.yourcompany.struts.form.LoginForm
    at java.lang.Class.newInstance0(Class.java:293)
    at java.lang.Class.newInstance(Class.java:261)
    at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
    at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:837)
    at org.apache.struts.action.RequestProcessor.processActionForm(RequestProcessor.java:364)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:253)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:563)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:563)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:563)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:209)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:670)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:517)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
    at java.lang.Thread.run(Thread.java:534)
    请各位大侠帮个忙吧,救救我这个出学者吧!!!!!