最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Struts2學(xué)習(xí)筆記(1)-入門教程

 更新時(shí)間:2016年06月12日 10:38:47   作者:meaijojo  
本文是一個(gè)Struts2的簡(jiǎn)單入門教程,比較簡(jiǎn)單,希望能給大家做一個(gè)參考。

  什么是Structs2?它就是在Struts1的基礎(chǔ)上演化而來的,是一種MVC模式的框架,其實(shí)它的功能很簡(jiǎn)單,就是將View和邏輯處理層分開。本人才疏學(xué)淺,以前都是用Spring做項(xiàng)目,由于要畢業(yè),所以需要進(jìn)行轉(zhuǎn)行(暫且這么說吧),公司都是用的Structs框架,木有辦法,從頭開始學(xué)吧!

  所需軟件-Eclipse、TomCat7.0、Struts-2.3.1.2(源碼自己下載),下面以具體小項(xiàng)目來說明。

  首先是Struts2的工作原理:首先Tomcat對(duì)用戶所輸入的URL進(jìn)行解析,將其中的項(xiàng)目名稱解析出,然后程序查找所啟動(dòng)的項(xiàng)目,然后直接到配置文件web.xml中,根據(jù)web.xml文件的配置即filter查找到struts2的配置文件--struts.xml,然后根據(jù)其中的namespace,查找到用戶所訪問的action,然后跳轉(zhuǎn)到用戶所需的action界面。

  也許看著上面的比較麻煩,下面用一個(gè)典型的小項(xiàng)目來說明:

  1、打開Eclipse(注本Eclipse不是經(jīng)典的而是下載的IDE版本,用于Web開發(fā)非常方便),新建一個(gè)Web Project,注意要按照next的方式進(jìn)行,這樣在最后一步可以選擇到web.xml一項(xiàng),省掉了手動(dòng)添加的步驟。

  2、添加jar包,將下載的structs源碼包解壓,然后將其中的lib文件下你所用到的jar包添加進(jìn)去,添加的位置WebContent-WEB-INF下的lib文件夾。

  3、添加struts.xml文件,最簡(jiǎn)單的struts.xml文件在所下載的struts源碼的app中,可以從其中尋找一份,也可按以下方式自己寫一份(最簡(jiǎn)單的),直接放到src的根目錄下:


復(fù)制代碼 代碼如下:

對(duì)以上內(nèi)容做下說明:第6行的struts.devMode配置的是是否采用開發(fā)模式,開發(fā)模式的意思就是動(dòng)態(tài)修改可以動(dòng)態(tài)演示,無需重啟server,它默認(rèn)是false;第7行的package如同java的包一樣,用于分類;namespace非常重要,是用于分割url的,如上所述,要打開的url為:......./index,其中的/代表namespcae,index則代表了action的name屬性。action中的class是類,用于一些邏輯處理的普通java類;result則是轉(zhuǎn)入的jsp(View)界面,上述的jsp界面放在WebContent根目錄下。

  4、編寫Java類-Action02,新建一個(gè)包c(diǎn)om.myservice.web,然后新建一個(gè)Java類Action02,其內(nèi)容很簡(jiǎn)單,

復(fù)制代碼 代碼如下:
package com.myservice.web;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class Action02 extends ActionSupport{
 
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return "success";
    }
 
}

就是覆寫execute方法,直接返回了一個(gè)字符串success,這個(gè)字符串是和action中result的那么屬性所對(duì)應(yīng)的。

另還有兩種方法可以完成class的功能,但是都不常用,一種是不繼承任何的類和接口,直接寫一個(gè)execute方法,也是返回String;另外一種則是寫一個(gè)class實(shí)現(xiàn)Action接口,然后覆寫Action的execute方法,其實(shí)ActionSupport也是實(shí)現(xiàn)了Action接口,但是它還另外實(shí)現(xiàn)了很多方法,可以非常方便的使用,因此在開發(fā)中都采用繼承ActionSupport類的方式。

  5、編寫JSP文件,在WebContent根目錄下新建一個(gè)jsp文件,注意要將其語(yǔ)言設(shè)置為utf-8,,如:

復(fù)制代碼 代碼如下:

通過上述工作,就完成了最簡(jiǎn)單的編寫,然后就可以啟動(dòng)server(Tomcat7.0)了,在瀏覽器中輸入http://localhost:8080/xxx/index,其中的xxx代表的是項(xiàng)目名。

相關(guān)文章

  • MyBatis自定義typeHandler的完整實(shí)例

    MyBatis自定義typeHandler的完整實(shí)例

    這篇文章主要給大家介紹了關(guān)于MyBatis自定義typeHandler的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MyBatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java使用mapstruct實(shí)現(xiàn)對(duì)象拷貝

    Java使用mapstruct實(shí)現(xiàn)對(duì)象拷貝

    MapStruct可以簡(jiǎn)化對(duì)象之間的映射,本文就來介紹一下Java使用mapstruct實(shí)現(xiàn)對(duì)象拷貝,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • SpringBoot整合RabbitMQ實(shí)現(xiàn)RPC遠(yuǎn)程調(diào)用功能

    SpringBoot整合RabbitMQ實(shí)現(xiàn)RPC遠(yuǎn)程調(diào)用功能

    在分布式系統(tǒng)中,RPC(Remote?Procedure?Call)是一種常用的通信機(jī)制,它可以讓不同的節(jié)點(diǎn)之間像調(diào)用本地函數(shù)一樣進(jìn)行函數(shù)調(diào)用,隱藏了底層的網(wǎng)絡(luò)通信細(xì)節(jié),通過本教程,你可以了解RPC的基本原理以及如何使用Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的RPC客戶端和服務(wù)端
    2023-06-06
  • 基于Java實(shí)現(xiàn)記事本功能

    基于Java實(shí)現(xiàn)記事本功能

    這篇文章主要為大家詳細(xì)介紹了基于Java實(shí)現(xiàn)記事本功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Java事務(wù)的個(gè)人理解小結(jié)

    Java事務(wù)的個(gè)人理解小結(jié)

    數(shù)據(jù)庫(kù)操作的事務(wù)習(xí)慣上就稱為Java事務(wù)
    2013-03-03
  • Java遺傳算法之沖出迷宮

    Java遺傳算法之沖出迷宮

    這篇文章首先詳細(xì)介紹了什么是遺傳算法,然后通過遺傳算法的思想用實(shí)例解析使用遺傳算法解決迷宮問題,需要的朋友可以參考下
    2017-09-09
  • 怎樣給Kafka新增分區(qū)

    怎樣給Kafka新增分區(qū)

    這篇文章主要介紹了怎樣給Kafka新增分區(qū)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Springboot繼承Keycloak實(shí)現(xiàn)單點(diǎn)登錄與退出功能

    Springboot繼承Keycloak實(shí)現(xiàn)單點(diǎn)登錄與退出功能

    這篇文章主要介紹了Springboot繼承Keycloak實(shí)現(xiàn)單點(diǎn)登陸與退出,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • servlet之session簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    servlet之session簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了servlet之session簡(jiǎn)介,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Java實(shí)現(xiàn)字符串匹配(基于正則)

    Java實(shí)現(xiàn)字符串匹配(基于正則)

    這篇文章主要介紹了Java中使用正則表達(dá)式實(shí)現(xiàn)字符串匹配,字符串查找,匹配,替換,正則無不能做,特別是靈活的運(yùn)用子串匹配,感興趣的小伙伴們可以參考一下
    2015-12-12

最新評(píng)論

高要市| 郑州市| 沙坪坝区| 安义县| 永清县| 五常市| 阳新县| 金塔县| 屏东市| 西吉县| 新源县| 高唐县| 横山县| 宝坻区| 平山县| 临泉县| 黔西县| 玉田县| 扶风县| 大理市| 茌平县| 皋兰县| 泰州市| 丹阳市| 酒泉市| 米易县| 安宁市| 滦平县| 和田市| 遂川县| 台南县| 新密市| 丰都县| 府谷县| 定西市| 芜湖市| 望江县| 册亨县| 叙永县| 察隅县| 清苑县|