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

java struts2框架簡(jiǎn)介

 更新時(shí)間:2017年01月17日 10:07:48   作者:fanjiankang  
本文主要介紹了java struts2框架的基礎(chǔ)知識(shí)。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧

一、Struts2簡(jiǎn)介

 1、Struts2概述

 Struts2是Apache發(fā)行的MVC開(kāi)源框架。注意:它只是表現(xiàn)層(MVC)框架。

 M:model-----數(shù)據(jù)封裝------->javabean

 V:view------視圖----------->jsp

 C:control------控制器--------> struts2( filter),struts1(servlet)

 2、Struts2的來(lái)歷

Struts1:也是apache開(kāi)發(fā)的一套mvc的開(kāi)源框架。在2005年之前非常流行。

弊端:Struts1的核心控制器就是一個(gè)Servlet。隨著使用者的增多,弊端開(kāi)始出現(xiàn)。

Struts2:在long long ago,有一個(gè)設(shè)計(jì)超前的框架XWork,后來(lái)推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony組織合并開(kāi)發(fā)出來(lái)。

里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1沒(méi)有任何關(guān)系了。

二、環(huán)境的搭配

1、下載Struts2開(kāi)發(fā)包

http://struts.apache.org

2、開(kāi)發(fā)包目錄結(jié)構(gòu)

3、搭建開(kāi)發(fā)環(huán)境

3.1、拷貝必要jar包到classpath中

拷貝哪些jar包?

找到Struts2自帶的例子中,struts-blank的war包,在它的\WEB-INF\lib目錄下的jar包全拷貝。

3.2、建立Struts2的配置文件

at the top of classpath(在最頂層的構(gòu)建路徑),建立一個(gè)默認(rèn)名稱(chēng)為struts.xml的配置文件。

注意:

  1.文件名大小寫(xiě)。

  2.創(chuàng)建位置。

  3.該名稱(chēng)允許修改,但是我們一般不改。

3.3、配置控制器

  a、配置位置:在web.xml中

  b、配置什么: struts2已經(jīng)寫(xiě)好了的一個(gè)過(guò)濾器。

結(jié)論:

struts2比struts1優(yōu)秀的一個(gè)體現(xiàn)就是,它用了更為強(qiáng)大的過(guò)濾器作為控制器了。

3.4、驗(yàn)證是否成功

部署應(yīng)用,啟動(dòng)Tomcat,不報(bào)錯(cuò)表示搭建成功。

三、第一個(gè)Struts2案例

以下步驟是日后實(shí)際開(kāi)發(fā)中經(jīng)常重復(fù)的。

1、建立一個(gè)jsp文件

2、在struts.xml文件中配置

3、建立動(dòng)作類(lèi)和動(dòng)作方法

4、結(jié)果視圖頁(yè)面

5、測(cè)試:

6、關(guān)于struts.xml沒(méi)有提示的問(wèn)題

分析原因:沒(méi)有找到對(duì)應(yīng)的dtd約束文件。

解決辦法:

a.上網(wǎng)

b.不能上網(wǎng):

四、第一個(gè)案例的執(zhí)行過(guò)程

1.tomcat啟動(dòng):加載應(yīng)用的web.xml

2. 實(shí)例化并初始化過(guò)濾器

3.加載struts.xml配置文件

4.客戶(hù)端發(fā)送請(qǐng)求

5.請(qǐng)求到達(dá)過(guò)濾器

6.截取請(qǐng)求動(dòng)作名稱(chēng),并在struts.xml中找

7.找到后進(jìn)行實(shí)例化

8.調(diào)用對(duì)應(yīng)的方法動(dòng)作,方法具有返回值

9.根據(jù)返回值,找到結(jié)果視圖

10.顯示結(jié)果視圖,并返回給瀏覽器

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)添加文字水印和圖片水印功能

    Java實(shí)現(xiàn)添加文字水印和圖片水印功能

    為圖片添加水印是一種常用的圖片處理技術(shù),本文主要介紹了Java實(shí)現(xiàn)添加文字水印和圖片水印功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Spring Boot參數(shù)校驗(yàn)及分組校驗(yàn)的使用教程

    Spring Boot參數(shù)校驗(yàn)及分組校驗(yàn)的使用教程

    在日常的開(kāi)發(fā)中,參數(shù)校驗(yàn)是非常重要的一個(gè)環(huán)節(jié),嚴(yán)格參數(shù)校驗(yàn)會(huì)減少很多出bug的概率,增加接口的安全性,下面這篇文章主要給大家介紹了關(guān)于Spring Boot參數(shù)校驗(yàn)及分組校驗(yàn)使用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Java中的數(shù)組流ByteArrayOutputStream用法

    Java中的數(shù)組流ByteArrayOutputStream用法

    Java中的ByteArrayOutputStream是java.io包中的一個(gè)類(lèi),用于在內(nèi)存中創(chuàng)建字節(jié)數(shù)組緩沖區(qū),支持動(dòng)態(tài)擴(kuò)展,它繼承自O(shè)utputStream,允許以字節(jié)形式寫(xiě)入數(shù)據(jù),無(wú)需與外部設(shè)備交互,常用方法包括write()、toByteArray()、toString()等
    2024-09-09
  • Java中Map的computeIfAbsent方法詳解

    Java中Map的computeIfAbsent方法詳解

    這篇文章主要介紹了Java的Map中computeIfAbsent方法詳解,在jdk1.8中Map接口新增了一個(gè)computeIfAbsent方法,這是Map接口中的默認(rèn)實(shí)現(xiàn)該方法是首先判斷緩存Map中是否存在指定的key的值,如果不存在,會(huì)調(diào)用mappingFunction(key)計(jì)算key的value,需要的朋友可以參考下
    2023-11-11
  • YGC前后新生代是否變大分析詳解

    YGC前后新生代是否變大分析詳解

    要解釋這個(gè)問(wèn)題,我們先要弄清楚YGC的過(guò)程,parNew是新生代的gc算法,簡(jiǎn)單來(lái)說(shuō)從gc roots開(kāi)始掃描對(duì)象,當(dāng)掃到一個(gè)只要是屬于新生代的對(duì)象就將其挪到to space,但是老的對(duì)象還不會(huì)做釋放,直到gc完成之后再看是否釋放老的對(duì)象
    2022-01-01
  • 基于Java的界面開(kāi)發(fā)詳細(xì)步驟(用戶(hù)注冊(cè)登錄)

    基于Java的界面開(kāi)發(fā)詳細(xì)步驟(用戶(hù)注冊(cè)登錄)

    通過(guò)一段時(shí)間Java Web的學(xué)習(xí),寫(xiě)一個(gè)簡(jiǎn)單的注冊(cè)登陸界面來(lái)做個(gè)總結(jié),這篇文章主要給大家介紹了基于Java的界面開(kāi)發(fā)(用戶(hù)注冊(cè)登錄)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • @RequestParam注解加與不加有什么區(qū)別

    @RequestParam注解加與不加有什么區(qū)別

    這篇文章主要介紹了@RequestParam注解加與不加有什么區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • springboot添加AOP日志配置詳解

    springboot添加AOP日志配置詳解

    這篇文章主要介紹了springboot添加AOP日志配置詳解,日志是一種在軟件開(kāi)發(fā)中常用的技術(shù),用于記錄和跟蹤應(yīng)用程序的運(yùn)行過(guò)程,通過(guò)AOP日志,開(kāi)發(fā)人員可以實(shí)時(shí)監(jiān)控應(yīng)用程序的行為,包括方法的調(diào)用、參數(shù)的傳遞和返回值的獲取等,需要的朋友可以參考下
    2023-10-10
  • java中timer的schedule和scheduleAtFixedRate方法區(qū)別詳解

    java中timer的schedule和scheduleAtFixedRate方法區(qū)別詳解

    這篇文章主要為大家詳細(xì)介紹了java中timer的schedule和scheduleAtFixedRate方法區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java中FTPClient上傳中文目錄、中文文件名亂碼問(wèn)題解決方法

    Java中FTPClient上傳中文目錄、中文文件名亂碼問(wèn)題解決方法

    這篇文章主要介紹了Java中FTPClient上傳中文目錄、中文文件名亂碼問(wèn)題解決方法,本文使用apache-commons-net工具包時(shí)遇到這個(gè)問(wèn)題,解決方法很簡(jiǎn)單,需要的朋友可以參考下
    2015-05-05

最新評(píng)論

类乌齐县| 翁源县| 农安县| 吉隆县| 鱼台县| 大田县| 清苑县| 南通市| 竹北市| 讷河市| 鄢陵县| 陈巴尔虎旗| 视频| 岳阳市| 景德镇市| 鄢陵县| 车险| 桂平市| 安宁市| 夏邑县| 建湖县| 永靖县| 开化县| 皋兰县| 竹北市| 九台市| 东乡族自治县| 阳春市| 社旗县| 杭锦后旗| 黄陵县| 通渭县| 文水县| 泰和县| 光泽县| 江陵县| 资中县| 大英县| 荆州市| 昔阳县| 房产|