===============struts-config.xml========================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<form-beans>
<form-bean name="logonfom" type="com.test.struts.LogonForm" /> </form-beans>
<global-forwards>
<forward name="failed" path="/failed.do" redirect="true"/>
<forward name="regist" path="/wuwu.jsp" redirect="true"/>
</global-forwards>
<action-mappings>
<action name="logonfom" type="com.test.struts.LogonAction" input="/logon.jsp" validate="true" scope="session" path="/logon" >
<forward name="success" path="/failed.do" redirect="true" />
</action>
<action path="/overview" forward="/wuwu.jsp"/>
<action path="/failed" forward="/wuwu.jsp"/>
</action-mappings></struts-config>
========LogonForm.java========================
package com.test.struts;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class LogonForm extends ActionForm {
private String password = "aa";
private String name = "bbb";
public LogonForm(){}
public String getPassword() {
return password;
}
public String getName() {
return name;
}
public void setPassword(String password) {
this.password = password;
}
public void setName(String name) {
this.name= name;
} public ActionErrors validate(ActionMapping arg0,HttpServletRequest arg1) {
ActionErrors errs = new ActionErrors();
if(name==null || password==null || name.equals("a") || password.equals("")) {
ActionError err = new ActionError("error.logon");
errs.add("password",err);
}
return errs;
}
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
}
}
=======LogonActoion===============
package com.test.struts;import org.apache.struts.action.Action;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.MessageResources;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public final class LogonAction extends Action {
public LogonAction()
{
System.out.print("hello");
}
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
Locale locale = getLocale(request);
HttpSession session = request.getSession();
LogonForm logonform = (LogonForm) form; System.out.print("PATH: " + mapping.findForward("success").getPath());
return mapping.findForward("success");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<form-beans>
<form-bean name="logonfom" type="com.test.struts.LogonForm" /> </form-beans>
<global-forwards>
<forward name="failed" path="/failed.do" redirect="true"/>
<forward name="regist" path="/wuwu.jsp" redirect="true"/>
</global-forwards>
<action-mappings>
<action name="logonfom" type="com.test.struts.LogonAction" input="/logon.jsp" validate="true" scope="session" path="/logon" >
<forward name="success" path="/failed.do" redirect="true" />
</action>
<action path="/overview" forward="/wuwu.jsp"/>
<action path="/failed" forward="/wuwu.jsp"/>
</action-mappings></struts-config>
========LogonForm.java========================
package com.test.struts;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class LogonForm extends ActionForm {
private String password = "aa";
private String name = "bbb";
public LogonForm(){}
public String getPassword() {
return password;
}
public String getName() {
return name;
}
public void setPassword(String password) {
this.password = password;
}
public void setName(String name) {
this.name= name;
} public ActionErrors validate(ActionMapping arg0,HttpServletRequest arg1) {
ActionErrors errs = new ActionErrors();
if(name==null || password==null || name.equals("a") || password.equals("")) {
ActionError err = new ActionError("error.logon");
errs.add("password",err);
}
return errs;
}
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
}
}
=======LogonActoion===============
package com.test.struts;import org.apache.struts.action.Action;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.MessageResources;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public final class LogonAction extends Action {
public LogonAction()
{
System.out.print("hello");
}
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
Locale locale = getLocale(request);
HttpSession session = request.getSession();
LogonForm logonform = (LogonForm) form; System.out.print("PATH: " + mapping.findForward("success").getPath());
return mapping.findForward("success");
}
}
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
改为
public ActionForward perform(ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
好像是可以的,请问这是什么原因?
execute方法只有在struts1.1以上的版本才支持。