Java 如何使用execute方法将用户信息注册到数据库中
这是Action类:我想将用户详细信息注册到数据库,请告诉我如何编写代码将用户详细信息注册到数据库。注册使用ActionForm很好,但我必须使用DynaActionForm创建。请帮助我,我是新手,尝试学习struts框架Java 如何使用execute方法将用户信息注册到数据库中,java,struts,Java,Struts,这是Action类:我想将用户详细信息注册到数据库,请告诉我如何编写代码将用户详细信息注册到数据库。注册使用ActionForm很好,但我必须使用DynaActionForm创建。请帮助我,我是新手,尝试学习struts框架 package com.register.model; import java.sql.Connection; import java.sql.PreparedStatement; import com.register.util.Con
package com.register.model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.register.util.ConnectionUtils;
import com.register.util.DbUtils;
public class UserRegistration extends User{
private static final long serialVersionUID = 1L;
public boolean newuserregistration() throws Exception
{
PreparedStatement psUserRegistration = null;
String sqlUserRegistration = null;
boolean isRegistered = false;
Connection conn = ConnectionUtils.getConnection();
sqlUserRegistration = "insert into user_master(sEmail, sPassword, sFirstName," +
" sLastName, cGender, iUserType, sCreatedDate, cStatus)" +
" values(?,md5(?),?,?,?,1,sysdate(),'A')";
try{
psUserRegistration = conn.prepareStatement(sqlUserRegistration);
psUserRegistration.setString(1, this.getEmail());
psUserRegistration.setString(2, this.getPassword());
psUserRegistration.setString(3, this.getFirstName());
psUserRegistration.setString(4, this.getLastName());
psUserRegistration.setString(5, this.getGender());
psUserRegistration.executeUpdate();
isRegistered=true;
}
catch(Exception e)
{
String errorMessage=e.getMessage();
e.printStackTrace();
if(errorMessage.indexOf("Duplicate entry")>=0)
{
this.setDbError("error");
}
isRegistered=false;
e.printStackTrace();
}
DbUtils.close(psUserRegistration, conn);
return isRegistered;
}
}
This is database connection class for all .
package com.register.actions;
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 org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
import com.register.model.UserRegistration;
public class UserRegistrationAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
boolean action_perform = false;
String action_target;
UserRegistration u = new UserRegistration();
ActionMessages errors_mesg = new ActionMessages();
//UserRegisterForm uf = (UserRegisterForm) form;
DynaActionForm uf=(DynaActionForm) form;
return null;
}
}
我已经尝试过这段代码,现在工作得很好,所以现在我理解了Action表单和DynaAction表单之间的基本区别
package com.register.model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.register.util.ConnectionUtils;
import com.register.util.DbUtils;
public class UserRegistration extends User{
private static final long serialVersionUID = 1L;
public boolean newuserregistration() throws Exception
{
PreparedStatement psUserRegistration = null;
String sqlUserRegistration = null;
boolean isRegistered = false;
Connection conn = ConnectionUtils.getConnection();
sqlUserRegistration = "insert into user_master(sEmail, sPassword, sFirstName," +
" sLastName, cGender, iUserType, sCreatedDate, cStatus)" +
" values(?,md5(?),?,?,?,1,sysdate(),'A')";
try{
psUserRegistration = conn.prepareStatement(sqlUserRegistration);
psUserRegistration.setString(1, this.getEmail());
psUserRegistration.setString(2, this.getPassword());
psUserRegistration.setString(3, this.getFirstName());
psUserRegistration.setString(4, this.getLastName());
psUserRegistration.setString(5, this.getGender());
psUserRegistration.executeUpdate();
isRegistered=true;
}
catch(Exception e)
{
String errorMessage=e.getMessage();
e.printStackTrace();
if(errorMessage.indexOf("Duplicate entry")>=0)
{
this.setDbError("error");
}
isRegistered=false;
e.printStackTrace();
}
DbUtils.close(psUserRegistration, conn);
return isRegistered;
}
}
This is database connection class for all .
package com.register.actions;
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 org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
import com.register.model.UserRegistration;
public class UserRegistrationAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
boolean action_perform = false;
String action_target;
UserRegistration u = new UserRegistration();
ActionMessages errors_mesg = new ActionMessages();
//UserRegisterForm uf = (UserRegisterForm) form;
DynaActionForm uf=(DynaActionForm) form;
return null;
}
}
package com.register.actions;
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 org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
import com.register.model.UserRegistration;
public class UserRegistrationAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
boolean action_perform = false;
String action_target;
UserRegistration u = new UserRegistration();
ActionMessages errors_mesg = new ActionMessages();
// UserRegisterForm uf = (UserRegisterForm) form;
DynaActionForm uf = (DynaActionForm) form;
String emailid = uf.getString("emailid");
String password = uf.getString("password");
String cpassword = uf.getString("cpassword");
String firstname = uf.getString("firstname");
String lastname = uf.getString("lastname");
String gender = uf.getString("gender");
String submitError = uf.getString("submitError");
// System.out.println(emailid);
if (form != null)
{
u.setEmail(emailid);
u.setPassword(cpassword);
// u.setEmail(emailid);
u.setFirstName(firstname);
u.setLastName(lastname);
u.setGender(gender);
// u.setEmail(cpassword);
action_perform = u.newuserregistration();
String sError = u.getDbError();
if (sError.equalsIgnoreCase("error")) {
errors_mesg.add("submitError", new ActionMessage(
"errors.user.registration.email.duplicate"));
saveErrors(request, errors_mesg);
}
}
if (action_perform == false) {
errors_mesg.add("submitError", new ActionMessage(
"errors.user.registration.fail"));
saveErrors(request, errors_mesg);
action_target = "failure";
} else {
errors_mesg.add("submitError", new ActionMessage(
"errors.user.registration.success"));
saveErrors(request, errors_mesg);
action_target = "success";
}
return mapping.findForward(action_target);
}
}