分享

Maven2下第一个Struts2简单实例

 eeason 2011-06-21

       本人准备在将来的日子里发布一部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代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven./POM/4.0.0" xmlns:xsi="http://www./2001/XMLSchema-instance" xsi:schemaLocation="http://maven./POM/4.0.0 http://maven./maven-v4_0_0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.aidress</groupId>  
  5.     <artifactId>web</artifactId>  
  6.     <packaging>war</packaging>  
  7.     <version>1.0-SNAPSHOT</version>  
  8.     <name>AiDress Web Project</name>  
  9.     <url>http://maven.</url>  
  10.     <dependencies>  
  11.         <dependency>  
  12.             <groupId>junit</groupId>  
  13.             <artifactId>junit</artifactId>  
  14.             <version>3.8.1</version>  
  15.             <scope>test</scope>  
  16.         </dependency>  
  17.   
  18.         <!--这里下面的两个dependency, servlet-api与jsp-api所需-->  
  19.         <dependency>  
  20.             <groupId>javax.servlet</groupId>  
  21.             <artifactId>servlet-api</artifactId>  
  22.             <version>2.4</version>  
  23.         </dependency>  
  24.         <dependency>  
  25.             <groupId>javax.servlet.jsp</groupId>  
  26.             <artifactId>jsp-api</artifactId>  
  27.             <version>2.0</version>  
  28.             <scope>provided</scope>  
  29.         </dependency>  
  30.   
  31.         <!--要使用Struts2,这里只需struts2-core一个包即可,至于另外几个所需的jar包,由于Struts2-->  
  32.   
  33.         <!--依赖于它们,所以不用在pom中显示声明,maven会自动帮你下载其它所需的包-->  
  34.         <dependency>  
  35.             <groupId>org.apache.struts</groupId>  
  36.             <artifactId>struts2-core</artifactId>  
  37.             <version>2.0.11.2</version>  
  38.         </dependency>  
  39.     </dependencies>  
  40.     <build>  
  41.         <finalName>web</finalName>  
  42.         <plugins>  
  43.             <plugin>  
  44.                 <artifactId>maven-compiler-plugin</artifactId>  
  45.                 <version>2.0.2</version>  
  46.                 <configuration>  
  47.                     <source>1.5</source>  
  48.                     <target>1.5</target>  
  49.                     <encoding>UTF-8</encoding>  
  50.                 </configuration>  
  51.             </plugin>  
  52.             <plugin>  
  53.                 <artifactId>maven-resources-plugin</artifactId>  
  54.                 <version>2.2</version>  
  55.                 <configuration>  
  56.                     <encoding>UTF-8</encoding>  
  57.                 </configuration>  
  58.             </plugin>  
  59.         </plugins>  
  60.     </build>  
  61. </project>  

 

 

下面是HelloWorld.java的源码

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

Java代码  收藏代码
  1. import com.opensymphony.xwork2.ActionSupport;  
  2.   
  3. /** 
  4.  * 
  5.  * @author Dao 
  6.  */  
  7. public class HelloWorld extends ActionSupport  
  8. {  
  9.     private static final String MESSAGE = "Struts is up and running...";  
  10.     private String message;  
  11.       
  12.     public HelloWorld()  
  13.     {  
  14.           
  15.     }  
  16.       
  17.     @Override  
  18.     public String execute() throws Exception  
  19.     {  
  20.         setMessage(MESSAGE);  
  21.           
  22.         return SUCCESS;  
  23.     }  
  24.       
  25.     public void setMessage(String message)  
  26.     {  
  27.         this.message = message;  
  28.     }  
  29.       
  30.     public String getMessage()  
  31.     {  
  32.         return this.message;  
  33.     }  
  34. }  

 

 

下面是index.jsp

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

Java代码  收藏代码
  1. <%@ page contentType="text/html;charset=utf-8" %>  
  2. <%@ taglib prefix="s" uri="/struts-tags" %>  
  3. <html>  
  4.     <head>  
  5.         <title>  
  6.             第一个Struts2实例  
  7.         </title>  
  8.     </head>  
  9.     <body>  
  10.         <h2>  
  11.             <s:property value="message" />  
  12.         </h2>  
  13.     </body>  
  14. </html>   

 


 

下面是sturts.xml

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

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <!--  
  4.     Document   : struts.xml  
  5.     Created on : September 17, 2008, 9:39 PM  
  6.     Author     : Dao  
  7.     Description:  
  8.         Purpose of the document follows.  
  9. -->  
  10.   
  11. <!DOCTYPE struts PUBLIC  
  12. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  13. "http://struts./dtds/struts-2.0.dtd">  
  14. <struts>  
  15.     <package name="tutorial" extends="struts-default">  
  16.         <action name="HelloWorld" class="com.mydomain.HelloWorld">  
  17.             <result>/index.jsp</result>  
  18.         </action>  
  19.     </package>  
  20. </struts>  
  21.       

 


下面是web.xml的内容

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

Xml代码  收藏代码
  1. <!DOCTYPE web-app PUBLIC  
  2.  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
  3.  "http://java./dtd/web-app_2_3.dtd" >  
  4.   
  5. <web-app>  
  6.   <display-name>AiDress Web Project</display-name>  
  7.   <filter>  
  8.       <filter-name>Struts2</filter-name>  
  9.       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  10.   </filter>  
  11.   <filter-mapping>  
  12.       <filter-name>Struts2</filter-name>  
  13.       <url-pattern>/*</url-pattern>  
  14.   </filter-mapping>  
  15. </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...



总结:并未用到EJB。放在TOMCAT中应该可以跑

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多