java struts2框架簡介
一、Struts2簡介
1、Struts2概述
Struts2是Apache發(fā)行的MVC開源框架。注意:它只是表現(xiàn)層(MVC)框架。
M:model-----數(shù)據(jù)封裝------->javabean
V:view------視圖----------->jsp
C:control------控制器--------> struts2( filter),struts1(servlet)
2、Struts2的來歷
Struts1:也是apache開發(fā)的一套mvc的開源框架。在2005年之前非常流行。
弊端:Struts1的核心控制器就是一個Servlet。隨著使用者的增多,弊端開始出現(xiàn)。
Struts2:在long long ago,有一個設(shè)計(jì)超前的框架XWork,后來推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony組織合并開發(fā)出來。
里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1沒有任何關(guān)系了。
二、環(huán)境的搭配
1、下載Struts2開發(fā)包
2、開發(fā)包目錄結(jié)構(gòu)
3、搭建開發(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)建路徑),建立一個默認(rèn)名稱為struts.xml的配置文件。
注意:
1.文件名大小寫。
2.創(chuàng)建位置。
3.該名稱允許修改,但是我們一般不改。
3.3、配置控制器
a、配置位置:在web.xml中
b、配置什么: struts2已經(jīng)寫好了的一個過濾器。
結(jié)論:
struts2比struts1優(yōu)秀的一個體現(xiàn)就是,它用了更為強(qiáng)大的過濾器作為控制器了。
3.4、驗(yàn)證是否成功
部署應(yīng)用,啟動Tomcat,不報(bào)錯表示搭建成功。
三、第一個Struts2案例
以下步驟是日后實(shí)際開發(fā)中經(jīng)常重復(fù)的。
1、建立一個jsp文件
2、在struts.xml文件中配置
3、建立動作類和動作方法
4、結(jié)果視圖頁面
5、測試:
6、關(guān)于struts.xml沒有提示的問題
分析原因:沒有找到對應(yīng)的dtd約束文件。
解決辦法:
a.上網(wǎng)
b.不能上網(wǎng):
四、第一個案例的執(zhí)行過程
1.tomcat啟動:加載應(yīng)用的web.xml
2. 實(shí)例化并初始化過濾器
3.加載struts.xml配置文件
4.客戶端發(fā)送請求
5.請求到達(dá)過濾器
6.截取請求動作名稱,并在struts.xml中找
7.找到后進(jìn)行實(shí)例化
8.調(diào)用對應(yīng)的方法動作,方法具有返回值
9.根據(jù)返回值,找到結(jié)果視圖
10.顯示結(jié)果視圖,并返回給瀏覽器
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
- Java框架Struts2實(shí)現(xiàn)圖片上傳功能
- Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a
- struts2標(biāo)簽總結(jié)_動力節(jié)點(diǎn)Java學(xué)院整理
- struts1之簡單mvc示例_動力節(jié)點(diǎn)Java學(xué)院整理
- Struts1之url截取_動力節(jié)點(diǎn)Java學(xué)院整理
- struts1之ActionServlet詳解_動力節(jié)點(diǎn)Java學(xué)院整理
- Struts1教程之ActionMapping_動力節(jié)點(diǎn)Java學(xué)院整理
- Java struts2 package元素配置及實(shí)例解析
相關(guān)文章
Java?Bean轉(zhuǎn)Map的那些踩坑實(shí)戰(zhàn)
項(xiàng)目中有時會遇到Map轉(zhuǎn)Bean,Bean轉(zhuǎn)Map的情況,下面這篇文章主要給大家介紹了關(guān)于Java?Bean轉(zhuǎn)Map那些踩坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07idea打開運(yùn)行配置java?web項(xiàng)目的全過程
這篇文章主要給大家介紹了關(guān)于idea打開運(yùn)行配置java?web項(xiàng)目的相關(guān)資料,有些時候我們用IDEA跑之前用eclipse中運(yùn)行的項(xiàng)目的時候,總是不止所措,要不就是只展示html,要不就是不能部署成功,需要的朋友可以參考下2023-08-08解讀SpringBoot中addCorsMappings配置跨域與攔截器互斥問題的原因
這篇文章主要介紹了解讀SpringBoot中addCorsMappings配置跨域與攔截器互斥問題的原因,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12Springboot集成minio實(shí)現(xiàn)文件存儲的實(shí)現(xiàn)代碼
MinIO?是一款基于Go語言的高性能對象存儲服務(wù),本文主要介紹了Springboot集成minio實(shí)現(xiàn)文件存儲的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03如何把第三方服務(wù)注冊到spring項(xiàng)目容器中
這篇文章主要為大家介紹了如何把第三方服務(wù)注冊到spring項(xiàng)目容器中,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07java如何實(shí)現(xiàn)獲取客戶端ip地址的示例代碼
本文主要介紹了java如何實(shí)現(xiàn)獲取客戶端ip地址,主要包括java獲取客戶端ip地址工具類使用實(shí)例、應(yīng)用技巧,文中通過示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下2022-04-04Mybatis-plus基于redis實(shí)現(xiàn)二級緩存過程解析
這篇文章主要介紹了Mybatis-plus基于redis實(shí)現(xiàn)二級緩存過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08intellij idea快速查看當(dāng)前類中的所有方法(推薦)
這篇文章主要介紹了intellij idea快速查看當(dāng)前類中的所有方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09