1.Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Structs 框架的核心是一个弹性的控制层, Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。MVC:它除了能在C层发挥巨大的作用外,在其它层也提供了相应的支持。
2.实例
说明:在此不会对实例作任何解释,只是一步一步写出它的最终运行效果:当我们在登录页面的用户框中输入“struts”时跳到成功登录页面,否则跳到登录失败的页面。
>>步骤一,搭建环境:下载struts-1.3.10-all.zi后解压,在lib目录下可以得到相关的jar文件,随后建立一个名为myStruts1.x的web项目,再把struts的jar文件导入到该项目(提示:通常我们会把一些常用的jar包先添加到用户库,在项目要用到这些jar包时,直接从用户库导入。
>>步骤二,编写我们自己的AcitionForm:LoginForm,它很像一个javeBean,代码如下:
package com.asm;
import org.apache.struts.action.ActionForm;
public class ActionForm extends ActionForm {
private String username;
private String passwrord;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswrord() {
return passwrord;
}
public void setPasswrord(String passwrord) {
this.passwrord = passwrord;
}
}
>>步骤三,编写我们自己的Action:LoginAction,主要重写execute了方法,代码如下:
package com.asm;
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 {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm) form;
if (loginForm.getUsername().equals("struts")) {
return mapping.findForward("loginSuccess");
} else {
return mapping.findForward("loginFailure");
}
}
}
>>步骤四,编写两个配置文件:web.xml和struts-config.xml
(一)WEB-INF/web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
...省略文档声明
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<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-INF/ struts-config.xml文件:
<?xml version="1.0" encoding="iso-8859-1"?>
...省略文档声明
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.asm.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="com.asm.LoginAction" name="loginForm">
<forward name="loginSuccess" path="/right.jsp"></forward>
<forward name="loginFailure" path="/error.jsp"></forward>
</action>
</action-mappings>
</struts-config>
>>步骤五、编写三个jsp页面:login.jsp、right.jsp、error.jsp
login.jsp主要代码:
<body>
<form action="<%=request.getContextPath()%>/login.do" method="post">
用户名: <input type="text" name="username">br>
密 码: <input type="password" name="passwodr"><br>
<input type="reset" value="重置">
<input type="submit" value="登录">
</form>
</body>
right.jsp主要代码: <body> 登录成功!</body>
error.jsp主要代码: <body> 登录失败!</body>
>>步骤六:发布到服务器,测试。 说明:如果测试出现错误,请仔细检查配置文件。