【Web】Eclipse + Maven + Struts搭建服务器

时间:2023-03-09 20:13:19
【Web】Eclipse + Maven + Struts搭建服务器

一、环境

  系统:Windows7

  IDE:Eclipse-Kepler Service Release 2

  使用插件:Maven(请预先在电脑上安装Maven)

二、搭建

在Eclipse中新建一个Maven工程:

  【Web】Eclipse + Maven + Struts搭建服务器

选择Maven Project。

【Web】Eclipse + Maven + Struts搭建服务器

注意选择maven-archetype-web选项。Catalog处,点击右边的Configuration按钮,弹出对话框:

【Web】Eclipse + Maven + Struts搭建服务器

点击右边的Add remote Catalog,在Catalog file输入框中输入http://repo1.maven.org/maven2/archetype-catalog.xml,Description则随便输入(等于去一个名字)然后点击OK,继续Next。

【Web】Eclipse + Maven + Struts搭建服务器

在此处输入项目的group id和artifact id。点击Finish。此时项目的目录结构如下:

【Web】Eclipse + Maven + Struts搭建服务器

项目报错误,暂时可以不用管。下面继续配置。因为要用到Struts2,所以需要依赖很多相应的jar包,这就是使用Maven的目的,下面修改Maven的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.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.amos</groupId>
<artifactId>struts2</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>struts2 Maven Webapp</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>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>
<finalName>struts2</finalName>
</build>
</project>

增加了两个依赖的jar包。

【Web】Eclipse + Maven + 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>Archetype Created Web Application</display-name>
<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>
</web-app>

这里拷贝的是struts-2.3.16-all.zip包里的apps/struts2-blank.war中的web.xml。也就是一个Struts2默认的web.xml的配置。

接着,我们来实现Action,在Java Resources目录下面新建一个源文件夹:

【Web】Eclipse + Maven + Struts搭建服务器

在该文件夹下面新建一个pacakge(com.android.displaymain),然后新建一个HelloAction,如下:

【Web】Eclipse + Maven + Struts搭建服务器

HelloAction代码如下:

 package com.android.displaymain;

 import com.opensymphony.xwork2.ActionSupport;

 public class HelloAction extends ActionSupport{

     @Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return SUCCESS;
}
}

在src/main/resources文件夹下面创建文件struts.xml文件:

【Web】Eclipse + Maven + Struts搭建服务器

在其中配置如下:

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="com.android.server" namespace="/" extends="struts-default" >
<action name="HelloAction" class="com.android.displaymain.HelloAction" method="execute">
<result name="success">index.jsp</result>
</action>
</package>
</struts>

OK,现在右击项目,Run As ->Run on Server,此时弹出对话框,直接next,finish的,最后在Eclipse里面会弹出如下Tab:

【Web】Eclipse + Maven + Struts搭建服务器

这是因为我们没有指明Action,将链接改为:http://localhost:8080/display/HelloAction之后,即可得到如下输出:

【Web】Eclipse + Maven + Struts搭建服务器

到这里,整个项目就配置完成了。如果想要默认的情况下也能正确显示页面,需要我们配置一个默认的Action,将struts.xml文件改为如下样子:

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="com.android.server" namespace="/" extends="struts-default" >
<default-action-ref name="index"/> <action name="index">
<result>/index.jsp</result> <!-- index.htm为项目根目录的默认页面 -->
</action> <action name="HelloAction" class="com.android.displaymain.HelloAction" method="execute">
<result name="success">index.jsp</result>
</action>
</package>
</struts>

三、总结

  这里主要讲述的是如何快速搭建一个可用的服务器,过程比较长,但是没有什么难度,需要一定的Maven基础和Struts基础,如果不会Maven,需要手动导入Jar包,比较麻烦,读者可以自行动手练习配置。