Maven搭建Struts2框架

1:新建Maven Project。

Artifact Id选择web app。

Group Id:项目包名  Artifact Id:模块名  0.0.1-SNAPSHOT:快照  package:包名  

创建出来的项目应该是这个样子的。现在报错的意思的,没有添加servelt依赖,我用的是eclipse 4.5,创建的maven项目 默认会报错,等下再解决。先把maven的目录骨架搭建好。

maven的目录结构:

  src

    -main

      -java

        -package:自定义的包

      -resources

    -test

      -java

        -package

      -resources

现在需要做的是新建文件夹,补全上面的目录结构

现在我们来处理index.jsp报错的问题,打开pom.xml。

添加了一个依赖,javax.servlet。报错解决。然后右键 pox.xml-> run as -> Maven build ->输入命令clean compile

    

可以看到build success。至此 maven web搭建成功。接下来搭建Struts2框架。

http://mvnrepository.com/   maven仓库的网址,我们在这里搜索struts2

把依赖信息(坐标)粘贴到pox.xml中,保存后会自动下载相应jar包

接下来在src/java/resources下创建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>
    <!-- 所有匹配*.action的请求都由struts2处理 -->
    <constant name="struts.action.extension" value="action" />
    <!-- 是否启用开发模式 -->
    <constant name="struts.devMode" value="true" />
    <!-- struts配置文件改动后,是否重新加载 -->
    <constant name="struts.configuration.xml.reload" value="true" />
    <!-- 设置浏览器是否缓存静态内容 -->
    <constant name="struts.serve.static.browserCache" value="false" />
    <!-- 请求参数的编码方式 -->
    <constant name="struts.i18n.encoding" value="utf-8" />
    <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发 -->
    <constant name="struts.i18n.reload" value="true" />
    <!-- 文件上传最大值 -->
    <constant name="struts.multipart.maxSize" value="104857600" />
    <!-- 让struts2支持动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- Action名称中是否还是用斜线 -->
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- 允许标签中使用表达式语法 -->
    <constant name="struts.tag.altSyntax" value="true" />
    <!-- 对于WebLogic,Orion,OC4J此属性应该设置成true -->
    <constant name="struts.dispatcher.parametersWorkaround" value="false" />

    <package name="default" extends="struts-default">

    </package>

</struts>

在web.xml中添加struts2的核心过滤器

<!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>
    <!-- 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>*.action</url-pattern>
    </filter-mapping>
</web-app>

我们可以在struts.xml中配置action,也可以采用convention-plugin的方式,通过注解配置,现在我们用convention-plugin来完成项目的搭建,也需要去maven仓库搜索相应坐标,现在我们的pom.xml的整体如下

<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>MavenProject</groupId>
    <artifactId>Struts2_Maven</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>Struts2_Maven 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>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <!-- 只在编译时和测试时运行 -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.16</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-convention-plugin</artifactId>
            <version>2.3.20</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-config-browser-plugin</artifactId>
            <version>2.3.20</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>Struts2_Maven</finalName>
    </build>
</project>

接下来在src/main/java中创建我们的action

package com.zhao.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;

import com.opensymphony.xwork2.ActionSupport;

/**
 * @ParentPackage:用来指定struts.xml中的package
 * @Action注解将一个普通Java类标识为可以处理用户请求的Action类
 * @Namespace是命名空间
 * @author zhao
 *
 */
@ParentPackage("default")
@Action
@Namespace("/")
public class LoginAction extends ActionSupport {
    /**
     * 重写父类的execute()方法
     */
    @Override
    public String execute() throws Exception {
        System.out.println("Struts2_Maven搭建成功");
        return SUCCESS;
    }
}

在这里就不具体说明返回的逻辑视图怎么找了,我们直接在web-inf下创建content文件夹,然后创建login.jsp

现在 可以运行了

时间: 2024-08-06 00:45:44

Maven搭建Struts2框架的相关文章

Maven搭建Struts2+Spring3+Hibernate4框架

做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate.SpringMVC+Spring+Hibernate.SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用.今天来总结一下如何使用Maven搭建Struts

使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate.SpringMVC+Spring+Hibernate.SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用.今天来总结一下如何使用Maven搭建Struts

Maven构建Struts2框架的注意事项

[本人出错点:404,就是在web.xml配置文件中少配置了struts.xml的路径] 1.创建Maven,搭建Struts框架,实现最基本的Hello World 在pom.xml中加入struts2的核心jar包语句,然后Maven会自动给此项目添加上相关需要的Struts2的jar包到: 之后就是run一下,测试Maven是否创建成功!---Maven install; 在最后搭建Struts2框架,引入struts.xml配置文件, 在配置web.xml配置:[其中配置struts.x

Maven搭建struts2+spring+hibernate环境

Maven搭建struts2+spring+hibernate环境(一) 本文简单的使用STS的自带的maven插件工具搭建ssh(struts2+spring+hibernate)开发环境,图文并茂,简单上手,适合新手. 关于STS的介绍,请参考另一篇文章<Java IDE介绍:Spring开发利器-spring-tool-suite>地址:http://blog.csdn.net/sgl731524380/article/details/8831540 首先,STS自带的maven的插件已

使用Eclipse搭建Struts2框架

本文转自http://blog.csdn.net/liaisuo/article/details/9064527 今天在Eclipse搭建了Struts2 框架,并完成了一个很简单的例子程序. 搭建好的全局图如下: 第一步:在http://struts.apache.org/download.cgi下载Struts2的最新版即下载Full Distribution,这是Struts2的完整版 第二步:解压下载的压缩包.在struts-2.3.14.3 -> lib路径下拷贝出上图所示的8个jar

使用maven搭建ssm框架的javaweb项目

目前主流的javawe项目,常会用到ssm(Spring+Spring MVC+Mybatis)框架来搭建项目的主体框架,本篇介绍搭建SSM矿建的maven项目的实施流程.记之共享! 一.SSM框架介绍 SSM框架是指:Spring+Spring MVC+Mybatis. [Spring] 轻量--从大小与开销两方面而言Spring都是轻量的,此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类.简单说就是自己需要什么就导入对应的jar的即可,而不是侵入式

Maven项目搭建(二):Maven搭建SSM框架

        上一章给大家讲解了如何使用Maven搭建web项目.       这次给大家介绍一下怎么使用Maven搭建SSM框架项目.       首先我们来看一下pom.xml的属性介绍: project: pom的xml根元素. parent:  声明继承. modules:  声明聚合,该值是一个当前POM的相对目录.用户项目的聚合. groupId:  定义当前Maven项目隶属的实际项目. artifactId:  定义实际项目中的一个Maven项目模块,一般为实际项目名称. ve

maven 搭建spring框架报找不到applicationContext-*.xml文件

问题原因: 早使用maven搭建web工程时,并没有进行分布式搭建,我是把pojo.dao.service.web 四层直接放在了一个父工程中,并没有一个一个的子工程区分,而是直接打包成了一个war包 所以在搭建过程中出现了找不到spring的映射文件,web.xml文件报错, 之后我百度了一下找到了这个配置,由重新执行了一下项目,就执行成功了 在工程的pom文件中添加以下代码 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉. --> <build>

使用Eclipse通过Maven搭建SSM框架

一,工具说明 Eclipse版本:“Eclipse Jee 2018-12”,(因为我用的是最新的eclipse,该版本已经集成了maven,所以我直接使用即可.如果你的没有Maven的话就需要安装Maven了,百度一下即可) 二,配置文件说明 pox.xml:maven依赖配置文件. dispatcher-servlet.SpringMVC配置文件. spring-config.xml  :spring配置文件 mybatis-mapper :mybatis的mapper管理配置文件 三,项目