- 浏览: 40899 次
- 性别:
- 来自: 重庆
-
文章分类
最新评论
介绍
当提交一个Html的Form给Struts2框架时,数据不再是提交给服务器端的某一个JSP页面,而是提交给一个Action类。而框架根据配置文件
把与该Action类对应的页面(这个页面可以是JSP页面,也可以是PDF、Excel或Applet)返回给客户端。
写一个Struts2的HelloWorld , 我们需要做三件事:
1. 创建一个显示信息的JSP文件
2. 创建一个生成信息的Action类
3. 建立JSP页面和Action的mapping(映射)
创建HelloWorld.jsp文件
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> < %...@ taglib prefix ="s" uri ="/struts-tags" % > < html > < head > < title > Hello World! </ title > </ head > < body > < h2 >< s:property value ="message" /></ h2 > </ body > </ html >
HelloWorld.jsp存放在war目录下面
创建Action类HelloWorld.java
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->package tutorial; import com.opensymphony.xwork2.ActionSupport; public class HelloWorld extends ActionSupport ...{ public static final String MESSAGE = " Struts is up and running ... " ; public String execute() throws Exception ...{ setMessage(MESSAGE); return SUCCESS; } private String message; public void setMessage(String message)...{ this .message = message; } public String getMessage() ...{ return message; } }
HelloWorld.java存放在src/tutorial下面
在struts.xml建立映射
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><! DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > < struts > < package name ="tutorial" extends ="struts-default" > < action name ="HelloWorld" class ="tutorial.HelloWorld" > < result > /HelloWorld.jsp </ result > </ action > <!-- Add your actions here --> </ package > </ struts >
此文件存放在classes下面,同时还要建一个struts.properties的属性文件放在这个目录下,这个文件可以是空的,什么都不写
创建web.xml
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><? xml version="1.0" encoding="UTF-8" ?> < web-app > < display-name > Struts2 Hello World! </ display-name > < filter > < filter-name > struts2 </ filter-name > < filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class > </ filter > < filter-mapping > < filter-name > struts2 </ filter-name > < url-pattern > /* </ url-pattern > </ filter-mapping > </ web-app >
web.xml毫无疑问放在WEB-INF下
创建build.xml
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><? xml version="1.0" ?> < project name ="struts2app" basedir ="." default ="usage" > < property file ="build.properties" /> < property name ="src.dir" value ="src" /> < property name ="web.dir" value ="war" /> < property name ="build.dir" value ="${web.dir}/WEB-INF/classes" /> < property name ="name" value ="struts2app" /> < path id ="master-classpath" > < fileset dir ="${web.dir}/WEB-INF/lib" > < include name ="*.jar" /> </ fileset > <!-- We need the servlet API classes: --> <!-- for Tomcat 4.1 use servlet.jar --> <!-- for Tomcat 5.0 use servlet-api.jar --> <!-- for Other app server - check the docs --> < fileset dir ="${appserver.home}/common/lib" > < include name ="servlet*.jar" /> </ fileset > < pathelement path ="${build.dir}" /> </ path > < target name ="usage" > < echo message ="" /> < echo message ="${name} build file" /> < echo message ="-----------------------------------" /> < echo message ="" /> < echo message ="Available targets are:" /> < echo message ="" /> < echo message ="build --> Build the application" /> < echo message ="deploy --> Deploy application as directory" /> < echo message ="" /> </ target > < target name ="build" description ="Compile main source tree java files" > < mkdir dir ="${build.dir}" /> < javac destdir ="${build.dir}" target ="1.3" debug ="true" deprecation ="false" optimize ="false" failonerror ="true" > < src path ="${src.dir}" /> < classpath refid ="master-classpath" /> </ javac > </ target > < target name ="deploy" depends ="build" description ="Deploy application" > < copy todir ="${deploy.path}/${name}" preservelastmodified ="true" > < fileset dir ="${web.dir}" > < include name ="**/*.*" /> </ fileset > </ copy > </ target > </ project >
build.xml放在struts2app目录下,再在这个目录下建一个build.properties文件,内容如下:
按照build.properties配置你的tomcat位置。在struts2app目录下运行ant build ,ant deploy ,程序就发布到tomcat的webapps下
# Ant properties for building the springapp
appserver.home=d:/tomcat5.5
deploy.path=${appserver.home}/webapps
tomcat.manager.url=http://localhost:8080/manager
tomcat.manager.username=admin
tomcat.manager.password=admin
运行
现在,启动tomcat,访问
http://localhost:8080/tutorial/HelloWorld.action
,能看到页面的title为"Hello World!" ,页面上显示"Struts is up and running!".
它们怎么运行的
1、 struts2容器收到HelloWorld.action请求,从web.xml获取设置,org.apache.struts2.dispatcher.FilterDispatcher是所有应用(包括*.action)的入口点。
2、 struts2在struts.xml中找到HelloWorld类(Action),并调用它的execute方法。
3、 execute方法给message变量赋值,并返回SUCCESS,struts2收到SUCCESS标志,按照映射关系,把HelloWorld.jsp返回客户端。
4、 当HelloWorld.jsp开始运行,<s:property value="message" />会调用HelloWorld类getMessage方法,把结果显示在页面上。
--------------------------------------------------------------------------------------------------
我们的淘客网开通啦,欢迎大家去逛逛
~\(
≧▽≦
)/~
啦啦啦
~~~
淘宝购物资讯网: http://taoke178.jimdo.com
淘乐园:
http://taoleyuan.jimdo.com
发表评论
-
struts上传文件 教程
2010-02-04 13:22 783LoadImgForm.java代码: J ... -
为Struts 2.0做好学习准备(图)
2010-02-04 13:19 814Struts作为MVC 2的Web框架 ... -
JSF进行Web开发的三大优势
2010-01-30 11:37 790JSF优势之一:UI组件(UI-c ... -
将Flex集成到Java EE应用程序的最佳实践
2010-01-23 20:27 846作者:廖雪峰 传统的 Java EE 应用程序通 ... -
初学者如何开发出高质量J2EE系统
2010-01-21 17:45 751J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种 ... -
构建高性能J2EE应用的十个技巧
2010-01-21 17:43 606构建高性能的J2EE应用不但需要了解常用的实施技巧。下面介 ... -
J2EE学习中一些值得研究的开源项目
2010-01-21 17:39 804一、JavaServlet和JSP方向 很多人都是从Serv ... -
Spring 3.0 正式版发布
2010-01-21 10:30 1131经过四个里程碑版、三个RC版,Spring框架终于发布了3.0 ... -
Struts DynaActionForm配置
2010-01-20 17:20 897为什么要有动态ActionForm ... -
Struts,MVC 的一种开放源码实现
2010-01-20 17:12 846简介 小学生也可以在因特网上发布 HTML 网 ... -
高性能、高弹性JSP和Servlet性能优化
2010-01-20 17:07 842你的J2EE 应用是不是运行的很慢?它们能不能承受住不断上升 ... -
Struts2的工作流程图
2010-01-19 12:41 1223Struts2的工作流程图(学习笔记) 当接 ... -
Struts2和Struts1的区别
2010-01-19 12:38 749Struts2和Struts1的不同 Action 类: ... -
WSDL编写的五个步骤
2010-01-18 17:49 731WSDL编写的五个步骤 1)声明名称空间 必须在 < ... -
JAVA EE 中间件
2010-01-18 17:43 1037Weblogic ...
相关推荐
这里,`<s:property value="message"/>`是一个Struts2标签,它会从Action中获取并显示名为`message`的属性值。如果你在Action中设置`message`,例如`this.setMessage("Hello World");`,那么这个消息就会显示在页面...
在HelloWorld示例中,通常会有一个名为`HelloWorldAction`的Java类,它继承自`ActionSupport`类,并实现一个或多个返回结果的方法,如`execute()`。这个方法会在用户发起请求后被调用,执行相应的业务逻辑。 接着,...
这个“Struts2 HelloWorld示例”是一个基础的Maven项目,旨在帮助初学者理解如何在实际开发环境中设置和运行一个简单的Struts2应用。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过使用一个项目对象模型...
"Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...
8. **ActionSupport类**:在Helloworld示例中,Action类可能继承自`org.apache.struts2.dispatcher.ng.ExecuteAction`或`org.apache.struts2.StrutsAction`,这两个类都继承自`ActionSupport`,它提供了基本的属性和...
通过这个简单的Struts2 HelloWorld示例,我们可以了解到Struts2的基本架构和工作流程,为后续深入学习和开发Struts2应用打下坚实基础。随着对Struts2理解的深入,你将能够更好地利用其特性,如拦截器、国际化、AOP等...
标签中的"3ds_nandbo"可能是指这个示例是从3DS NANDBO(一个可能的教程或论坛)获取的,而"struts2__helloworld"和"struts2_helloworld"直接指出了这是关于Struts2的Hello World应用。 总的来说,这个压缩包提供了...
这个"struts2_HelloWorld代码"是初学者了解和学习Struts2的一个基础实践,它展示了如何使用Struts2框架创建一个简单的“Hello, World!”应用程序。 在Struts2中,`Action`类是核心组件,它负责处理用户请求。在这个...
本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...
在MyEclipse中,选择“New”->“Dynamic Web Project”,并命名为`Struts2_HelloWorld`。创建项目后,需要导入Struts2所需的库文件。进入项目属性设置,选择“Java Build Path”->“Libraries”->“Add External ...
在"Struts2-HelloWorld"示例中,你将看到如何创建一个简单的Struts2应用。这通常包括以下几个步骤: 1. 引入Struts2依赖:在项目中添加Struts2相关的jar包或使用Maven/Gradle等构建工具配置依赖。 2. 配置Struts2...
这个"Struts2_HelloWorld"项目是初学者学习Struts2框架的理想起点。它提供了一个简单的示例,帮助开发者理解如何在实际环境中设置和运行一个基本的Struts2应用。 首先,我们需要了解Struts2的核心概念。Struts2是...
"Struts2_helloWorld"这个项目是入门级别的示例,用于演示如何使用Struts2框架构建一个简单的“Hello, World!”程序。 首先,我们需要了解Struts2框架的基本结构。在Struts2中,`Action`类是业务逻辑的载体,通常...
创建一个简单的HelloWorld示例,你需要创建一个Action类,如`HelloWorldAction.java`,并实现一个返回字符串的方法,如`execute()`。在`struts.xml`中配置这个Action,指定它对应URL和返回的结果类型。然后在JSP页面...
学习Struts2通常从“HelloWorld”实例开始,这是一个经典的入门示例。运行这个实例,需要在浏览器中输入指定的URL,如`http://localhost:8088/HelloWorld/HelloWorld.action`,将触发框架的执行流程。这个过程涉及到...
下面我们将深入探讨Struts2的核心概念和在这个HelloWorld示例中的应用。 首先,Struts2框架是Apache软件基金会的一个项目,它是Struts1的升级版,提供更好的可扩展性、灵活性和控制力。它基于拦截器模型,使得处理...