<noframes id="vddlx"><form id="vddlx"><nobr id="vddlx"></nobr></form>

    <noframes id="vddlx">
    <listing id="vddlx"><nobr id="vddlx"><meter id="vddlx"></meter></nobr></listing>
    <form id="vddlx"><th id="vddlx"><progress id="vddlx"></progress></th></form><em id="vddlx"></em>

      
      

      <listing id="vddlx"><listing id="vddlx"><menuitem id="vddlx"></menuitem></listing></listing>

        <span id="vddlx"></span>

          spring的struts簡單介紹

          之前一段時間學習了springmvc+mybatis+spring框架,突然對之前的struts東西有點陌生, 所以這里簡單記錄下溫故而知新的東西吧。

          1.  首先建立一個Dynamic Web Project, 下面是我建立的StrutsDemo項目目錄,使用的是maven構建的, 自己又增加了幾個文件夾

           

          2. 給出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>com</groupId>
              <artifactId>StrutsDemo</artifactId>
              <packaging>war</packaging>
              <version>0.0.1-SNAPSHOT</version>
              <name>StrutsDemo 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>
                  <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
                  <dependency>
                      <groupId>org.apache.struts</groupId>
                      <artifactId>struts2-core</artifactId>
                      <version>2.5.16</version>
                  </dependency>

          <!--下面這兩個插件,是注解方式必須要加載的-->
          <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-convention-plugin --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-convention-plugin</artifactId> <version>2.5.16</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-config-browser-plugin --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-config-browser-plugin</artifactId> <version>2.5.16</version> </dependency>

          </dependencies> <build> <finalName>StrutsDemo</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>

          3. 給出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="basePackage" extends="struts-default">
          
          
              </package>
          
          </struts>

          4. 給出web.xml文件:

          <!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>
            
            <!-- add struts2 configiguration -->
              <filter>
                  <filter-name>struts2</filter-name>
                  <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
              </filter>
          
              <filter-mapping>
                  <filter-name>struts2</filter-name>
                  <url-pattern>*.action</url-pattern>
              </filter-mapping>
              <!-- end add struts2 configuration-->
              
              <!-- 項目默認頁 -->    
              <welcome-file-list>
                  <welcome-file>/index.jsp</welcome-file>
              </welcome-file-list>
          </web-app>

          5. 給出TestAction.java文件:

          package com.strutsdemo.action;
          
          import org.apache.struts2.convention.annotation.Action;
          import org.apache.struts2.convention.annotation.Namespace;
          import org.apache.struts2.convention.annotation.ParentPackage;
          import org.apache.struts2.convention.annotation.Result;
          
          @ParentPackage("basePackage")
          @Action
          @Namespace("/")
          public class TestAction {
               // http://localhost:8080/StrutsDemo/print!printSome.action
          // 這里是通過注解的方式來輸出前臺頁面,
          // 大致的流程
          // 1. 輸入的url http://localhost:8080/StrutsDemo/print!printSome.action
          // 2. action定位到TestAction的printSome方法, 因為注解value="print"
          // 3. printSome方法返回print字符串, 而在我們注解results當中name="print",相互匹配, 所以會跳轉到/page/print.jsp頁面中
          // 個人認為,通過注解方式可以很大程度上節省代碼量,讓代碼更簡單 @Action(value="print", results= {@Result(name="print", location="/page/print.jsp")}) public String printSome(){ System.out.println("TestAction printSome"); return "print"; } }

          6. 給出print.jsp代碼:

          <%@ page language="java" contentType="text/html; charset=UTF-8"
              pageEncoding="UTF-8"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>Insert title here</title>
          </head>
          <body>
              <h2>print something</h2>
          </body>
          </html>

          7. 運行項目,并在瀏覽器中輸入url:  http://localhost:8080/StrutsDemo/print!printSome.action,  結果為:

          print something

           

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

          智能推薦

          筆記一:搭建一個簡單的Spring+hibernate+struts2項目

          最近在學習用struts+spring+hibernate來做開發,把學習過程記錄一下,以便以后回顧: 整個項目搭建完成的結構如圖:   下面是搭建過程: 第一步、新建一個employeeMgmt的web項目 第二步、導入spring相關jar包、hibernate相關jar包、struts相關jar包,還有整合log4j的jar包、以及數據庫所用的jar包,jar包結構如圖: 第三步、...

          Struts的簡單入門案例

          Struts的簡單入門案例 一,概述 Struts就是一個Mvc框架,主要就是解決請求分發的問題,基本與代碼耦合度很低只需要配置找到包即可,熟練使用可以大大提高開發效率,別人還在加班,你已經開始(敵軍還有五秒到達戰場)不多說了,說多了容易暴漏水平。上代碼 第一步: Struts需要的jar包最好是去官網下載,(推薦下載min-lib.zip)。IDEA自動下載不是太好(可能因為網不好) 然后創建項...

          關于spring-data-jpa的簡單介紹

          最近在做項目,所以時間比較緊湊,閑暇之余,將最近用到的spring-data-jpa技術整理一下,和大家分享. 這次鄙人就不來國際慣例了,直接介紹. 一:什么是JPA: JPA是一套規范,不是產品. JPA是 sun公司提出的java持久化規范,它的出現是為了簡化現有的持久化操作,并整合orm技術. 查詢語句:JPQL 面向對象而非面向過程的查詢語言,避免程序和SQL語句緊密耦合. 二:sprin...

          Spring Data JPA 簡單介紹

          背景 考慮到公司應用中數據庫訪問的多樣性和復雜性,目前正在開發UDSL(統一數據訪問層),開發到一半的時候,偶遇SpringData工程。發現兩者的思路驚人的一致。 于是就花了點時間了解SpringData,可能UDSL II期會基于SpringData做擴展 SpringData相關資料 介紹:針對關系型數據庫,KV數據庫,Document數據庫,Graph數據庫,Map-Reduce等一些主流...

          Spring Data JPA 簡單介紹

            背景  考慮到公司應用中數據庫訪問的多樣性和復雜性,目前正在開發UDSL(統一數據訪問層),開發到一半的時候,偶遇SpringData 工程。發現兩者的思路驚人的一致。 于是就花了點時間了解SpringData,可能UDSL II期會基于SpringData做擴展 SpringData相關資料  介紹:針對關系型數據庫,KV數據庫,Document數據庫...

          猜你喜歡

          簡單介紹Spring MVC框架

          Spring MVC框架 M代表模型(Model)——就是數據,就是bean,DAO(data access object); V代表視圖(View)——就是網頁,JSP,用來展示模型中的數據; C代表控制器(controller)——控制器的作用就是把不同的數據(Model),顯示在不同的視圖(View)上,Servlet扮...

          【Spring】(8)AOP - 簡單介紹

          一、什么是 AOP 在軟件業,AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,通過預編譯方式和運行期間動態代理實現程序功能的統一維護的一種技術。AOP是OOP的延續,是軟件開發中的一個熱點,也是Spring框架中的一個重要內容,是函數式編程的一種衍生范型。利用AOP可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程序的可重用性...

          上海幣王:5月12日主流漲幅破位不統一,行情有回調需求。

          沒問題的,別擔心,一切都會好起來的。 —— 宮崎駿 BTC 大餅昨日開盤6340,盤中最低下探6279,最高上探6950,最終收尾于6899,全天的波幅異常驚人,目前的報價位于7330一線,日內最高已經上探過7300上方。綜合這一輪的上漲,主要是消息級別的推動,共振幣的門檻引發大量比特的搶購,其次在一輪上沖之后,市場媒體的跟進,外加隨著價格的進一步抬高,比特保值性升值性,得...

          后端

          前端開發首要觸及網站和 App,用戶能夠從 App 屏幕或閱讀器上看到東西。簡略地說,能夠從 App 屏幕和閱讀器上看到的東西都歸于前端。 網站和移動 App 的前端 咱們就以你現在正在閱讀的網頁為例。網頁上的內容、圖片、階段之間的空隙、左上角的圖標、右下角的通知按鈕,所有這些東西都歸于前端。 移動 App 的前端和網站是相同的。例如,你所看到的內容、按鈕、圖片,它們都歸于前端。別的,由于移動設備...

          談談對事件的理解(持續更新中)

          談談對事件的理解: 從前有一家人,我們稱為window家。window他其中有一個兒子叫事件。 --------------------------------------------------------------------事件------------------------------------------------------------------------------ 事件他...

          贊助商廣告

          相關文章

          熱門文章

          推薦文章

          相關標簽

          亚洲中文字幕A∨在线

          <noframes id="vddlx"><form id="vddlx"><nobr id="vddlx"></nobr></form>

            <noframes id="vddlx">
            <listing id="vddlx"><nobr id="vddlx"><meter id="vddlx"></meter></nobr></listing>
            <form id="vddlx"><th id="vddlx"><progress id="vddlx"></progress></th></form><em id="vddlx"></em>

              
              

              <listing id="vddlx"><listing id="vddlx"><menuitem id="vddlx"></menuitem></listing></listing>

                <span id="vddlx"></span>