1. 程式人生 > >Struts2使用IntellijIDEA和maven管理:搭建開發環境

Struts2使用IntellijIDEA和maven管理:搭建開發環境

在對spring比較熟悉之後,決心學習一下另一個很流行的框架Struts2,奈何資料比較老舊,也沒有采用maven和intellji配合的教科書,網上的幾個教程說的不是很清楚導致遇到了一些困難,在經過了一天的嘗試後,總結了搭建最基本的開發環境的流程(寫該教程的時候是重新搭建了一遍且執行成功):

開發環境搭建

  • Intellji IDEA14
  • maven 3
  • struts 2.5.5

注意:建議將maven的映象修改一下,詳情參考我另一篇文章修改intellji的maven映象,使用阿里雲的映象,一分鐘就可以下載好,否則過程可能要很久

首先,新建一個maven管理的專案
步驟1
填寫專案資訊
步驟2


選擇專案名字和路徑
步驟3
這是初始生成的專案結構
步驟4

修改pom檔案新增如下依賴,其中在maven中

<build>
<final-name>name</final-name>
</build>

是指在釋出的時候打成名字為name的war包
步驟5
之後設定專案的結構,新增web支援
步驟6
步驟7
步驟8
步驟9
步驟10
下一步很重要!!如果最後配置完後項目執行不成功,這邊再右鍵操作一下即可
步驟11
這是配置完之後的專案結構
步驟12
之後修改web.xml檔案如下(具體內容見文末),對於Struts不同的版本,filter-class的內容是有區別的,讀者可以自行百度或者看官方文件:
步驟13


在resources目錄下新增struts.xml檔案,並且新增如下內容(見文末以及配置的詳細解析)
步驟14
在web目錄下新增index.jsp檔案,最終完成的目錄結構就是這樣子
步驟15
配置Jeety容器(tomcat的過程類似)
步驟16
步驟17
步驟18
這裡名字可以不一致的,進行自定義,不定義會採用預設的(比較難記),這個配置決定了將來訪問的url
步驟19
點選ok就好了,專案已經可以運行了!!(如果有問題如上面講的再去專案結構那個地方右鍵匯入一下就好了)
步驟20
接下來,訪問如下網址http://localhost:8080/helloworld/hello.action 就可以看到這個頁面了~

參考檔案

pom檔案

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>MyProject</groupId>
    <artifactId>test1</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <!--選用最新的版本2.5.5不同版本之後的web.xml檔案會有區別 -->
            <version>2.5.5</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
    <build>
        <!--控制最後生成的war包的名字 -->
        <finalName>helloworld</finalName>
    </build>
</project>

web.xml檔案

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
           version="3.0">
    <filter>
        <filter-name>struts2</filter-name>
        <!--如果是早起的Struts2可能是下面的樣子
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        -->
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

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>

    <!-- 支援動態呼叫 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
    <!-- 設定開發模式 -->
    <constant name="struts.devMode" value="true"/>

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

        <action name="hello">
            <result name="success">/index.jsp</result>
        </action>

    </package>

</struts>

最後,補充一點struts說明(剛學有些地方不一定對,歡迎指正,之後學習深入了我也會訂正的)
而最後生成的專案的訪問路徑是這樣定義的:
http://localhost:8080/webcontext/namespace/actionname.action
webcontext-之前在jetty中的配置
namespace:在struts.xml中定義的package的namespace屬性
actionname:在struts.xml中定義的action的屬性
在namespace正確的情況下,即使namespace和actionname中間多了其他的字元(如http://localhost:8080/helloworld/hh/hello.action) ,也不影響最終頁面的訪問,因為最新的struts2支援自動的搜尋包
所以在我之前的實驗中,因為沒有設定namespace,所以webcontext後面新增任何欄位都不影響最後的結果
因此在一個namespace中的action是不能衝突的,因為namespace包含了package,所以在package中的action當然也是唯一的

這裡寫圖片描述

相關推薦

Struts2使用IntellijIDEAmaven管理搭建開發環境

在對spring比較熟悉之後,決心學習一下另一個很流行的框架Struts2,奈何資料比較老舊,也沒有采用maven和intellji配合的教科書,網上的幾個教程說的不是很清楚導致遇到了一些困難,在經過了一天的嘗試後,總結了搭建最基本的開發環境的流程(寫該教程的時

【雲星資料---Apache Flink實戰系列(精品版)】Apache Flink實戰基礎0019--IDEA搭建maven管理的整合開發環境001

一、準備flink的開發環境 1. 建立scala的maven專案 2.輸入專案的基本資訊 3.驗證專案的基本資訊 4.輸入專案名稱 5.生成的目錄結構

Django實戰1-許可權管理功能實現-01搭建開發環境

1 專案開發環境 語言環境: python3.6.2 , django-2.1.2 資料庫環境:sqlite3(開發環境使用,部署環境使用mysql5.6) 開發工具:pycharm 2 安裝python 說明:已經安裝過python3.6環境的可以跳過此步。python安裝包下載地址

Django實戰1-權限管理功能實現-01搭建開發環境

彈窗 雙擊 pts 歡迎頁 file 興趣 數據庫 tro 實戰 1 項目開發環境 語言環境: python3.6.2 , django-2.1.2 數據庫環境:sqlite3(開發環境使用,部署環境使用mysql5.6) 開發工具:pycharm 2 安裝pytho

ESP32 LyraT音頻開發板試玩(一)搭建開發環境

star 技術 txt 開發板 工程 pri app 界面 比較 我是卓波,很高興你來看我的博客。 系列文章: ESP32 LyraT音頻開發板試玩(一):搭建開發環境 ESP32 LyraT音頻開發板試玩(二):播放音樂 關於ESP32的開發環境搭建,官方有教程,

Omnipeek空口抓包(1)搭建開發環境

轉載請註明原文地址:https://mp.csdn.net/mdeditor/79279630 開發環境準備 安裝Omnipeek、安裝rtl8812a wifi驅動適配Omnipeek軟體 Omnipeek 10下載連結:http://download.csdn.net/do

Python基礎搭建開發環境(1)

1.Python語言簡介   2.Python環境   Python環境產品存在多個。 2.1 CPython   CPython是Python官方提供的。一般情況下提到的Python就是指CPython,CPython是基於C語言編寫的。   CPython實現的直譯器將原始碼編譯為位

Python之Django商城專案實戰(一)搭建開發環境

一、搭建環境:1、安裝pythonsudo apt-get install python3-pip2、安裝mysql3、建立虛擬環境安裝虛擬環境:pip install virtualenv方法一:建立虛擬環境(python3.6):python -m venv myenv

JNINDK學習(1)--搭建開發環境

文章轉自我的Github Blog CommonQ's Blog NDK簡介 NDK的好處: 1. 程式碼的保護,由於apk的java層程式碼很容易被反編譯,而C/C++庫反匯難度較大。 2. 在NDK中呼叫第三方C/C++庫,因為大部分的開源庫都是用C/C++程式碼編

ExtJS4 MVC開發教程搭建開發環境

       在所有的JS框架中,ExtJS算的上是一個超重量級的前端框架,裡面封裝了大量的類庫以至於很多剛開始接觸ExtJS的朋友們不知如何下手,即便是很多人看著別人的demo能夠用ExtJS寫出自

Docker搭建開發環境(執行Eclipse等圖形化介面程式)

Docker搭建開發環境 基本說明 兩個月前的時候自己提出想通過Docker來搭建開發環境(http://blog.csdn.net/zhaodedong/article/details/46549279),能方便地供實驗室的其他同學使用。我所謂的開發環

Angular6學習筆記1搭建開發環境

搭建angular開發環境  a.安裝node.js  確認安裝結果 : 開啟cmd或者terminal Last login: Thu Aug  2 13:48:04 on ttys000 bogon:~ wjy$ node -v v8.9.1 bogon:

maven結合dubbo搭建開發環境

本文是基於maven的,預先使用,先裝maven。 dubbo是一個分散式服務框架,提供一個SOA的解決方案。簡單的說,dubbo就像在生產者和消費者中間架起了一座橋樑,使之能透明互動。 本文旨在搭建

Maven 教程IDEA開發環境maven 專案配置JDK9,JDK10,JDK11,JDK12..等EA版本的配置方法 系列教程一

在Maven中配置使用的JDK,一般有兩種方法,筆者會對如下的兩種方法進行 分別的介紹。 筆者就以JDK10作為介紹,其他正常的JDK版本的配置也是一樣的。這裡使用JDK10 只是為了作一個通用的示範,使得大家舉一反三。後面會貼出其他版本的配置資訊。供大家拷貝

[Minecraft]基於Forge的1.8.9MOD開發教程——第一講搭建開發環境

(第一次寫教程,有點小緊張呢。。) 作者的話 我一開始學習MOD開發時,也曾在各大網站搜尋過一些教程,感覺國內的MOD開發教程是真心的少:CSDN沒找到,優酷、愛奇藝、騰訊、B站也幾乎沒有(除了優酷的oeasy大神的視訊教程,其他的我真找不到),最後在m

學習PHP-MSF搭建開發環境

以下是操作過程: 公網地址: docker pull registry.cn-hangzhou.aliyuncs.com/pinguo-ops/php-msf-docker:latest 阿里雲經典內網: docker pull registry-inte

樹莓派開發筆記(二)qt開發環境搭建樹莓派qt編譯宿主機qt交叉編譯

樹莓派開發筆記(二):qt開發環境搭建:樹莓派qt編譯和宿主機qt交叉編譯前話        前面已經成功執行樹莓派,下面使用qt開發樹莓派產品。搭建樹莓派qt編譯環境(不推薦:開發編譯速度慢)        安裝樹莓派的桌面版本,可以直接配置qt環境,此種方法總是卡卡的,所

第一節es6開發環境搭建

index 項目結構 json dev 技術 reset ID .com 分享 第一章:es6開發環境的搭建   命令:npm init -y 生成package.json文件(依賴文件);項目結構如下: 全局安裝 babel-cli 命令如下:npm instal

第2次作業基礎開發環境搭建

convert 第一部分 block 自己的 https .com 開發環境 war loader 第2次作業:基礎開發環境搭建 第一部分:我的本次作業成果 我自己個人的github地址是:Abel202我們開發團隊小組的github地址是:SoftwareEngin

第1篇Java開發環境搭建

這裡僅以windows為例 1. 下載安裝JDK 下載地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 2. 配置環境變數 右鍵 “我的電腦” --> 屬性 --