原来是这样写这个action的,
package app;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.io.*;
//import javax.sql.DataSource;
import javax.sql.*;
import javax.servlet.*;
public class registerAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res)
{
registerForm rf=(registerForm) form;
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
ServletContext ctx = servlet.getServletContext();
DataSource ds = (DataSource)ctx.getAttribute("DataSource"

;
boolean flag = false;
Connection conn=null;
Statement st=null;
ResultSet rs=null;
String sql ="insert into t_user (username,password) values('"+username+"','"+password1+"')";
if (password1.equals(password2)){
try{
conn = ds.getConnection();
st = conn.createStatement();
rs = st.executeQuery(sql);
flag= true;
st.close();
rs.close();
}catch (Exception e){
e.printStackTrace();
}
}
if (flag)
{
return mapping.findForward("success"

;
}else
{
return mapping.findForward("failure"

;
}
}
}
tomcate 报错如下:
2008-6-12 10:17:48 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The Apache Tomcat Native library which allows optimal performance in produ
ction environments was not found on the java.library.path: E:Program FilesJava
jdk1.5.0_15in;.;C:WINDOWSsystem32;C:WINDOWS;d

racleora92in;C:Program
FilesOraclejre1.3.1in;C:Program FilesOraclejre1.1.8in;C:WINDOWSsys
tem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesMicrosoft SQL Server
80ToolsBinn;D:Program FilesMicrosoft SQL Server90DTSBinn;D:Program Fil
esMicrosoft SQL Server90Toolsinn;D:Program FilesMicrosoft SQL Server90
ToolsBinnVSShellCommon7IDE;C:Program FilesMicrosoft Visual Studio 8Commo
n7IDEPrivateAssemblies;C:Program FilesIDM Computer SolutionsUEStudio '06;
2008-6-12 10:17:48 org.apache.coyote.http11.Http11BaseProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2008-6-12 10:17:48 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1000 ms
2008-6-12 10:17:49 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-6-12 10:17:49 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.26
2008-6-12 10:17:49 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-6-12 10:17:49 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(e: omcat-5.5webapps
egisterWEB-INFlibservlet.jar) -
jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/serv
let/Servlet.class
2008-6-12 10:17:50 org.apache.struts.action.ActionServlet initChain
信息: Loading chain catalog from jar:file:/e:/tomcat-5.5/webapps/register/WEB-IN
F/lib/struts-core-1.3.9.jar!/org/apache/struts/chain/chain-config.xml
2008-6-12 10:17:51 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-6-12 10:17:51 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-6-12 10:17:51 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31 config=null
2008-6-12 10:17:51 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2008-6-12 10:17:51 org.apache.catalina.startup.Catalina start
信息: Server startup in 2812 ms
2008-6-12 10:18:25 org.apache.struts.chain.ComposableRequestProcessor init
信息: Initializing composable request processor for module prefix ''
2008-6-12 10:18:25 org.apache.struts.chain.commands.servlet.CreateAction createA
ction
信息: Initialize action of type: app.registerAction java.lang.NullPointerException
at app.registerAction.execute(registerAction.java:62)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(Execut
eAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(Abstra
ctExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionComm
andBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.
java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(Composable
RequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:191
3)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:689)
at java.lang.Thread.run(Thread.java:595)