• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Stuts2學習筆記(1):環境搭建及Demo

    標簽: Struts2  SSH

    源碼:

    github: https://github.com/liaotuo/Struts2-Demo/tree/master/struts2-demo

    環境搭建

    下載struts2

    官網下載:http://mirror.bit.edu.cn/apache/struts/2.3.34/struts-2.3.34-all.zip

    注:本教程使用2.3.34版本

    目錄結構

    這里寫圖片描述

    所需基本jar包

    解壓apps下一個demo能夠得到所需的基本jar包
    這里寫圖片描述

    創建web項目

    創建一個web項目,并將所需jar包放入WEB-INFO/lib下面(web項目無需build-path)如下圖:
    這里寫圖片描述

    編寫Struts.xml配置文件

    可以直接從struts-blank demo中Copy一個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>
    
    </struts>
    

    在web.xml中注冊Struts2啟動配置

    往web.xml中加入如下配置

    <filter>
        <filter-name>struts2</filter-name>
        <!-- 這個類全名不同版本不完全一樣 可以從struts-core.jar 中找-->
        <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>

    至此環境搭建完畢,接下來創建一個demo


    Demo

    創建我的第一個action

    package com.lt.action;
    
    public class HelloAction {
        private String msg;
    
        public String getMsg() {
            return msg;
        }
    
        public void setMsg(String msg) {
            this.msg = msg;
        }
    
        /***
         * 默認的action執行方法為excute
         * @return 
         */
        public String excute() {
            this.setMsg("hello struts2...");
            return "success";
        }
    
        /***
         * 動態方法調用demo
         * @return
         */
        public String dynamic() {
            this.setMsg("hello struts2-dynamicMethod...");
            return "success";
        }
    }
    

    在struts.xml中注冊Action

    <?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>
        <!-- 常量名可以從struts-core包下org.apache.struts2 下default.properties下查看 -->
        <!-- 配置啟用動態方法調用 -->
        <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
        <!-- 需要繼承自struts-default 執行默認的攔截器 -->
        <package name="basePakage" namespace="/" extends="struts-default">
            <!-- 配置action 默認method是excute可以不配置 -->
            <action name="helloAction" class="com.lt.action.HelloAction" method="execute">
                 <result name="success">index.jsp</result>
            </action>
        </package>
    </struts>
    

    測試成功

    注:訪問路徑需注意

    這里寫圖片描述

    deault-value

    • 未指定action 默認執行的Class是ActionSupport
    • 默認執行action中的execute() 方法
    • 沒有指定result的name屬性,默認值為success

    動態方法調用的方式

    開啟常量

    <!-- 配置啟用動態方法調用 -->
        <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

    這里寫圖片描述

    通配符配置

    修改action配置

    <action name="helloAction_*" class="com.lt.action.HelloAction" method="{1}">
         <result name="success">index.jsp</result>
    </action>

    這里寫圖片描述

    版權聲明:本文為c1481118216原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/c1481118216/article/details/79504323

    智能推薦

    Spring學習筆記1,Spring框架入門及環境搭建

    Spring框架介紹 Spring 是一個提供了解決J2EE問題的一站式框架 核心:控制反轉,通過配置文件來完成業務對象之間的依賴注入,他鼓勵一個良好的習慣,那就是注入對接口編程而不是對類編程 事務處理:他能夠在各種底層事務處理技術上提供一個統一的編程模型 Spring是分層的JavaSE/EE應用一站式的輕量級開源框架( 官網 ),以Ioc(Inverse of control)控制反轉和Aop...

    學習筆記(1)Java GUI的前期環境搭建及使用方法

    環境設置 1.1安裝JDK 下載地址:https://www.oracle.com/cn/java/technologies/javase- downloads.html 本次使用最新版本JDK JavaSE 14 ,單擊“JDK Download”即可下載 1.2設置Windows的環境變量 當JDK安裝過程完成后,開始設置環境變量 (1) 右擊“我的電腦&r...

    webpack 學習筆記-1 demo

    Webpack,是什么? 借用官方說法: webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any r...

    Hibernate之環境搭建及demo

    Hibernate簡介 Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servl...

    python scrapy環境搭建及demo分享

    前言 一個高級測試工程師在自學Python后,向我推薦的一個比較容易上手的Python 框架scrapy。在網上搜索了一下資料后感覺挺有趣的,就想著自己也搭建個環境,然后做一個爬取圖片的demo玩下。 開發環境搭建 Python安裝 下載地址:https://www.python.org/getit/ 這里我下載的是3.8.0的版本(我的安裝目錄是:D:\python\Python38-32) 安...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡