public class LoginForm extends ActionForm {
private String username = null;
private String password = null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}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;public class LoginAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm)form;
// System.out.println("123");
if(loginForm.getUsername().equals("itcast")){
return mapping.findForward("loginSuccess");
}else{
return mapping.findForward("loginFailure");
}在 execute方法的参数中 有一个 form 我想知道 是谁把这个参数传过来的
解决方案 »
- itext 导出pdf报异常。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- spring 中dao无法注入??
- 诚心请教,java如何抓取本项目网页?
- [SOS]如何隐藏掉hibernate日志中的密码
- spring opensessioninviewfilter问题
- netbeans build时出问题了帮我看看
- 请教高手:James在局域网发送和接收都没有问题,但外网邮件发不了
- 为什么上传大文件就NullPointerException错误了?
- 怎么整合weblogic8和jbuilder x
- 调用ejb时,有一事不明!
- struts2中的prepare问题。
- javamail发送邮件时能否发送带附件并且加密的邮件啊?
2.ActionSerlvet接收客户Http请求,使用ActionForm Bean自动填充客户送来的表单数据到ActionForm Bean对象中。
3.然后根据根struts_config.xml将请求分发给相应的Action对象。去调用Action对象的execute()方法。
4.因为已经过去了actionForm表单信息之,在调用execute的时候,传递给execute方法。
struts的处理流程是这样的:
1,WEB容器将请求派发给中央控制器(ActionServlet)
2,中央控制器做好初始化工作后,将具体事务交给RequestProcessor去处理(调用他的process()方法)
3,RequestProcessor通过内部的processMapping方法,通过请求的path,获取对应Action的映射信息(ActionMapping)
4,ActionMapping的getName()方法可以获取Action配置信息中设置的name属性,如果name属性不为空(即绑定了ActionForm),否则创建name指定的ActionForm,并填充数据。
5,是否需要校验form数据。
6,校验通过,创建或使用已存在的Action实例,调用Action的execute方法。
7,input or forword