利用maven及nexus简单搭建Struts2项目小结

来源:互联网 发布:淘宝产品定价方法 编辑:程序博客网 时间:2024/06/10 22:22

本文参照apache官方描述结合自己理解对struts2进行简单搭建,是对以前学习的总结,也是一种交流,若有不对之处,请指正。

1.所需环境

struts 2需要servletAPI 2.4或更高版本,JSP2.0或更高版本,Java5或更高版本。

2.创建一个web app 并通过maven进行相关依赖的管理

(1)通过maven命令创建相关工程

cmd到dos窗口中进入自行选定目录下,执行mvn archetype:create -DgroupId=my.maven.test -DartifactId=testMaven -DarchetypeartifactId=maven-archetype-webapp 回车

即在该目录下建立了一个名为testMaven的文件夹,该文件夹下目录结构遵循maven标准。

(2)使之成为eclipse工程

cd 进入到testMaven目录,执行mvn eclipse:eclipse,然后打开eclipse中通过import导入。

(3)在IDE中创建一个web application project,其目录结构与maven项目相同,名称叫testMaven.并在pom.xml中加入

<build>
    <finalName>testMaven</finalName>
</build>
(4)建立相关目录并添加index.jsp
 在src/main下建立webapp目录,在webapp下建立index.jsp,修改相关编码,title,body后保存。

内容如下:

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Basic Struts 2 Application - Welcome</title>
</head>
<body>
<h1>Welcome to Struts 2!</h1>
</body>
</html> 

(5)修改pom.xml文件,使默认jar方式改为war

<groupId>my.maven.test</groupId>
  <artifactId>testMaven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

(6)打包

在dos窗口下进入到该目录后,执行mvn clean package

(7)部署

将打好的包testMaven.war部署至web容器中,例如tomcat:直接拷贝到webapps下

(8)验证

若在IE地址栏中输入http://localhost:8080/testMaven/index.jsp(端口取决于你的容器)可以看到相关内容,则表明基础环境已经搭建好,但并非strus2的应用环境哦。

3.搭建stust2

(1)添加最必须的strus2的jar包到classpath

通过nexus在3rd party中上传struts2-core-2.3.15.1.jar

具体方法:

参见http://blog.csdn.net/luju5/article/details/8191308,注意:需点击add artifact后,在点upload artifacts.

然后在pom.xml中添加

<dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-core</artifactId>
     <version>2.3.15.1</version> 
    </dependency>

(2)添加日志

上传log4j-1.2.11.jar至3rd party库,然后在pom.xml中添加

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.11</version>
 </dependency>

(3)在web.xml中添加struts2的过滤器

<filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
 
<filter-mapping>
  <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

注意:/*表示对应用所有的URLs都启用。

(4)创建sturts2.xml(既可通过xml方式也可通过annotation方式)

在src/main/resources下创建struts2.xml,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 
    <constant name="struts.devMode" value="true" />
 
    <package name="basicstruts2" extends="struts-default">
 
        <action name="index">
            <result>/index.jsp</result>
        </action>
 
    </package>
 
</struts>

 

(5)建立并运行该应用

a.加入依赖8个jar包

struts2-core .2.3.15.1.jar;

common-io.2.0.1.jar;

commons-lang3-3.1.jar;

xwork-core.2.3.15.1.jar

commons-fileupload.1.3.jar

freemarker.2.3.19.jar

ognl.3.0.6.jar

javassist.3.11.0.GA.jar

(期间不断向私服上传相关jar,并修改pom.xml)

最后形成的pom为:

<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>my.maven.test</groupId>
  <artifactId>testMaven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>testMaven</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-core</artifactId>
     <version>2.3.15.1</version> 
    </dependency>
 <dependency>
    <groupId>common.io</groupId>
    <artifactId>common-io</artifactId>
    <version>2.0.1</version>
 </dependency>
 <dependency>
    <groupId>org.apache.commons.lang3</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.1</version>
 </dependency>
    <dependency>
     <groupId>com.opensymphony.xwork2</groupId>
     <artifactId>xwork-core</artifactId>
     <version>2.3.15.1</version> 
    </dependency>
    <dependency>
     <groupId>org.apache.common</groupId>
     <artifactId>commons-fileupload</artifactId>
     <version>1.3</version> 
    </dependency>
    <dependency>
     <groupId>freemarker</groupId>
     <artifactId>freemarker</artifactId>
     <version>2.3.19</version> 
    </dependency>
    <dependency>
    <groupId>ognl</groupId>
    <artifactId>ognl</artifactId>
    <version>3.0.6</version>
 </dependency>
 <dependency>
    <groupId>javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.11.0.GA</version>
 </dependency>

    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.11</version>
 </dependency>
 
  </dependencies>
  <build>
    <finalName>testMaven</finalName>
  </build>
</project>

 

 

b.打包应用

mvn clean package

c.将testMaven.war部署至容器中

 

最后的工程实例可在我上传的资源中找到。

原创粉丝点击