亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

Struts框架(一)——簡介

2024-04-27 15:06:54
字體:
來源:轉載
供稿:網友

引言:

              Struts——一個web應框架。

概述:

              Struts基于MVC的一個web開源框架,也是一個表示層的框架,只能用于Web項目。

內容:

              一 優缺點:

             (1)優點:

                    1)這是一個開源框架,能讓開發人員更深入的了解其內部實現機制和原理。

                    2)框架自帶的標簽庫,非常靈活,提高了開發人員的工作效率。

                    3)頁面導航使系統的導航線路更加清晰,通過框架配置文件,就可以配置系統各個頁面的導航關系,能極大提高維護的效率和質量。

                    4)提供異常處理機制。

                    5)數據庫連接池管理,開發人員可以花更多精力在業務邏輯的實現上。    

             (2)缺點:

                    1)學習成本較高

                    2)Struts將MVC的控制層又進行了分層,增加了復雜度。

              二 工作原理

                     通過一副圖展示一下:

                         

                    (1)Web客戶端發出請求,被在web.xml配置文件中配置的ActionServlet截獲,同時暴露了struts-config.xml配置文件的路徑,調用該配置文件。

                    (2)ActionServlet通過讀取struts-config.xml配置文件,將請求信息映射至業務邏輯層Action工具類。

                    (3)Action類與Model層進行交互,實現數據的增刪改查等操作。

                    (4)Action對數據操作完畢,將命令返回至ActionServlet。

                    (5)ActionServlet收到該命令之后,轉發到相應的jsp頁面。

                    (6)JSP給予Web客戶端一個響應。

         三 實例(用戶登錄)

                        1 jsp頁面代碼:關鍵action與web.xml配置的匹配攔截相一致,同時method采用post,安全性較高。             

<%@ 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>用戶登錄</title></head><body>	<form action="login.do" method="post">		用戶:<input type="text" name="username"><br>		密碼:<input type="text" name="passWord"><br>		<input type="submit" value="登錄"> 	</form></body></html>              2  web.xml配置文件:配置servlet和攔截web客戶端的url請求。

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" 	xmlns="http://java.sun.com/xml/ns/javaee" 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <display-name></display-name>	  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>   <servlet>    <servlet-name>action</servlet-name>    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>    <init-param>      <param-name>config</param-name>      <param-value>/WEB-INF/struts-config.xml</param-value>    </init-param>  </servlet>  <servlet-mapping>    <servlet-name>action</servlet-name>    <url-pattern>*.do</url-pattern>  </servlet-mapping> </web-app>             3 創建表單實體類

package com.liming.struts;import org.apache.struts.action.ActionForm;/** *  * 登錄ActionForm,負責表單收集數據 * 表單的屬性必須和ActionForm中的get和set的屬性一致 * @author LM * */@SupPRessWarnings("serial")public class LoginActionForm extends ActionForm {	private String username;		private String password;	public String getUsername() {		return username;	}	public void setUsername(String username) {		this.username = username;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}}                      4 創建業務邏輯Action工具類:用來接收請求信息,操作數據,并返回轉向信息。
package com.liming.struts;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;/** * 登錄Action * 負責取得表單數據,調用業務邏輯、返回轉向信息 * @author LM * */public class LoginAction extends Action {	@Override	public ActionForward execute(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {				LoginActionForm laf = (LoginActionForm)form;		String username = laf.getUsername();		String password = laf.getPassword();		if("admin".equals(username) && "admin".equals(password)){			//登錄成功			return mapping.findForward("success");		}else {			//登錄失敗			return mapping.findForward("error");		}			}	}                      5 Struts核心配置文件,配置ActionForm, ActionBean,異常的轉向,國際化資源文件的位置, 插件(便于和Spring集成)等          
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"><struts-config>	<form-beans>		<form-bean name="loginForm" type="com.liming.struts.LoginActionForm"/>	</form-beans>		<action-mappings>		<action path="/login" 				type="com.liming.struts.LoginAction" 				name="loginForm"				scope="request"				>				<forward name="success" path="/success.jsp"/>				<forward name="error" path="/error.jsp"/>		</action>	</action-mappings></struts-config>

總結:

               Struts框架是MVC設計模式的一個優秀實現。 Struts定義了通用的Controller(控制器),通過配置文件(通常是 Struts -config.xml)隔離Model(模型)和View(視圖),以Action的概念以對用戶請求進行了封裝,使代碼更加清晰易讀。 Struts還提供了自動將請求的數據填充到對象中以及頁面標簽等簡化編碼的工具。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美华人在线视频| 性色av香蕉一区二区| 欧美性猛交xxxx乱大交蜜桃| 777午夜精品福利在线观看| 欧美日韩xxx| 亚洲精品乱码久久久久久按摩观| 中文字幕在线观看亚洲| 久久精品中文字幕| 色噜噜久久综合伊人一本| 免费成人高清视频| 国内精品久久久久久影视8| 欧洲中文字幕国产精品| 亚洲成人精品久久| 一区二区三区高清国产| 欧美国产乱视频| 51午夜精品视频| 日韩av在线影院| 国产亚洲欧洲黄色| 国产精品福利无圣光在线一区| 在线成人激情视频| 欧美精品一区在线播放| 久久人人爽人人爽人人片av高清| 国产综合色香蕉精品| 欧美日韩国产在线| 不卡av在线播放| 奇米成人av国产一区二区三区| 亚洲最大av网站| 国产在线日韩在线| 精品久久久久久亚洲国产300| 影音先锋日韩有码| 亚洲精品国产精品国产自| 亚洲图片在线综合| 91精品国产自产在线| 亚洲国内精品在线| 日韩激情在线视频| 欧美精品videofree1080p| 欧美性开放视频| 欧美性猛交xxxx黑人猛交| 久久天天躁狠狠躁夜夜爽蜜月| 91久久久久久久久久久久久| 456国产精品| 92裸体在线视频网站| 日韩福利在线播放| 成人久久久久爱| 国产精品第3页| 亚洲男女自偷自拍图片另类| 91成人天堂久久成人| 日日摸夜夜添一区| 亚洲无亚洲人成网站77777| 色老头一区二区三区在线观看| 国产99久久久欧美黑人| 理论片在线不卡免费观看| 国外成人性视频| 欧美主播福利视频| 欧美性极品xxxx娇小| 日韩欧美精品网址| 2023亚洲男人天堂| 中文字幕亚洲欧美日韩2019| 日韩免费黄色av| 久久精品视频网站| 欧美又大又粗又长| 国产伦精品一区二区三区精品视频| 成人激情视频在线| 日韩av电影中文字幕| 国产精品av在线播放| 国产在线播放不卡| 欧美壮男野外gaytube| 日韩精品亚洲精品| 欧美精品第一页在线播放| 亚洲欧美变态国产另类| 久久亚洲国产精品成人av秋霞| 亚洲一区二区三区毛片| 欧美亚洲午夜视频在线观看| 日韩av影视综合网| 国产午夜精品全部视频在线播放| 成人福利网站在线观看| 欧美美女18p| 国产精品久久久久久久久久三级| 久久在精品线影院精品国产| 欧美精品激情blacked18| 91精品国产91久久| 成人性生交大片免费看视频直播| 一本色道久久综合狠狠躁篇怎么玩| 日韩高清不卡av| 亚洲白虎美女被爆操| 日韩av在线网站| 亚洲激情 国产| 国产精品高清免费在线观看| 国产婷婷97碰碰久久人人蜜臀| 日韩一区二区三区xxxx| 久久精品影视伊人网| 国产精品亚洲激情| 欧美大学生性色视频| 久久色精品视频| 色偷偷88888欧美精品久久久| 欧美性开放视频| 精品久久久一区二区| 自拍偷拍亚洲在线| 国产成人自拍视频在线观看| 精品中文字幕视频| 亚洲一区二区三| 久久久精品视频在线观看| 在线观看日韩www视频免费| 91久久在线播放| 欧美日韩中文在线观看| 97热在线精品视频在线观看| 国产91精品网站| 国产精品久久在线观看| 国产日韩精品入口| 日韩av在线最新| 亚洲精品免费av| 国产精品黄视频| 欧美性猛交xxxx富婆| 国产一区二区三区日韩欧美| 538国产精品视频一区二区| 4p变态网欧美系列| 精品国产乱码久久久久久虫虫漫画| 久久久99免费视频| 三级精品视频久久久久| 国产精品精品视频一区二区三区| 国产福利精品视频| 国产精品偷伦一区二区| 亚洲国产91精品在线观看| 国产成人aa精品一区在线播放| 性欧美暴力猛交69hd| 国产精品视频成人| 国产精品露脸自拍| 九九热这里只有精品免费看| 国产+成+人+亚洲欧洲| 91久久国产综合久久91精品网站| 国产精品视频免费观看www| 日韩中文字幕亚洲| 久久天天躁狠狠躁夜夜av| 国产精品日韩在线一区| 国产精品视频色| 午夜精品久久久久久久久久久久| 九九热这里只有精品6| 国产精品视频免费在线| 国产精品第一页在线| 日韩中文字幕在线看| 国产视频精品久久久| 欧美香蕉大胸在线视频观看| 久久久久久久久久久免费精品| 欧美电影在线观看网站| 国产免费成人av| 26uuu日韩精品一区二区| 欧美最猛黑人xxxx黑人猛叫黄| 日韩有码在线视频| 日产精品久久久一区二区福利| 欧洲美女7788成人免费视频| 中文字幕亚洲欧美在线| 亚洲欧美一区二区激情| 久久天天躁日日躁| 一区二区亚洲欧洲国产日韩| 久久国产精彩视频| 欧美大片在线看| 欧美性高潮在线| 国产免费成人av| 亚洲国产精品福利| 亚洲一级片在线看| 91国产美女视频| 欧美激情2020午夜免费观看| 亚洲欧美日韩一区在线| 国产精品av在线播放|