美文网首页来到JavaEE
使用 Gradle 构建 Struts 2 Web 应用

使用 Gradle 构建 Struts 2 Web 应用

作者: 萌面大道 | 来源:发表于2016-09-28 12:18 被阅读665次

    Ant -> Maven -> Gradle

    • Info
    • JDK 1.8
    • Tomcat 8.5.5
    • Intellij IDEA 2016.2.3
    • macOS 10.12.1 beta

    前言

    熟悉 Android 开发的程序员都知道,Android Studio 是基于 Intellij IDEA 社区版所开发的,其默认使用 Gradle 构建项目。

    与 Maven 不同,Gradle 的配置更为简单,两者的优劣这里略过。这次就体验一下使用 Gradle 构建最基本的 Struts 2 Web 应用。记录于此,便于往后查阅。

    安装 Tomcat

    下载并解压 Tomcat,将其置于 /usr/local 文件夹内,这里以 Tomcat 8.5.5 为例,因为其支持 Servlet 3.1 标准。

    Tomcat 放置路径

    新建 Gradle Web 项目

    菜单栏:File - New - Project...

    选择左侧的 Gradle,勾选 Web 选项,因为要建立的是跑在服务器上的应用。点击 Next。

    New Gradle

    输入 Group ID 以及 Artifact ID,建议输入真实,唯一的 ID。良好的习惯将减小未来发生错误的概率。继续点击 Next。

    Group ID & Artifact ID

    勾选必要的选项,Next。

    配置项目

    设置项目的放置目录,Finish。

    项目的放置目录

    等待 Gradle 构建项目,可以在窗口下部看到当前状态,构建完毕时,则会消失。和 Maven 类似,Gradle 的构建过程也需要联网下载所需的依赖。

    等待 Gradle 构建项目

    导入 Struts 2

    Gradle 项目建立基本完毕,需要配置 Struts 2 的依赖。和 Maven 类似,可以搜索 Maven Repository,虽然名字是 Maven 仓库,但却提供了多种依赖的部署方式。

    搜索 Maven Repository

    搜索 struts,我们能得到很多结果,我们需要选择 Struts 2 Core。

    Struts 2 Core

    打开之后可以看到 Struts 2 的不同版本,Maven 和 Gradle 的方便之处在于,可以很简单的切换不同版本,而不用手动下载相关 JAR 包。对于版本的选择,首先可以优先选择 release 版。测试版(即 Beta 版)在网页上也有清晰的标注。另外通过阅览 Struts 官网我们得知,Struts 3 将基于 2.5 或更新版本,较大版本更迭会有较大不同,甚至是兼容性的差异。所以我们选择当前 2.3 的最高子版本 2.3.30。当然你也可以选择参考书等资料中的版本,但个人偏向较新的版本,不要沉溺于太过时的东西,限制你的思想。

    Struts 2.3.30

    切换到 Gradle 标签,拷贝其中的内容。

    拷贝 Gradle 依赖

    回到 IDEA,打开 build.gradle,将其粘贴到 dependencies 中。由于之前勾选过 auto-import,即可自动导入。

    build.gradle

    如果忘记勾选,也可在此手动刷新,让其导入。

    手动刷新导入

    至此,Struts 2 已经导入该项目,但距离使用还差一点距离。

    配置 Tomcat

    虽然我们安装了 Tomcat,也选择了 Web 应用,但并没有部署项目,所以无法运行。点击图中菜单的下三角,选择 Edit Configurations...。

    Edit Configurations

    点击左上角加号。

    点击左上角加号

    选择 Tomcate Server - Local。

    Tomcate Server

    根据下图即可配置 Tomcat。

    配置 Tomcat

    如果 IDEA Application server 为空,那么需要首先添加 Tomcat 服务器,点击 Configure...,点击新窗口的左上角的加号添加新的服务器,选择 Tomcat 的路径即可(图上已经拥有配置好的两个不同版本的 Tomcat 服务器)。

    添加 Tomcat 服务器

    回到配置 Tomcat,切换到 Deployment 标签,点击图中的加号,选择 Aritifacts。

    Deployment

    这里选择 exploded 结尾的 war 包,这是展开的 war,便于重载资源,在开发阶段建议选择此。

    选择 exploded

    配置完成,点击 OK。

    配置完成

    添加 web.xml & struts.xml

    点击菜单栏的 Project Structure。

    Project Structure

    选择左侧 Modules,当前 Web Gradle,点击加号。

    Modules-Web Gradle

    选择创建 web.xml 的路径,注意在最后不要忘记 web.xml,否则并不会创建。

    web.xml 路径

    配置 web.xml 完成,点击 OK。

    配置完成

    struts.xml 可以直接在 resources 目录右键 - New - XML Configuration File - Struts Config,即可生成。

    新建 struts.xml

    新建完成,IDEA 会检测到 struts.xml,提示配置,选择 Configure,勾选刚刚创建的 struts.xml 以及下面的 struts-default(图中漏掉了),点击 OK。
    (注意:如果 IDEA 没有提示,那么可在选择 Web Gradle 界面,选择左侧的 Facets,点击加号,添加 Struts 2 并勾选上述文件)

    勾选 struts.xml

    配置完成,点击 OK。

    配置完成配置完成

    添加完成这两个 xml 文件,但并没有进行内部的配置,web.xml 是必须配置的,可以按照如下配置 Struts 2 过滤器。

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
    
        <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 基本配置已经完成,可以简单的在 index.jsp 中测试 Struts 2 的标签即可验证是否成功。

    相关文章

      网友评论

      • Youretheappleof:你的java 、resources文件夹是自动创建的吗?为什么我用最新版没有啊,要手动创建。另外web.xml在哪个文件夹?为什么我的在.idea下的moudle里面啊?
        萌面大道:@Youretheappleof 记得当时应当是自动生成的,有可能是因为 Gradle 构建时,需要连接外网,但网速过慢可能导致项目建立不完整。

      本文标题:使用 Gradle 构建 Struts 2 Web 应用

      本文链接:https://www.haomeiwen.com/subject/ozbhyttx.html