`
Gavin.Chen
  • 浏览: 325839 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Maven2下第一个Struts2简单实例

阅读更多

       本人准备在将来的日子里发布一部Maven2 + Struts2 + EJB3的实例系列,希望对大家有用。

       为什么不使用GWT,事实上我正准备写一篇关于“什么时候不要使用GWT”的博文,GWT能在某些应用中表现在极其出色的性能,但始终有着它巨大的缺陷,在这里暂时不会对此发表长篇大论,如果大家有兴趣,可在不久的将来在本博客中看到。

       为什么要写关于Struts2的文章,是因为Struts1在大陆有着很成熟的应用体系,相关的教程更是数不尽数,Struts2虽然不是Struts1的升级版,但在很多方面却保留着Struts1的特性,但更引入了WebWork的优秀性能,在此我绝不以贬义的态度看待Struts的借壳,反而我更赞赏他们的态度,知道不行了就坚决改正,不管是不是把自己的老本都丢掉,如果为了面子问题而知错不改,那才叫真正的死亡,类似的例子还有EJB3,与EJB2有着天壤之别,将许多hibernate的持久化特性引入,虽然很多人都骂EJB3抄袭hibernate不是君子所为,但它所带来的优点却是显而易见的,我依然十分欣赏它,虽然它己经不是原来的它,进化才是硬道理。

       好了,不说费话了,下面看Maven2下Strtus2的配置实例。

       还是发扬风格,目录结构先贴出来

|--pom.xml

|--src

    |--main

        |--java

            |--com

                |--mydomain

                    |--HelloWorld.java

        |--resources

            |--struts.xml

        |--webapp

            |--index.jsp

            |--WEB-INF

                |--web.xml

在这里,我们只需写一个java(HelloWorld.java)文件与一个简单的jsp页面,配置两个文件(Struts.xml与web.xml),这几个文件的代码都将在后面贴出,同时还会先将pom.xml贴出

下面就是pom.xml

================================================

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.aidress</groupId>
    <artifactId>web</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>AiDress Web Project</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!--这里下面的两个dependency, servlet-api与jsp-api所需-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>

        <!--要使用Struts2,这里只需struts2-core一个包即可,至于另外几个所需的jar包,由于Struts2-->

        <!--依赖于它们,所以不用在pom中显示声明,maven会自动帮你下载其它所需的包-->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.0.11.2</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>web</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

 

 

下面是HelloWorld.java的源码

==============================

import com.opensymphony.xwork2.ActionSupport;

/**
 *
 * @author Dao
 */
public class HelloWorld extends ActionSupport
{
    private static final String MESSAGE = "Struts is up and running...";
    private String message;
    
    public HelloWorld()
    {
        
    }
    
    @Override
    public String execute() throws Exception
    {
        setMessage(MESSAGE);
        
        return SUCCESS;
    }
    
    public void setMessage(String message)
    {
        this.message = message;
    }
    
    public String getMessage()
    {
        return this.message;
    }
}

 

 

下面是index.jsp

====================================

<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
    <head>
        <title>
            第一个Struts2实例
        </title>
    </head>
    <body>
        <h2>
            <s:property value="message" />
        </h2>
    </body>
</html> 

 


 

下面是sturts.xml

====================================

<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : struts.xml
    Created on : September 17, 2008, 9:39 PM
    Author     : Dao
    Description:
        Purpose of the document follows.
-->

<!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="com.mydomain.HelloWorld">
            <result>/index.jsp</result>
        </action>
    </package>
</struts>
    

 


下面是web.xml的内容

=====================================

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>AiDress Web Project</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>

 

 

就这样,运行mvn install可获得一个web.war包,将其放于jboss(4.2以上版本才支持EJB3,所以建议使用4.2以上的jboss版本)的server/default/deploy目录下,运行jboss

然后在网址上访问

http://localhost:8080/web/HelloWorld.action

如果正常的话,你将会在网页上看到下面一行字

Struts is up and running...

分享到:
评论
2 楼 kfc_davy 2008-12-18  
才开始看maven2 try下
1 楼 KimHo 2008-11-02  
先支持一下.
本人最近也在学习struts2和ejb3
问下,Maven2是什么来的?

相关推荐

    Struts2简单实例

    通过这个简单的实例,你已经初步了解了Struts2的工作原理和基本操作。在实际开发中,你可以根据需求添加更多的Action、拦截器和结果类型,实现更复杂的业务逻辑和页面跳转。同时,Struts2还提供了丰富的插件和第三方...

    第一个struts2 程序

    这个简单的例子展示了Struts2的基本工作流程。随着你对框架的深入了解,你将学习如何使用拦截器、动态方法调用、结果类型、OGNL表达式以及更多的高级特性,以构建更复杂、可维护的Web应用。同时,Struts2与其他工具...

    struts2+maven+jetty 示例

    Struts2是一个强大的MVC框架,Maven是项目管理工具,而Jetty则是一个轻量级的嵌入式Servlet容器。下面将详细介绍这三个技术以及如何结合它们搭建一个Java Web应用程序。 **Struts2框架** Struts2是Apache软件基金会...

    struts2初学者第一个实例

    下面,我们将详细讲解如何创建并运行一个简单的Struts2应用实例。 首先,你需要确保已经安装了Java SDK和Apache Tomcat服务器,以及Apache Maven(可选,但大多数现代项目依赖于Maven进行构建)。接下来,创建一个...

    【张冰Struts2学习笔记】0102_第一个Struts2实例

    这个简单的实例展示了Struts2的基本流程:请求被Struts2 Filter拦截,根据struts.xml配置找到对应的Action执行,Action执行完毕后返回一个结果,该结果决定视图的渲染。这就是Struts2的核心思想——分离业务逻辑和...

    精通struts2 基于MVC的 java web应用开发实践第02章 第一个Struts2应用实例

    通过这个简单的例子,我们了解了Struts2框架的基本工作流程:用户发送请求,Struts2 Filter拦截请求,调用相应的Action,Action执行业务逻辑并返回结果,最后根据结果展示视图。这个过程展示了Struts2 MVC模式的优势...

    struts2 一个简单的例子

    Struts2是一个强大的Java web应用程序框架,用于构建和部署MVC(模型-视图-控制器)架构的应用程序。...在这个简单的例子中,我们将...对于初学者来说,理解这些基础概念并实践一个简单的例子是掌握Struts2框架的第一步。

    第一个struts2

    通过这个简单的例子,你可以深入理解Struts2的MVC模式,以及其对Web开发的强大支持。同时,ValueStack的概念不仅限于Struts2,也是其他类似框架如Seam和Wicket中的核心机制。熟悉并掌握这些基础知识,将有助于你构建...

    struts2jar.zip

    总的来说,"struts2jar.zip"压缩包是一个实用的学习资源,涵盖了从基础到进阶的Struts2知识,通过阅读提供的说明和实践例子,可以帮助开发者快速掌握Struts2框架的使用。在实际开发中,结合具体的项目需求,可以灵活...

    struts框架第一个例子

    这个"struts框架第一个例子"是初学者入门Struts的重要实践,通过它我们可以了解Struts的核心概念、配置以及如何将其实现到实际项目中。 首先,让我们深入了解Struts框架。Struts是由Apache软件基金会维护的一个开源...

    Struts2的第一个入门实例(三)--Struts2与Guice整合

    Struts2是一个流行的Java Web应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用。在本实例中,我们将深入探讨如何将Google的依赖注入框架Guice与Struts2整合,以实现更高效、更灵活的代码管理。 在...

    Struts2框架搭建

    搭建Struts2环境的第一步是添加必要的库到项目中。这通常涉及在项目的`pom.xml`文件中添加Struts2的相关依赖,如`struts2-core`、`struts2-convention-plugin`等。如果你使用的是Eclipse或IntelliJ IDEA等IDE,可以...

    struts2完整的Hello Word例子。

    创建一个简单的JSP页面`HelloWorld.jsp`,在其中使用Struts2的标签显示从Action传递过来的数据。例如: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; &lt;h1&gt;Hello, World! ${message} ``` `...

    struts2框架的简单配置和使用

    创建第一个Struts2应用** 创建一个新的Maven或Java Web项目,然后在Web-INF目录下创建struts.xml配置文件。这是Struts2的核心配置文件,用于定义Action和结果页面。 **4. 配置Struts2** 在struts.xml中,我们需要...

    Struts 1和Struts2 Jar包集合 你懂的

    Struts是Apache软件基金会下的一个开源项目,主要提供MVC(Model-View-Controller)框架,用于构建基于Java的企业级Web应用程序。这个压缩包包含了Struts 1和Struts 2两个版本的核心库和其他相关依赖,是开发和运行...

    struts2,helloworld例子

    这个“struts2,helloworld例子”是针对初学者的一个典型教程,旨在帮助开发者快速理解和掌握Struts2的基本用法。 首先,我们需要在MyEclipse这样的集成开发环境中搭建Struts2项目环境。这通常包括以下几个步骤: 1...

    Maven4MyEclipse 搭建ssh2+extjs项目(4)struts2.3.4+hibernate4.2.0+spring3.1.2

    在本项目中,我们主要探讨如何使用Maven4MyEclipse搭建一个集成Struts2.3.4、Hibernate4.2.0和Spring3.1.2的SSH2(Struts2、Spring、Hibernate)项目,并结合ExtJS进行前端开发。这是一个经典的Java企业级应用架构,...

    struts2.0.14在myeclipse下的环境搭建和第一个例子

    本教程将详细介绍如何在MyEclipse集成开发环境中搭建Struts2.0.14的开发环境,并创建并运行你的第一个Struts2应用程序。 首先,你需要下载Struts2.0.14的库文件。这通常包括struts2-core、struts2-convention、...

    struts2 helloworld程序

    在这个"Struts2 HelloWorld"程序中,我们将深入理解Struts2的基本结构和配置,以及如何创建第一个简单的应用。 首先,让我们从环境搭建开始。为了运行Struts2的HelloWorld程序,你需要安装Java Development Kit ...

Global site tag (gtag.js) - Google Analytics