| |
在前一篇文章中,我们详细的介绍了struts 1.1 的工作原理,接着将会介绍它的安装,以及一个具体的应用。 1. struts 1.1 安装 安装struts 1.1 比较简单。假设我们使用的是tomcat 5.0,并且安装在d: omcat下。首先,请到http://jakarta.apache.org/struts/ 下载struts 1.1,解压缩后,可以看到jakarta-struts-1.1目录,在这个目录下面,你可以看到这样一个目录:webapps.该目录下面有多个*.war,我们copy struts-blank.war 文件到d: omcatwebapps下,restart tomcat,在tomcat 的webapps下就会生成一个struts-blank空白struts开发环境。另外,在你解压缩的目录下的webapps中 struts-example.war 是一个很好的struts学习教程,如果你想深入学习请访问http://jakarta.apache.org/struts 或者 下载 《struts in action》 e 文版。 2. 一个简单的例子 2.1 logon.jsp <%@ taglib uri="/web-inf/struts-html.tld" prefix="html" %> <%@ page contenttype="text/html; charset=gb2312" %> <% /** * this page shows logon interface. * title: logon system * description: logon page * copyright: copyright (c) 2004 * company: www.ewe.com.cn * @author bluesunny <hyjun2001@163.com> * @version 1.0 */ response.setheader("pragma","no-cache"); response.setheader("cache-control","no-cache"); response.setdateheader("expires", 0); %> <html> <head> <title>logon</title> </head> <body> <html:errors/> <html:form action="/logon" focus="username"> username:<html:text property="username" size="25"/> password:<html:password property="password" size="25"/> <html:submit property=”submit”/> </html:form> </body> </html> 页面为用户登陆页面,应用到struts的html标签。 2.2 logonform.java package com.logon.app; import javax.servlet.http.*; import org.apache.struts.action.*; /** * this page shows logonform.java * title: logon system * description: logonform page * copyright: copyright (c) 2004 * company: www.ewe.com.cn * @author bluesunny * @version 1.0 */ public class logonform extends actionform{ private string username; private string password; public loginform() { username = null; password = null; } public void setusername(string username){ this.username = username; } public string getusername() { return this.username; } public void setpassword(string password){ this.password = password; } public string getpassword(){ return this.password; } public void reset(actionmapping mapping, httpservletrequest request) { username = null; password = null; } } 这个页面为actionform bean ,主要是用来封装客户端的用户名与密码。 2.3 logonaction.java package com.logon.app; import java.io.*; import java.sql.*; import org.apache.struts.action.action; import org.apache.struts.action.actionforward; import org.apache.struts.action.actionmapping; import org.apache.struts.action.actionform; import javax.servlet.*; import javax.servlet.http.*; import org.apache.struts.action.*; /** * this page shows logonaction.java * title: logon system * description: logonaction page * copyright: copyright (c) 2004 * company: www.ewe.com.cn * @author bluesunny * @version 1.0 */ public class logonaction extends action{ public actionforward execute(actionmapping actionmapping, actionform actionform, httpservletrequest request, httpservletresponse response)throws exception{ logonform form = (logonform)actionform; actionerrors errors = new actionerrors(); string username = form.getusername(); string password = form.getpassword(); if(username.equals(“bluesunny”) && password.equals(“bluesunny”)){ return actionmapping.findforward("success"); }else{ errors.add("login",new actionerror("logon.failed")); saveerrors(request,errors); return actionmapping.findforward("failed"); } } } 取得actionform中的数据,进行处理,处理结果返回到jsp页面。 2.4 web.xml <?xml version="1.0" encoding="iso-8859-1"?> <!doctype web-app public "-//sun microsystems, inc.//dtd web application 2.3//en" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app> <display-name>struts logon application</display-name> <!-- standard action servlet configuration (with debugging) --> <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> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- standard action servlet mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- the welcome file list --> <welcome-file-list> <welcome-file>logon.jsp</welcome-file> </welcome-file-list> <!-- struts tag library descriptors --> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/web-inf/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/web-inf/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/web-inf/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/web-inf/struts-nested.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/web-inf/struts-tiles.tld</taglib-location> </taglib> </web-app>
2.5 struts-config.xml <?xml version="1.0" encoding="iso-8859-1" ?> <!doctype struts-config public "-//apache software foundation//dtd struts configuration 1.1//en" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <form-beans> <form-bean name="logonform" type=" com.logon.app.loginform"/> </form-beans> <action-mappings> <action path="/logon" type="com.logon.app.logonaction" name="logonform" scope="request" input="logon.jsp"> <forward name="success" path="/success.jsp"/> <forward name="failure" path="/logon.jsp"/> </action> <message-resources parameter="resources.application"/> </struts-config> 2.6 application.properties logon.failed = logon failed!please logon in again!
2.7 deploy logon application 创建一个success.jsp,输入:"successflly!". 编译源文件,并且把该应用程序部署在tomcat里,假设部署在app目录下面。我们可以启动浏览器访问:http://localhost:8080/app/. 2.8 目录结构 /web-inf : / web-inf/lib : struts.jar / web-inf/classes : / web-inf/classes/com/logon/app : *.class / web-inf/classes/resources : *.properties
3. 总结 本文详细讲解了安装方法,并且举了一个登陆例子作为struts框架应用。另外,本文对struts的目录结构也有说明,这大大减轻了初学者学习负担,应该可以作为struts入门之用。
|
|