Struts执行流程及原理懂的说下
用Struts写了一个登陆页面 LoginAction.java LoginForm.java
Login.jsp LoginSuccess.jsp LoginFailure.jsp struts-config.xml
web.xml package cn.itcast;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");
}
}}package cn.itcast;import org.apache.struts.action.ActionForm;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;
}
}
Login.jsp 里面主要语句
<body>
<form action="<% request.getContextPath();%>/login.do" method="post" >
username:<input type="text" name="username"><br>
password:<input type="password" name="password" >
<input type="submit" value="login">
</form>
</body>LoginFailure.jsp 中
<body>
Login Failure!!~
</body>
LoginSuccess.jsp 中
<body>
Success in login!
</body> 固定的格式我这里就不复制上来了
struts-config.xml
<struts-config>
<form-beans>
<form-bean name="loginForm" type="cn.itcast.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" name="loginForm" type="cn.itcast.LoginAction">
<forward name="loginSuccess" path="/LoginSuccess.jsp"/>
<forward name="loginFailure" path="/LoginFailure.jsp"/>
</action>
</action-mappings>
</struts-config>web.xml<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
这是基本代码 我想知道 这个运行的流程是怎么样的 从登陆页面开始 输入值以后 会跳到哪 会调用谁谁谁 一步步的 然后跳到哪个页面 或跳到哪个类中从web.xml 或用struts-config.xml中查找了 之类 请懂的人 帮我解释一下 让我能理解一下 原理 把这个执行过程 说一说
用Struts写了一个登陆页面 LoginAction.java LoginForm.java
Login.jsp LoginSuccess.jsp LoginFailure.jsp struts-config.xml
web.xml package cn.itcast;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");
}
}}package cn.itcast;import org.apache.struts.action.ActionForm;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;
}
}
Login.jsp 里面主要语句
<body>
<form action="<% request.getContextPath();%>/login.do" method="post" >
username:<input type="text" name="username"><br>
password:<input type="password" name="password" >
<input type="submit" value="login">
</form>
</body>LoginFailure.jsp 中
<body>
Login Failure!!~
</body>
LoginSuccess.jsp 中
<body>
Success in login!
</body> 固定的格式我这里就不复制上来了
struts-config.xml
<struts-config>
<form-beans>
<form-bean name="loginForm" type="cn.itcast.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" name="loginForm" type="cn.itcast.LoginAction">
<forward name="loginSuccess" path="/LoginSuccess.jsp"/>
<forward name="loginFailure" path="/LoginFailure.jsp"/>
</action>
</action-mappings>
</struts-config>web.xml<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
这是基本代码 我想知道 这个运行的流程是怎么样的 从登陆页面开始 输入值以后 会跳到哪 会调用谁谁谁 一步步的 然后跳到哪个页面 或跳到哪个类中从web.xml 或用struts-config.xml中查找了 之类 请懂的人 帮我解释一下 让我能理解一下 原理 把这个执行过程 说一说
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货