使用 Gradle 构建 Struts 2 Web 应用

由于种种原因,简书等第三方平台博客不再保证能够同步更新,欢迎移步 GitHub:https://github.com/kingcos/Perspective/。谢谢!

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 的标签即可验证是否成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,989评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,083评论 19 139
  • 访问GitHub下载最新源码:https://github.com/gaussic/SpringMVCDemo 文...
    AiPuff阅读 4,230评论 4 35
  • 1.简介 之前的maven项目打包类型都为pom或者POM,今天讲一下用maven构建web应用,web应用的打包...
    zlcook阅读 3,451评论 0 12
  • 遗忘……有时候你越是努力忘记,却越是忘不了。 你心里的那个他,纵使在理性上你列举了无数条不应该想起的理由,可感性...
    迷里糊涂小聪阅读 214评论 0 0