一 、第一个应用实例
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 LoginForm 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>
>>步骤六:发布到服务器,测试。 说明:如果测试出现错误,请仔细检查配置文件。