这是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方法,把结果显示在页面上。
分享到:
- 2008-05-21 10:39
- 浏览 3363
- 评论(0)
- 论坛回复 / 浏览 (0 / 1925)
- 查看更多
相关推荐
在本文中,我们将深入探讨一个基础的Struts2案例——"HelloWorld",这是每个开发者入门新框架时都会接触的经典示例。通过这个案例,我们可以了解Struts2的核心概念和工作原理。 首先,让我们理解一下Struts2框架的...
在"Struts2-HelloWorld"示例中,你将看到如何创建一个简单的Struts2应用。这通常包括以下几个步骤: 1. 引入Struts2依赖:在项目中添加Struts2相关的jar包或使用Maven/Gradle等构建工具配置依赖。 2. 配置Struts2...
这个“Struts2--HelloWorld”示例将引导我们深入理解Struts2的基础知识和核心概念。 在Java web开发中,Struts2框架提供了一个灵活的请求处理机制,它简化了业务逻辑与表现层的集成。通过使用Action类,我们可以...
这个"jamesby-struts2-helloworld.rar"压缩包提供了一个基础的Struts2入门示例,名为“helloworld”,对于初学者了解和学习Struts2的工作原理非常有帮助。 首先,我们来看看"index.jsp"。这通常是一个应用的入口点...
从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...
本教程将带你走进Struts2的世界,通过一个简单的"Hello World"示例,让你快速掌握Struts2的基础使用。 首先,让我们了解一下Struts2的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体。每个...
"Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...
这个"struts-helloworld.zip"压缩包是为初学者准备的一个入门示例,旨在帮助理解Struts2框架的基础工作原理。 首先,让我们了解一下Struts2框架的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的...
在MyEclipse中,选择“New”->“Dynamic Web Project”,并命名为`Struts2_HelloWorld`。创建项目后,需要导入Struts2所需的库文件。进入项目属性设置,选择“Java Build Path”->“Libraries”->“Add External ...
Struts2是一个强大的Java web应用程序框架,它提供了...总之,这个"Struts2 HelloWorld示例(Maven项目)"为学习者提供了实践Struts2框架和Maven构建工具的机会,通过它,你可以逐步掌握Java Web开发的核心概念和技术。
这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...
在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...
在我们的"Hello World"示例中,我们需要创建一个继承自`org.apache.struts2.dispatcher.ng.ExecuteOperations`和实现了`com.opensymphony.xwork2.ActionSupport`接口的Action类。这个Action类会包含一个返回"success...
本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...
然后定义了一个名为“helloworld”的Action,其类为cn.struts2.action.HelloWorldAction。当这个Action执行成功(name="success")时,会跳转到/WEB-INF/page/hello.jsp页面。 通过这个简单的示例,我们可以看到...
通过这个简单的Struts2 HelloWorld示例,我们可以了解到Struts2的基本架构和工作流程,为后续深入学习和开发Struts2应用打下坚实基础。随着对Struts2理解的深入,你将能够更好地利用其特性,如拦截器、国际化、AOP等...
Helloworld是学习任何技术的基本入门示例,对于Struts2也不例外。这个"Struts2 Helloworld 源代码"压缩包很可能是为了帮助初学者理解Struts2框架的基础工作原理和配置。 在Struts2的Helloworld示例中,我们通常会...
- 创建第一个Struts2应用:通过一个简单的示例,展示如何创建一个Hello World应用,演示Action、JSP页面和配置文件的使用。 4. **Action与Action Mapping** - Action类:定义Action接口,以及如何创建自定义...
通过上述解释,我们可以看到Struts2 Tags如何简化了视图层的开发,尤其是在"HelloWorld"这样的简单示例中。了解和熟练使用这些标签,将极大地提高开发效率,构建出更健壮、易维护的Java web应用程序。