`
andyjames
  • 浏览: 31441 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2示例学习1-HelloWorld

阅读更多

      这是Struts2的第二篇入门学习,从helloworld入手学习,使用了MVC的设置模式,下面是详细介绍和示例:

    当提交一个Html的Form给Struts2框架时,数据不再是提交给服务器端的某一个JSP页面,而是提交给一个Action类。而框架根据配置文件把与该Action类对应的页面(这个页面可以是JSP页面,也可以是PDF、Excel或Applet)返回给客户端。

写一个Struts2的HelloWorld , 我们需要做三件事:

1. 创建一个显示信息的JSP文件

2. 创建一个生成信息的Action类

3. 建立JSP页面和Action的mapping(映射)

创建HelloWorld.jsp文件 
 

<!----><%...@ 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
 

<!---->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建立映射

<!----><!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

<!----><?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

<!----><?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方法,把结果显示在页面上。

分享到:
评论

相关推荐

    Struts2案例翻译篇-HelloWorld

    在本文中,我们将深入探讨一个基础的Struts2案例——"HelloWorld",这是每个开发者入门新框架时都会接触的经典示例。通过这个案例,我们可以了解Struts2的核心概念和工作原理。 首先,让我们理解一下Struts2框架的...

    Struts2-HelloWorld

    在"Struts2-HelloWorld"示例中,你将看到如何创建一个简单的Struts2应用。这通常包括以下几个步骤: 1. 引入Struts2依赖:在项目中添加Struts2相关的jar包或使用Maven/Gradle等构建工具配置依赖。 2. 配置Struts2...

    Struts2--HelloWorld

    这个“Struts2--HelloWorld”示例将引导我们深入理解Struts2的基础知识和核心概念。 在Java web开发中,Struts2框架提供了一个灵活的请求处理机制,它简化了业务逻辑与表现层的集成。通过使用Action类,我们可以...

    jamesby-struts2-helloworld.rar_3ds nandbo_helloworld_struts2_str

    这个"jamesby-struts2-helloworld.rar"压缩包提供了一个基础的Struts2入门示例,名为“helloworld”,对于初学者了解和学习Struts2的工作原理非常有帮助。 首先,我们来看看"index.jsp"。这通常是一个应用的入口点...

    学Struts2从HelloWorld示例开始

    从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...

    struts2官方教程(一)--hello world

    本教程将带你走进Struts2的世界,通过一个简单的"Hello World"示例,让你快速掌握Struts2的基础使用。 首先,让我们了解一下Struts2的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体。每个...

    struts2 helloworld

    "Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...

    struts-helloworld.zip

    这个"struts-helloworld.zip"压缩包是为初学者准备的一个入门示例,旨在帮助理解Struts2框架的基础工作原理。 首先,让我们了解一下Struts2框架的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的...

    struts2.0开发环境的搭建及HelloWorld的演示

    在MyEclipse中,选择“New”-&gt;“Dynamic Web Project”,并命名为`Struts2_HelloWorld`。创建项目后,需要导入Struts2所需的库文件。进入项目属性设置,选择“Java Build Path”-&gt;“Libraries”-&gt;“Add External ...

    Struts2 HelloWorld示例(Maven项目)

    Struts2是一个强大的Java web应用程序框架,它提供了...总之,这个"Struts2 HelloWorld示例(Maven项目)"为学习者提供了实践Struts2框架和Maven构建工具的机会,通过它,你可以逐步掌握Java Web开发的核心概念和技术。

    struts2的helloworld例子

    这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...

    struts零配置HelloWorld-Annotation

    在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...

    基于struts2的hello world输出

    在我们的"Hello World"示例中,我们需要创建一个继承自`org.apache.struts2.dispatcher.ng.ExecuteOperations`和实现了`com.opensymphony.xwork2.ActionSupport`接口的Action类。这个Action类会包含一个返回"success...

    Struts2入门之HelloWorld

    本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...

    struts2课件----传智博客张孝祥老师最新讲解PPT

    然后定义了一个名为“helloworld”的Action,其类为cn.struts2.action.HelloWorldAction。当这个Action执行成功(name="success")时,会跳转到/WEB-INF/page/hello.jsp页面。 通过这个简单的示例,我们可以看到...

    Struts2 HelloWorld

    通过这个简单的Struts2 HelloWorld示例,我们可以了解到Struts2的基本架构和工作流程,为后续深入学习和开发Struts2应用打下坚实基础。随着对Struts2理解的深入,你将能够更好地利用其特性,如拦截器、国际化、AOP等...

    Struts2 Helloworld 源代码

    Helloworld是学习任何技术的基本入门示例,对于Struts2也不例外。这个"Struts2 Helloworld 源代码"压缩包很可能是为了帮助初学者理解Struts2框架的基础工作原理和配置。 在Struts2的Helloworld示例中,我们通常会...

    struts2权威指南 1-3

    - 创建第一个Struts2应用:通过一个简单的示例,展示如何创建一个Hello World应用,演示Action、JSP页面和配置文件的使用。 4. **Action与Action Mapping** - Action类:定义Action接口,以及如何创建自定义...

    Struts2案例翻译篇-Using Struts2 Tag

    通过上述解释,我们可以看到Struts2 Tags如何简化了视图层的开发,尤其是在"HelloWorld"这样的简单示例中。了解和熟练使用这些标签,将极大地提高开发效率,构建出更健壮、易维护的Java web应用程序。

Global site tag (gtag.js) - Google Analytics