首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Maven2上第一个Struts2简单实例

2012-11-03 
Maven2下第一个Struts2简单实例?????? 本人准备在将来的日子里发布一部Maven2 + Struts2 + EJB3的实例系列

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" name="code"><!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...

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

热点排行