再附上UserAction.java的代码/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package org.openxl.znt.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.actions.DispatchAction;
import org.openxl.znt.dao.IUserDao;
import org.openxl.znt.struts.form.UserForm;
import org.openxl.znt.util.MD5Code;
import org.openxl.znt.vo.User;/** 
 * MyEclipse Struts
 * Creation date: 10-14-2008
 * 
 * XDoclet definition:
 * @struts.action path="/user" name="userForm" input="/jsp/errors.jsp" parameter="status" scope="request" validate="true"
 */
public class UserAction extends DispatchAction {
private IUserDao iuserdao;
/** 
 * Method execute
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @return ActionForward
 */
public ActionForward register(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
String ccode=(String)request.getSession().getAttribute("ccode");
String checkcode=userForm.getCheckcode();
if(!(checkcode.equals(ccode))){
ActionMessages errors=new ActionMessages();
errors.add("checkcode", new ActionMessage("checkcode.error"));
super.saveErrors(request, errors);
return mapping.getInputForward();
}
User user=new User();
MD5Code md5code=new MD5Code();
user.setId(userForm.getUserid());
user.setUserpwd(md5code.getMD5ofStr(userForm.getUserpwd()));
user.setUserques(userForm.getUserques());
user.setUserans(userForm.getUserans());
user.setGrade(1);
try {
this.iuserdao.register(user);
request.getSession().setAttribute("userid", user.getUserid());
request.getSession().setAttribute("grade", user.getGrade());
return mapping.findForward("registersuccess");
} catch (Exception e) {
e.printStackTrace();
return mapping.findForward("registerfailure");
}
}

public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
return null;
} public IUserDao getIuserdao() {
return iuserdao;
} public void setIuserdao(IUserDao iuserdao) {
this.iuserdao = iuserdao;
}
}

解决方案 »

  1.   

    注册不应该用get方式提交吧
    你不要hidden了把<html:form action="jsp/user.do" method="get">改成
    <html:form action="jsp/user.do?status=register&type=1" method="post">试试看
      

  2.   

    是不是HTTP Status 404 - Servlet action is not available这个错误..
    如果是.那么到目前为止.还没有一个完整的通用的解决方案..
    我记得我当时出错的时候是少了一个叫common-pool.jar的包..