`
yyzhpq
  • 浏览: 286814 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts 1.1 安装、示例篇

阅读更多
1. Struts 1.1 安装

安装Struts 1.1 比较简单。假设我们使用的是Tomcat 5.0,并且安装在D:\tomcat下。首先,请到http://jakarta.apache.org/struts/ 下载Struts 1.1,解压缩后,可以看到jakarta-struts-1.1目录,在这个目录下面,你可以看到这样一个目录:webapps.该目录下面有多个*.war,我们copy struts-blank.war 文件到D:\tomcat\webapps下,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

<ccid_nobr>
<ccid_code><%@ 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></ccid_code>
</ccid_nobr>

页面为用户登陆页面,应用到Struts的html标签。

2.2 LogonForm.java

<ccid_nobr>
<ccid_code>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; 
} 
}</ccid_code>
</ccid_nobr>

这个页面为ActionForm bean ,主要是用来封装客户端的用户名与密码。

2.3 LogonAction.java

<ccid_nobr>
<ccid_code>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"); 
} 
} 
}</ccid_code>
</ccid_nobr>

取得ActionForm中的数据,进行处理,处理结果返回到Jsp页面。

2.4 web.xml

<ccid_nobr>
<ccid_code><?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></ccid_code>
</ccid_nobr>

2.5 struts-config.xml

<ccid_nobr>
<ccid_code><?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></ccid_code>
</ccid_nobr>

2.6 application.properties

<ccid_nobr>
<ccid_code>Logon.failed = Logon failed!Please Logon in again!</ccid_code>
</ccid_nobr>

2.7 deploy Logon Application

创建一个success.jsp,输入:"successflly!".

编译源文件,并且把该应用程序部署在TOMCAT里,假设部署在app目录下面。我们可以启动浏览器访问:http://localhost:8080/app/.

2.8 目录结构

<ccid_nobr>
<ccid_code>/WEB-INF : 
/ WEB-INF/lib : Struts.jar 
/ WEB-INF/classes : 
/ WEB-INF/classes/com/logon/app : *.class 
/ WEB-INF/classes/resources : *.properties</ccid_code>
</ccid_nobr>

3. 总结

本文详细讲解了安装方法,并且举了一个登陆例子作为Struts框架应用。另外,本文对Struts的目录结构也有说明,这大大减轻了初学者学习负担,应该可以作为Struts入门之用。
分享到:
评论

相关推荐

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    具体项目的开发详细文档请见下一篇文章《struts+hibernate+spring项目开发示例》 Myeclipse平台struts+hibernate+spring项目开发示例 接:Myeclipse开发struts+hibernate+spring新手入门---环境配置 如果您按照上...

    Struts1.0教程(简版)

    2. Struts安装 - 2 - 3. Struts框架 - 7 - 3.1 JSP Model 1 - 7 - 3.2 JSP Model 2 - 8 - 3.3 Struts - 8 - 4. JSP 自定义标签库 - 43 - 4.1 概述 - 43 - 4.2 Struts包含的标签库 - 44 - 4.3 在Struts应用中使用标签...

    struts2相关jar包及示例程序

    官方网站得到的struts2开发所需的库的jar包,包括xwork-core-2.3.1.1.jar、struts2-core-2.3.1.1.jar、ognl-3.0.3.jar、freemarker-2.3.18.jar、commons-logging-1.1.1.jar、commons-io-2.0.1.jar、commons-...

    Extjs Tree + JSON + Struts2 示例源代码

    commons-logging-1.1.jar dom4j-1.6.1.jar ezmorph-1.0.4.jar freemarker-2.3.8.jar javassist-3.8.1.jar json-lib-2.2.1-jdk15.jar log4j-1.2.13.jar ognl-2.6.11.jar struts2-core-2.0.11.jar xml-apis-1.0.b2.jar...

    JSP和Struts解决用户退出问题

    现在大部分浏览器上都有后退和前进按钮,允许用户后退或前进到一个页面。如果在用户在退出一个Web应用后按了后退按钮浏览器把缓存中的页面呈现给用户,这会使用户产生疑惑,他们会... 这篇文章以示例阐述了正确解决用

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    Struts2 in action中文版

    3.2.1 Struts 2公文包示例应用程序 39 3.2.2 组织你的包 39 3.2.3 使用struts-default包中的组件 41 3.3 实现动作 43 3.3.1 可选的Action接口 44 3.3.2 ActionSupport类 45 3.4 向对象传递数据 51 3.4.1 对象支持的...

    Struts2漏洞检查工具2018版.exe

    增加S2-048 Struts 2.3.X 支持检查官方示例struts2-showcase应用的代码执行漏洞,参考地址:http://127.0.0.1:8080/struts2-showcase/integration/saveGangster.action 2017-03-21: 增加S2-046,官方发布S2-046和S2...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器LoginAction.java 11.6.4 配置Struts文档struts-config.xml 11.6.5 配置web....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器LoginAction.java 11.6.4 配置Struts文档struts-config.xml 11.6.5 配置web....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器LoginAction.java 11.6.4 配置Struts文档struts-config.xml 11.6.5 配置web....

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    2.5 Struts应用程序示例 26 2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 2.6.2 依赖注入的几种方式 31 2.7 小结 31 第3章 动作与结果 32 3.1 ...

    Struts2 json插件入门指南.pdf

    1.1 Struts2必需的6个jar 包 ........................................................................................ 3 1.1 json 插件必需的8个jar 包 .......................................................

    OpenID简介及与struts2_spring_hibernate框架集成

    1.1. 产生背景 - 2 - 1.2. 作用 - 2 - 1.3. OpenID是什么 - 2 - 第二章 技术介绍 - 3 - 2.1. 支持技术 - 3 - 2.2. 协议 - 4 - 2.2.1. Relying Party站点请求用户标识 - 5 - 2.2.2. “标准化”: Relying Party站点...

    产品销售分析系统spring struts2 jfreechart ibatis

    1.1 修改Spring配置文件 1.1.1 查找并打开prodcut/WebRoot/WEB-INF/spring-context/applicationContext.xml文件。数据库配置引入 的是init.properties,读者也可自行更改。 1.1.2 数据库配置 修改工程中admanager...

    Struts+Hibernate+Javascript 实现人无限级分类树形菜单

    Struts+Hibernate+Javascript 实现人无限级分类树形菜单,从MSSQL读出数据,支持N级,有多少级你就可以添多少级,示例图如上。主要是用到了Struts+Hibernate+JSTL1.1和自定义标签,树形菜单节点用 JavaScript控制...

    公文传输系统velocity struts spring hibernate(lib太大只发截图自己去下)

    1.1 修改Spring配置文件 1.1.1 查找并打开GWCS/WebRoot/WEB-INF/applicationContext.xml文件。 1.1.2 数据库配置 找到“dataSource”定义部分,根据实际情况修改数据库连接属性值,比如连接字符串url、用户名...

Global site tag (gtag.js) - Google Analytics