亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? struts2.txt

?? Java大部分的基礎知識,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,還有些面試題
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
一、struts2的請求處理過程
	通過url.action找到struts2的過濾器
	過濾器在src的在struts.xml中找到action標簽的name屬性,
		進而通過class屬性確定真正的action,通過
		method屬性確定action方法,如果不寫method默認是
		execute方法
	被調用方法在執行結束前返回一個字符串通過這個字符串在struts.xml
	action標簽中找到對應的頁面轉發。
二、struts2與strutx1.X的比較
	相同點:
		都是mvc
	struts2:
		沒有form可以直接使用后臺的pojo
		action是一個pojo,方法名可以隨意給定
		核心配置文件是struts.xml在src的根目錄下
		struts在與spring整合時更規范
	struts1.X:
		可要加載數據必須有form其form必須繼承于ActionForm
		action不是一個pojo而是要繼承于Action
		核心配置文件是struts-config.xml在/web-inf/目錄下
		struts在與spring整合時不是很規范,通過struts1.x的
		插件將struts與spring整合在一起。
三、struts2如何實現
	1、引入struts2的相關類包
	2、修改web.xml加入一個監聽器
	3、在src的根目下加入struts.xml
	4、寫action,寫jsp頁面。	
四、在struts2中如何加載request、session對象
	實現RequestAware、SessionAware接口加入類型是Map有session或
	request屬性及其set、get方法,通過put或get方法從map中取值。
	原理:
		1、調用方法之前將HttpServertRequest的值通過put方法注入
		   到Map中
		2、調用結束后將map中的值再寫入到HttpServertRequest對象中。
五、如何確定到底調用action的那一個方法
	<action method="方法"/>
	在url處寫"name!方法名.action"
六、struts2與spring整合
	1、在web.xml中加入一個監聽器,加載applicationContext.xml
	2、修改struts.xml中action標簽的class屬性,其指的不是具體的action
	   而是applicationContext.xml中bean標簽的id屬性。
	3、在applicationContext.xml中加入一個bean標記,
	   id屬性與struts.xml中的class屬性值必須對應,class
	   屬性說明具體的action
一、struts2的請求處理過程
	通過url.action找到struts2的過濾器
	過濾器在src的在struts.xml中找到action標簽的name屬性,
		進而通過class屬性確定真正的action,通過
		method屬性確定action方法,如果不寫method默認是
		execute方法
	被調用方法在執行結束前返回一個字符串通過這個字符串在struts.xml
	action標簽中找到對應的頁面轉發。

struts中可以有多個配置文件,一般是一個功能模板一個,不同團隊不影響,實現如下:
	1、在/WEB-INF/下加入新的struts-config.xml文件
	2、在web.xml中在ActionServlet的配置中說明具體的struts-config.xml文件所在位置
		多個文件用,分隔開。
		<init-param>
		      <param-name>config</param-name>
		      <param-value>/WEB-INF/struts-config-1.xml,
		      	/WEB-INF/struts-config-2.xml</param-value>
		   </init-param>
對于spring有多個applicationContext.xml該如何處理
	

struts2.0的特點
	1、form是一個pojo
	2、action是一個pojo,所以struts2.0與框架的藕合度非常低。
		實現Action時有時會繼承于ActionSupport,
		覆蓋execute方法,從而創建一個Action。
		因為ActionSupport提供了很多方法可以為開發提供方便。
	3、支持依賴注入,主要借助于spring來實現
	4、支持攔截處理,相當于是aop
	綜上struts2.0吸了spring及webwork2的優點,是強強聯合的產品。
struts2.0環境配置
	1、引入struts類包
	2、修改web.xml,說明加載struts的監聽器,在啟動tomcat容器時通過監聽器
		加載struts2核心控制類。
		<filter>
			<filter-name>webwork</filter-name>
			<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    		</filter>
    		<filter-mapping>
			    <filter-name>webwork</filter-name>
			    <url-pattern>/*</url-pattern>
		</filter-mapping>
	3、在src根目錄下加入struts.xml文件,說明具體action及相應的跳轉
		<!DOCTYPE struts PUBLIC
		 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
		 "http://struts.apache.org/dtds/struts-2.0.dtd">
		<package name="login" namespace="" extends="struts-default">
			<action name="login" class="action.LoginAction" method="login">
				<result name="success"></result>
				<result name="input"></result>
				<result>success.jsp</result>
			</action>
		</package>
二、加載多個struts.xml文件
	struts.xml不變
	在struts.xml中加入
	<include file="struts-1.xml"/>
struts2.0實現登陸
	1、寫一個pojo
		public class UsersVO
		{
			private String userName;
			private String pwd;
			//get及set方法
		}
	2、寫一個Action
		public class LoginAction
		{
			private UsersVO user;
			//get及set方法
			public String login()
			{
				if("accp".equals(user.getUserName) && "accp".equals(user.getPwd))
				{
					return "success";
				}
				return "error";
			}			
		}
	3、配置struts.xml文件
		<!DOCTYPE struts PUBLIC
		 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
		 "http://struts.apache.org/dtds/struts-2.0.dtd">
		<package name="login" namespace="" extends="struts-default">
			<action name="login" class="action.LoginAction" method="login">
				<result name="success"></result>
				<result name="input"></result>
				<result>success.jsp</result>
			</action>
		</package>
	4、在jsp頁面中調用action
		<s:form action="login">
			用戶名<input name="user.userName" type="text">
			<s:passward name="user.pwd" label="密碼"/>
			<s:submit/>
		</s:form>
struts2.0與spring2.0的結合
	1、在/WEB-INF/中加入applicationContext.xml文件并引入spring相關的類包
	2、applicaitonContext.xml中Action配置信息如下:
		<bean id="insert" class="struts.MakeAction">
			<property name="facade">
				<ref local="facadeProxy" />
			</property>
		</bean>	
	3、在web.xml文件中指定spring的監聽器,加載applicationContext.xml文件
		<listener>   
     			<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
    		</listener>
    	4、修改src根目下的struts.xml中的action標簽,其class不再指向真正的Action類,而是spring的一個bean的ID名稱
		<action name="insert" class="insert" method="insert">
			<result name="error">/error.jsp</result>
			<result name="success">/succ.jsp</result>
		</action>
九、ognl語言
	#:
		1、取request、application、session中的值
			<s:property value="#request.user.userName"/>
		2、定義一個Map
			<s:set name="list" value="#{1:'a',2:'b',3:'c'}"/>
十、將值直接映射到List集合中
	buies[0].buyID
	buies[1].buyName

struts2中的相關標簽:
	非ui組件
		--判斷
		<s:if test="#request.user.userName=='張三'">
			是張三
		</s:if>
		<s:elseif test="#request.user.userName=='李四'">
			是李四
		</s:elseif>
		<s:else>
			不知道
		</s:else>
		--迭代
		<s:iterator value="#request.users" id="user1" state="state">
			<s:property value="#user1.userName"/>
		</s:iterator>
		--設置set
			name 是  String 變量名字 
			scope 否  String 變量作用域,可以為application, session, request, page, 或action. 
			value 否  Object/String 將會賦給變量的值 
			id 否  Object/String 用來標識元素的id。在UI和表單中為HTML的id屬性
		--顯示屬性
			<s:property value=""/>
	ui組件
		下拉列表
			語法
			<s:select list="" listKey="" listValue="" value="" label=""/>
				list:代表數據來源于一個集合
				listKey:顯示的值
				listValue:真正的值
				value:如果listValue中的值與value中的值相等,則對應項會選中
				label:顯示標簽名
			實例:
				1、常數
				<s:select list="#{1:'a1',2:'a2',3:'a3'}" listKey="key"
					listValue="value" value="{'a1','a2'}"
				2、可以取在application、session、request中的對象
				<s:select list="#request.sexes" listKey="name" listValue="code"
					value="{'01'}"/>
		復選框:
			1、普通集合
				<s:checkboxlist name="skills1" 
	                        label="Skills 1" 
	                        list="{ 'Java', '.Net', 'RoR', 'PHP' }" 
	                        value="{ 'Java', '.Net' }" />
	                 2、hashMap
			        <s:checkboxlist name="skills2" 
	                        label="Skills 2" 
	                        list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }" 
	                        listKey="key" 
	                        listValue="value" 
	                        value="{ 1, 2, 3 }"/>
	        <s:token/>:保證一個請求只被執行一次
		 	1、在jsp中加入標簽 
		 		<s:token/>
			3、若用token在對應的action中加入攔截器,內容如下:
				<action name="Token" class="tutorial.CoolTagAction">
			            <interceptor-ref name="defaultStack" />
			            <interceptor-ref name="token" />
			            <result name="invalid.token">/token.jsp</result>                        
			            <result>/token.jsp</result>
			        </action>
		引入struts2的css及javaScript腳本
			< s:head />
		<s:datatimerpicker>:時間選擇器
			<s:datetimepicker name="birthday" label="Birthday" />:顯示時間
	        
	        兩個組合框,第一個組合框發生改變時,自動更新第二個組合框
	        	 1、代碼中直接構造集合
			   <s:doubleselect
			            tooltip="Choose Your State"
			            label="State"
			            name="region" list="{'North', 'South'}"
			            value="'South'"
			            doubleValue="'Florida'"
			            doubleList="top == 'North' ? {'Oregon', 'Washington'} : {'Texas', 'Florida'}" 
			            doubleName="state"
			            headerKey="-1"
			            headerValue="---------- Please Select ----------"
			            emptyOption="true" />
			 2、 取已有集合中的值

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频免费观看| 欧美美女一区二区| 欧美午夜电影网| 精品国产一区二区在线观看| 亚洲精品水蜜桃| 国产精品一线二线三线精华| 欧美私人免费视频| 国产精品理伦片| 韩国欧美国产一区| 3atv一区二区三区| 亚洲精品乱码久久久久久久久 | 亚洲综合av网| 丁香六月综合激情| 精品国产一区二区三区不卡| 日韩精品国产精品| 欧美在线观看一区二区| 亚洲激情在线激情| 91香蕉视频mp4| 欧美国产日韩亚洲一区| 国产精选一区二区三区| 日韩精品一区二区三区视频播放| 一区二区久久久久久| 一本大道av一区二区在线播放| 国产欧美一区二区在线| 国产一区二区三区免费播放| 精品成人在线观看| 激情欧美日韩一区二区| 日韩精品中文字幕在线不卡尤物| 丝瓜av网站精品一区二区| 欧美日韩和欧美的一区二区| 一区二区在线观看免费 | 欧美一区二区三区四区久久| 一区二区三区在线观看欧美| 在线视频你懂得一区| 亚洲综合色视频| 日本精品免费观看高清观看| 亚洲欧洲日产国产综合网| 337p日本欧洲亚洲大胆精品| 午夜精品福利一区二区三区av| 亚洲青青青在线视频| 日本韩国欧美一区| 欧美日韩小视频| 蜜臀91精品一区二区三区 | 一区二区免费视频| 久久精品在这里| 欧美人牲a欧美精品| 99久久99久久精品免费观看 | 五月天欧美精品| 国产精品久久久久影院色老大| 欧美一区二区国产| 在线免费不卡视频| 99国产精品久久久久久久久久久 | 成人综合婷婷国产精品久久免费| 午夜不卡av在线| 亚洲理论在线观看| 日韩一区在线免费观看| 久久精品视频网| 日韩欧美专区在线| 欧美精品一级二级三级| 色综合久久久久久久久| eeuss鲁片一区二区三区在线看| 国产在线国偷精品产拍免费yy| 日韩和的一区二区| 亚洲午夜精品网| 亚洲一区在线播放| 亚洲免费看黄网站| 亚洲欧洲中文日韩久久av乱码| 欧美国产一区视频在线观看| 久久久综合视频| 亚洲精品一线二线三线无人区| 日韩一级高清毛片| 日韩欧美国产一区二区在线播放 | 欧美无人高清视频在线观看| 色综合咪咪久久| 日本高清不卡在线观看| 99精品视频免费在线观看| 99久免费精品视频在线观看| 成人小视频免费在线观看| 成人免费观看视频| av不卡一区二区三区| 97久久精品人人澡人人爽| 色天天综合久久久久综合片| 欧美伊人久久久久久午夜久久久久| 91看片淫黄大片一级在线观看| 色综合天天在线| 欧美日韩一卡二卡| 欧美一区二区精品在线| 精品不卡在线视频| 久久精品综合网| 中文字幕在线不卡| 一区二区在线观看视频| 亚洲综合一二区| 日本成人中文字幕在线视频| 久色婷婷小香蕉久久| 国产黑丝在线一区二区三区| 北条麻妃一区二区三区| 91豆麻精品91久久久久久| 在线播放中文字幕一区| 久久亚洲精品小早川怜子| 国产女人水真多18毛片18精品视频 | 久久精品99久久久| 国产福利一区二区| 色综合久久久久| 欧美一级片在线| 国产蜜臀97一区二区三区| 伊人性伊人情综合网| 麻豆91精品91久久久的内涵| 成人av网址在线观看| 在线不卡中文字幕播放| 国产日本一区二区| 尤物视频一区二区| 国内一区二区在线| 日本久久精品电影| 精品三级在线观看| 一二三四区精品视频| 国产自产v一区二区三区c| 色天天综合色天天久久| 久久尤物电影视频在线观看| 亚洲猫色日本管| 激情综合色播五月| 色哟哟一区二区在线观看| 欧美tickling网站挠脚心| 中文字幕亚洲一区二区av在线 | 亚洲四区在线观看| 免费高清成人在线| 91美女在线视频| 精品日韩欧美一区二区| 亚洲精品国产第一综合99久久 | 欧美亚洲另类激情小说| 久久毛片高清国产| 视频一区在线视频| 91一区二区在线观看| 26uuu国产日韩综合| 亚洲无人区一区| 91丝袜美腿高跟国产极品老师| 久久先锋影音av| 日本91福利区| 欧美日韩在线不卡| 亚洲三级视频在线观看| 国产不卡视频一区| 久久中文娱乐网| 日本欧美久久久久免费播放网| 91黄视频在线观看| 国产精品麻豆视频| 国产精品羞羞答答xxdd| 欧美一级二级在线观看| 亚洲宅男天堂在线观看无病毒 | 欧美在线你懂得| 国产精品成人午夜| 国产一区二区三区久久久| 91精品国产欧美日韩| 亚洲成va人在线观看| 色婷婷狠狠综合| 亚洲三级小视频| 91麻豆国产精品久久| 国产精品久久久久一区二区三区共 | 久久婷婷一区二区三区| 蜜臀久久99精品久久久画质超高清| 欧美日韩成人综合| 一区二区三区四区激情| 国产成人午夜精品5599| 精品国产91久久久久久久妲己| 奇米色一区二区| 91精品国产欧美一区二区| 日韩国产高清在线| 欧美一区二区三区日韩视频| 日韩高清一级片| 欧美一区二区视频在线观看2020 | 色一区在线观看| 亚洲精品日产精品乱码不卡| 成人黄色网址在线观看| 1000精品久久久久久久久| 色屁屁一区二区| 亚洲黄色免费电影| 欧美精品三级在线观看| 日本vs亚洲vs韩国一区三区二区 | 欧美性三三影院| 亚洲成人av中文| 日韩免费观看高清完整版| 奇米精品一区二区三区四区 | 不卡的电影网站| 亚洲免费成人av| 欧美色电影在线| 免费成人在线观看| 久久精品视频一区二区三区| 成人app网站| 亚洲成人资源网| 日韩欧美一区二区在线视频| 国产麻豆精品一区二区| 中文av一区二区| 欧美性感一类影片在线播放| 喷水一区二区三区| 国产欧美va欧美不卡在线| 在线免费不卡电影| 麻豆成人在线观看| 国产精品成人午夜| 欧美一级一区二区| 北条麻妃一区二区三区| 日日骚欧美日韩| 国产女主播在线一区二区|