javax.- servlet.ServletException: Keine Aktion config gefunden für die angegebene url
RegAction.java
private static final String FORWARD_succ = "succ";
Connection con=null;
public Connection getcon()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","root");
}catch(SQLException e)
{}
catch(ClassNotFoundException c)
{
}
return con;
}
public void closeConnection()
{
try
{
con.close();
}catch(SQLException e)
{}
}
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException
{
RegForm1 r=(RegForm1)form;
Connection con=getcon();
String v1=r.getFname();
String v2=r.getLname();
String v3=r.getUid();
String v4=r.getDob();
String v5=r.getPwd();
String v6=r.getCpwd();
String v7=r.getCity();
String v8=r.getSt();
String v9=r.getZc();
System.out.println(v1);
System.out.println(v2);
System.out.println(v3);
System.out.println(v4);
System.out.println(v5);
System.out.println(v6);
System.out.println(v7);
System.out.println(v8);
System.out.println(v9);
try
{
PrintWriter pw=response.getWriter();
Statement ps=con.createStatement();
int k=ps.executeUpdate("insert into reg values(v1,v2,v3,v4,v5,v6,v7,v8,v9)");
if(k==1)
pw.println("susccessfully stored");
con.commit();
}catch(SQLException s)
{
}
catch(IOException s)
{
}
return mapping.findForward("succ");
config.xml
<form-bean name="regform" type="RegForm1"/>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action name="regform" path="/reg" type="RegAction" validate="true input="/Register.jsp">
<forward name="succ" path="/success.jsp"/>
Iwant zu speichern das folgende Feld Werte in der mysql-Datenbank. aber ich bin immer folgende exception, warum?
NEUEN BENUTZER-DETAILS
Vorname*:
Nachname*:
userid* :
Geburtsdatum* :
Passwort* :
confirmpassword*
Stadt*:
Zustand*:
PLZ*:
Taste
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause
java.lang.NullPointerException
RegAction.execute(RegAction.java:75)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
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.29 logs.
Apache Tomcat/5.5.29
Ich denke, Sie sind mit Verstrebungen, nicht struct. Haben Sie überprüft, url-mapping in struts-config.xml?
ich bin mit struts1.nur x <html:form action ="/reg.do"> <action name="regform" path="/reg" type="RegAction" validate="true" input="/Register.jsp">
Zeigen Sie den code der RegAction-Klasse und Ihre struts-config.xml Datei.
private static final String FORWARD_succ = "succ"; Connection con=null; public Connection getcon() { try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","root"); }catch(SQLException e) {} catch(ClassNotFoundException c) { } return con; } weitere
Bearbeiten können Sie Ihre Frage und fügen Sie die ganze RegAction Klasse und struts-config.xml Datei. Und verwenden Sie den code-Klammern, dass der code leicht lesbar.
ich bin mit struts1.nur x <html:form action ="/reg.do"> <action name="regform" path="/reg" type="RegAction" validate="true" input="/Register.jsp">
Zeigen Sie den code der RegAction-Klasse und Ihre struts-config.xml Datei.
private static final String FORWARD_succ = "succ"; Connection con=null; public Connection getcon() { try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","root"); }catch(SQLException e) {} catch(ClassNotFoundException c) { } return con; } weitere
Bearbeiten können Sie Ihre Frage und fügen Sie die ganze RegAction Klasse und struts-config.xml Datei. Und verwenden Sie den code-Klammern, dass der code leicht lesbar.
InformationsquelleAutor SIVA | 2012-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
SIVA..
in der obigen Aussage
V1,V2,v3...
als strings behandelt Werte statt, dass die NutzungPrepareStatement
..Ansonsten code umgeschrieben werden, wie dies
wenn es irgendwelche numerischen Werte in Ihrer Liste(v1,v2,v3,..) nicht notwendig
''
code ..hoffe, dass u bekam dies..
InformationsquelleAutor Clarence
Dein code ist eigentlich sehr schwer zu Lesen. Meine Vermutung ist, dass diese Zeile:
Statement ps=con.createStatement();
UrsacheNPE
. Wenn man bedenkt, dass ignorieren Sie Ausnahmen in IhrengetCon
Methode es ist schwer zu sagen. Sie sollten auf jeden Fall nicht ignorieren diese Art von Ausnahmen. Sollten Sie melden Sie, und sehen, was die genaue Ausnahme. Verwenden Sie einige logging-framework zu tun, oder einfach nur drucken Sie die Stapel-Ablaufverfolgung, um zu sehen, es Ihr selbst.Ich denke, dass Ihre Verbindung in Ihrer
getCon
- Methode zurückgegeben wird, wienull
. Sie sollten prüfen, ob es nicht irgendein problem mit der Datenbank-Verbindung.Deine config scheint ok zu sein, aber es ist Zitat fehlt, überprüfen Sie diese: validate="true".
InformationsquelleAutor Paulius Matulionis