版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JAVA常用面試題總結(jié)一、SpringMVC運(yùn)行原理SpringMVC運(yùn)行原理.客戶端懇求提交到DispatcherServlet.由DispatcherServlet限制器查詢一個(gè)或多個(gè)HandlerMapping,找到處理懇求的Controller.DispatcherServlet將懇求提交到Controller.Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView.DispatcherServlet查詢一個(gè)或多個(gè)ViewResoler視圖解析器,找至【JModelAndView指定的視圖.視圖負(fù)責(zé)將結(jié)果顯示到客戶端相關(guān)接口說明DispatcherServlet接口:Spring供應(yīng)的前端限制器,全部的懇求都有經(jīng)過它來(lái)統(tǒng)一分發(fā)。在DispatcherServlet將懇求分發(fā)給SpringController之前,須要借助于Spring供應(yīng)的HandlerMapping定位到具體的ControlleroHandlerMapping接口:能夠完成客戶懇求到Controller映射。Controller接口:須要為并發(fā)用戶處理上述懇求,因此實(shí)現(xiàn)Controller接口時(shí),必需保證線程平安并且可重用。Controller將處理用戶懇求,這和StrutsAction扮演的角色是一樣的。一旦Controller處理完用戶懇求,則返回ModelAndView對(duì)象給DispatcherServlet前端限制器,ModelAndView中包含了模型(Model)和視圖(View)o從宏觀角度考慮,DispatcherServlet是整個(gè)Web應(yīng)用的限制器;從微觀考慮,Controller是單個(gè)Http懇求處理過程中的限制器,而ModelAndView是Http懇求過程中返回的模型(Model)和視圖(View)oViewResolver接口:Spring供應(yīng)的視圖解析器(ViewResolver)在Web應(yīng)用中查找View對(duì)象,從而將相應(yīng)結(jié)果渲染給客戶。DispatcherServlet是整個(gè)SpringMVC的核心。它負(fù)責(zé)接收HTTP懇求組織協(xié)調(diào)SpringMVC的各個(gè)組成部分。其主要工作有以下三項(xiàng):.截獲符合特定格式的URL懇求。.初始化DispatcherServlet上下文對(duì)應(yīng)的WebApplicationContext,并將其及業(yè)務(wù)層、長(zhǎng)久化層的WebApplicationContext建立關(guān)聯(lián)。.初始化SpringMVC的各個(gè)組成組件,并裝配到DispatcherServlet中。二、spring框架spring是J2EE應(yīng)用程序框架,是輕量級(jí)的loC和AOP的容器框架,主要是針對(duì)javaBean的生命周期進(jìn)行管理的輕量級(jí)容器,可以單獨(dú)運(yùn)用,也可以和Struts框架,ibatis框架等組合運(yùn)用。l)loC(lnversionofControl)限制反轉(zhuǎn),對(duì)象創(chuàng)建責(zé)任的反轉(zhuǎn),在spring中BeanFacotory是loC容器的核心接口,負(fù)責(zé)實(shí)例化,定位,配置應(yīng)用程序中的對(duì)象及建立這些對(duì)象":赳曲榜次報(bào)”貼雄中e;麻£冬“跳,Ca(桐:如癡岫舐班阿&,倒秘儲(chǔ)加可行:加命力/你/的」勃,以”3,伽弓£;眄*臊觸":赳曲榜次報(bào)”貼雄中e;麻£冬“跳,Ca(桐:如癡岫舐班阿&,倒秘儲(chǔ)加可行:加命力/你/的」勃,以”3,伽弓£;眄*臊觸例MIV8ch.。然馀褊w攤心湃%、\echo"幽"7a.憂m^4.2刀工- -一….“〃做,小綠W婚無(wú)棒現(xiàn)切.加1伽修〃4sMz-馬C也秘,號(hào)以必察必?cái)②A歐嘏4d場(chǎng)&圾勿4傍仍〃力蜘&伴姐以,用醒氣戰(zhàn)姆一-2便夕”■秘胸闋夕?四奶Z而俗的I山L”娜械-叫施無(wú)2,如上2版協(xié))呵羸1M彼妙心 ""仇_£〃〃名人"柒極”毆莪間的依靠。XmlBeanFacotory實(shí)現(xiàn)BeanFactory接口,通過獲得xml配置文件數(shù)據(jù),組成應(yīng)用對(duì)象及對(duì)象間的依靠關(guān)系。spring中有三種注入方式,一種是set注入,一種是接口注入,另一種是構(gòu)造方法注入。2)AOP面對(duì)切面編程aop就是縱向的編程,如下圖所示,業(yè)務(wù)1和業(yè)務(wù)2都須要一個(gè)共同的操作,及其往每個(gè)業(yè)務(wù)中都添加同樣的代碼,不如寫一遍代碼,讓兩個(gè)業(yè)務(wù)共同運(yùn)用這段代碼。spring中面對(duì)切面變成的實(shí)現(xiàn)有兩種方式,一種是動(dòng)態(tài)代理,一種是CGLIB,動(dòng)態(tài)代理必須要供應(yīng)接口,而CGLIB實(shí)現(xiàn)是有繼承??蚣軆?yōu)點(diǎn)輕量級(jí)的容器框架沒有侵入性運(yùn)用loC容器更加簡(jiǎn)潔組合對(duì)象干脆間關(guān)系,面對(duì)接口編程,降低耦合Aop可以更加簡(jiǎn)潔的進(jìn)行功能擴(kuò)展,遵循。cp開發(fā)原則創(chuàng)建對(duì)象默認(rèn)是單例的,不須要再運(yùn)用單例模式進(jìn)行處理5,缺點(diǎn):業(yè)務(wù)功能依靠spring特有的功能,依靠及spring環(huán)境。三、常用的設(shè)計(jì)模式L單例模式(有的書上說叫單態(tài)模式其實(shí)都一樣)該模式主要目的是使內(nèi)存中保持1個(gè)對(duì)象。.工廠模式該模式主要功能是統(tǒng)一供應(yīng)實(shí)例對(duì)象的引用。.門面模式這個(gè)模式個(gè)人感覺像是Service層的一個(gè)翻版。比如Dao我們定義了許多長(zhǎng)久化方法,我們通過Service層將Dao的原子方法組成業(yè)務(wù)邏輯,再通過方法向上層供應(yīng)服務(wù)。門面模式道理其實(shí)是一樣的。.策略模式這個(gè)模式是將行為的抽象,即當(dāng)有幾個(gè)類有相像的方法,將其中通用的部分都提取出來(lái),從而使擴(kuò)展更簡(jiǎn)潔。四、Hibernate及MyBatis的對(duì)比總結(jié)兩者相同點(diǎn)Hibernate及MyBatis都可以是通過SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory生成Session,最終由Session來(lái)開啟執(zhí)行事務(wù)和SQL語(yǔ)句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。Hibernate和MyBatis都支持JDBC和JTA事務(wù)處理。Mybatis優(yōu)勢(shì)MyBatis可以進(jìn)行更為細(xì)致的SQL優(yōu)化,可以削減查詢字段。MyBatis簡(jiǎn)潔駕馭,而Hibernate門檻較高。Hibernate優(yōu)勢(shì)Hibernate的DAO層開發(fā)比MyBatis簡(jiǎn)潔,Mybatis須要維護(hù)SQL和結(jié)果映射。Hibernate對(duì)對(duì)象的維護(hù)和緩存要比MyBatis好,對(duì)增刪改查的對(duì)象的維護(hù)要便利。Hibernate數(shù)據(jù)庫(kù)移植性很好,MyBatis的數(shù)據(jù)庫(kù)移植性不好,不同的數(shù)據(jù)庫(kù)須要寫不同SQL。Hibernate有更好的二級(jí)緩存機(jī)制,可以運(yùn)用第三方緩存。MyBatis本身供應(yīng)的緩存機(jī)制不佳。以下為具體介紹:Hibernate是當(dāng)前最流行的0/Rmapping框架,它出身于,現(xiàn)在已經(jīng)成為Jboss的一部分。Mybatis是另外一種優(yōu)秀的O/Rmapping框架。目前屬于apache的一個(gè)子項(xiàng)目。.Hibernate對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)供應(yīng)了較為完整的封裝,Hibernate的0/RMapping實(shí)現(xiàn)了POJO和數(shù)據(jù)庫(kù)表之間的映射,以及SQL的自動(dòng)生成和執(zhí)行。程序員往往只需定義好了POJO到數(shù)據(jù)庫(kù)表的映射關(guān)系,即可通過Hibernate供應(yīng)的方法完成長(zhǎng)久層操作。程序員甚至不須要對(duì)SQL的嫻熟駕馭,Hibernate/OJB會(huì)依據(jù)制定的存儲(chǔ)邏輯,自動(dòng)生成對(duì)應(yīng)的SQL并調(diào)用JDBC接口加以執(zhí)行。2JBATIS的著力點(diǎn),則在于P60及SQL之間的映射關(guān)系。然后通過映射配置文件,將SQL所需的參數(shù),以及返回的結(jié)果字段映射到指定P0〕。。相對(duì)Hibernate“0/R”而言,iBATIS是一種“SqlMapping**的ORM實(shí)現(xiàn)。.開發(fā)速度Hibernate的真正駕馭要比Mybatis來(lái)得難些。Mybatis框架相對(duì)簡(jiǎn)潔很簡(jiǎn)潔上手,但也相對(duì)簡(jiǎn)陋些。個(gè)人覺得要用好Mybatis還是首先要先理解好Hibernate。.開發(fā)社區(qū)Hibernate及Mybatis都是流行的長(zhǎng)久層開發(fā)框架,但Hibernate開發(fā)社區(qū)相對(duì)多喧鬧些,支持的工具也多,更新也快,當(dāng)前最高版本。而Mybatis相對(duì)安靜,工具較少,當(dāng)前最高版本3.2。.開發(fā)工作量Hibernate和MyBatis都有相應(yīng)的代碼生成工具??梢陨珊?jiǎn)潔基本的DAO層方法。針對(duì)高級(jí)查詢,Mybatis須要手動(dòng)編寫SQL語(yǔ)句,以及ResultMapo而Hibernate有良好的映射機(jī)制,開發(fā)者無(wú)需關(guān)切SQL的生成及結(jié)果映射,可以更專注于業(yè)務(wù)流程。.系統(tǒng)調(diào)優(yōu)對(duì)比Hibernate的調(diào)優(yōu)方案制定合理的緩存策略;盡量運(yùn)用延遲加載特性;采納合理的Session管理機(jī)制;運(yùn)用批量抓取,設(shè)定合理的批處理參數(shù)(batch.size);進(jìn)行合理的O/R映射設(shè)計(jì)Mybatis調(diào)優(yōu)方案MyBatis在Session方面和Hibernate的Session生命周期是一樣的,同樣須要合理的Session管理機(jī)制。MyBatis同樣具有二級(jí)緩存機(jī)制。MyBatis可以進(jìn)行具體的SQL優(yōu)化設(shè)計(jì)。.SQL優(yōu)化方面Hibernate的查詢會(huì)將表中的全部字段查詢出來(lái),這一點(diǎn)會(huì)有性能消耗。Hibernate也可以自己寫SQL來(lái)指定須要查詢的字段,但這樣就破壞了Hibernate開發(fā)的簡(jiǎn)潔性。而Mybatis的SQL是手動(dòng)編寫的,所以可以按需求指定查詢的字段。HibernateHQL語(yǔ)句的調(diào)優(yōu)須要將SQL打印出來(lái),而Hibernate的SQL被許多人嫌棄因?yàn)樘罅?。MyBatis的SQL是自己手動(dòng)寫的所以調(diào)整便利。但Hibernate具有自己的日志統(tǒng)計(jì)。Mybatis本身不帶日志統(tǒng)計(jì),運(yùn)用Log4j進(jìn)行日志記錄。.擴(kuò)展性方面Hibernate及具體數(shù)據(jù)庫(kù)的關(guān)聯(lián)只需在XML文件中配置即可,全部的HQL語(yǔ)句及具體運(yùn)用的數(shù)據(jù)庫(kù)無(wú)關(guān),移植性很好。MyBatis項(xiàng)目中全部的SQL語(yǔ)句都是依靠所用的數(shù)據(jù)庫(kù)的,所以不同數(shù)據(jù)庫(kù)類型的支持不好。.對(duì)象管理及抓取策略Hibernate是完整的對(duì)象/關(guān)系映射解決方案,它供應(yīng)了對(duì)象狀態(tài)管理(statemanagement)的功能,使開發(fā)者不再須要理睬底層數(shù)據(jù)庫(kù)系統(tǒng)的細(xì)微環(huán)節(jié)。也就是說,相對(duì)于常見的JDBC/SQL長(zhǎng)久層方案中須要管理SQL語(yǔ)句,Hibernate采納了更自然的面對(duì)對(duì)象的視角來(lái)長(zhǎng)久化Java應(yīng)用中的數(shù)據(jù)。換句話說,運(yùn)用Hibernate的開發(fā)者應(yīng)當(dāng)總是關(guān)注對(duì)象的狀態(tài)(state),不必考慮SQL語(yǔ)句的執(zhí)行。這部分細(xì)微環(huán)節(jié)已經(jīng)由Hibernate掌管妥當(dāng),只有開發(fā)者在進(jìn)行系統(tǒng)性能調(diào)優(yōu)的時(shí)候才須要進(jìn)行了解。而MyBatis在這一塊沒有文檔說明,用戶須要對(duì)對(duì)象自己進(jìn)行具體的管理。抓取策略Hibernate對(duì)實(shí)體關(guān)聯(lián)對(duì)象的抓取有著良好的機(jī)制。對(duì)于每一個(gè)關(guān)聯(lián)關(guān)系都可以具體地設(shè)置是否延遲加載,并且供應(yīng)關(guān)聯(lián)抓取、查詢抓取、子查詢抓取、批量抓取四種模式。它是具體配置和處理的。而Mybatis的延遲加載是全局配置的。10緩存機(jī)制對(duì)比Hibernate緩存Hibernate一級(jí)緩存是Session緩存,利用好一級(jí)緩存就須要對(duì)Session的生命周期進(jìn)行管理好。建議在一個(gè)Action操作中運(yùn)用一個(gè)Session。一級(jí)緩存須要對(duì)Session進(jìn)行嚴(yán)格管理。Hibernate二級(jí)緩存是SessionFactory級(jí)的緩存。SessionFactory的緩存分為內(nèi)置緩存和外置緩存。內(nèi)置緩存中存放的是SessionFactory對(duì)象的一些集合屬性包含的數(shù)據(jù)(映射元素?fù)?jù)及預(yù)定SQL語(yǔ)句等),對(duì)于應(yīng)用程序來(lái)說,它是只讀的。外置緩存中存放的是數(shù)據(jù)庫(kù)數(shù)據(jù)的副本,其作用和一級(jí)緩存類似.二級(jí)緩存除了以內(nèi)存作為存儲(chǔ)介質(zhì)外,還可以選用硬盤等外部存儲(chǔ)設(shè)備。二級(jí)緩存稱為進(jìn)程級(jí)緩存或SessionFactory級(jí)緩存,它可以被全部session共享,它的生命周期伴隨著SessionFactory的生命周期存在和消亡。MyBatis緩存MyBatis包含一個(gè)特別強(qiáng)大的查詢緩存特性,它可以特別便利地配置和定制。MyBatis3中的緩存實(shí)現(xiàn)的許多改進(jìn)都已經(jīng)實(shí)現(xiàn)了,使得它更加強(qiáng)大而且易于配置。默認(rèn)狀況下是沒有開啟緩存的,除了局部的session緩存可以增加變現(xiàn)而且處理循環(huán)依靠也是必需的。要開啟二級(jí)緩存你須要在你的SQL映射文件中添加一行:<cache/>相同點(diǎn)Hibernate和Mybatis的二級(jí)緩存除了采納系統(tǒng)默認(rèn)的緩存機(jī)制外,都可以通過實(shí)現(xiàn)你自己的緩存或?yàn)槠渌谌骄彺娣桨?,?chuàng)建適配器來(lái)完全覆蓋緩存行為。不同點(diǎn)Hibernate的二級(jí)緩存配置在SessionFactory生成的配置文件中進(jìn)行具體配置,然后再在具體的表-對(duì)象映射中配置是哪種緩存。MyBatis的二級(jí)緩存配置都是在每個(gè)具體的表-對(duì)象映射中進(jìn)行具體配置,這樣針對(duì)不同的表可以自定義不同的緩存機(jī)制。并且Mybatis可以在命名空間中共享相同的緩存配置和實(shí)例,通過Cache-ref來(lái)實(shí)現(xiàn)。兩者比較因?yàn)镠ibernate對(duì)查詢對(duì)象有著良好的管理機(jī)制,用戶無(wú)需關(guān)切SQL。所以在運(yùn)用二級(jí)緩存時(shí)假如出現(xiàn)臟數(shù)據(jù),系統(tǒng)會(huì)報(bào)出錯(cuò)誤并提示。而MyBatis在這一方面,運(yùn)用二級(jí)緩存時(shí)須要特殊當(dāng)心。假如不能完全確定數(shù)據(jù)更新操作的波及范圍,避開Cache的盲目運(yùn)用。否則,臟數(shù)據(jù)的出現(xiàn)會(huì)給系統(tǒng)的正常運(yùn)行帶來(lái)很大的隱患。五、EJB的幾種類型會(huì)話(Session)Bean,實(shí)體(Entity)Bean消息驅(qū)動(dòng)的(MessageDriven)Bean會(huì)話Bean又可分為有狀態(tài)(Stateful)和無(wú)狀態(tài)(Stateless)兩種實(shí)體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種-Ejb的組成標(biāo)準(zhǔn)的Ejb至少由三個(gè)部分組成:Local接口,Remote接口以及Ejblnstanceo二Local接口.Local接口,稱為Home接口,繼,承接基類.從Ejb2.0起先出現(xiàn)的新的接口,本質(zhì)上是JavaRMI接口..對(duì)于Local接口的運(yùn)用,只能在本地運(yùn)用。它列出了全部定位/創(chuàng)建/刪除Ejb實(shí)例的方法。.定義local接口的方法:1)在Ejb文件中定義:@Local(value={lnterface1,interface?,..})2)在Ejb文件中定義:@Local(lnterface1,lnterface2,..)3)在Interface文件中定義@Local三Remote接口.Remote接口列出Ejb類的業(yè)務(wù)邏輯方法。集成基類javax.ejb.Remote.本質(zhì)上是JavaRMI接口..定義local接口的方法:1)在Ejb文件中定義:@Remote(value={lnterface1,interface?,..})2)在Ejb文件中定義:@Remote(Interface1,lnterface2,..)3)在Interface文件中定義@Remote六、java線程有幾種狀態(tài)在java中,線程通常有五種狀態(tài),創(chuàng)建,就緒,運(yùn)行、堵塞和死亡狀態(tài)。第一是創(chuàng)建狀態(tài)。在生成線程對(duì)象,并沒有調(diào)用該對(duì)象的start方法,這是線程處于創(chuàng)建狀態(tài)。其次是就緒狀態(tài)。當(dāng)調(diào)用了線程對(duì)象的start方法之后,該線程就進(jìn)入了就緒狀態(tài),但是此時(shí)線程調(diào)度程序還沒有把該線程設(shè)置為當(dāng)前線程,此時(shí)處于就緒狀態(tài)。在線程運(yùn)行之后,從等待或者睡眠中回來(lái)之后,也會(huì)處于就緒狀態(tài)。第三是運(yùn)行狀態(tài)。線程調(diào)度程序?qū)⑻幱诰途w狀態(tài)的線程設(shè)置為當(dāng)前線程,此時(shí)線程就進(jìn)入了運(yùn)行狀態(tài),起先運(yùn)行run函數(shù)當(dāng)中的代碼。第四是堵塞狀態(tài)。線程正在運(yùn)行的時(shí)候,被暫停,通常是為了等待某個(gè)時(shí)間的發(fā)生(比如說某項(xiàng)資源就緒)之后再接著運(yùn)行。sleep,suspend,wait等方法都可以導(dǎo)致線程堵塞。第五是死亡狀態(tài)。假如一個(gè)線程的run方法執(zhí)行結(jié)束或者調(diào)用stop方法后,該線程就會(huì)死亡。對(duì)于已經(jīng)死亡的線程,無(wú)法再運(yùn)用start方法令其進(jìn)入就緒。七、進(jìn)程和線程的區(qū)分定義1、進(jìn)程是什么?是具有肯定獨(dú)立功能的程序、它是系統(tǒng)進(jìn)行資源安排和調(diào)度的一個(gè)獨(dú)立單位,重點(diǎn)在系統(tǒng)調(diào)度和單獨(dú)的單位,也就是說進(jìn)程是可以獨(dú)立運(yùn)行的一段程序。2、線程又是什么?線程進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,他是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位,線程自己基本上不擁有系統(tǒng)資源。在運(yùn)行時(shí),只是暫用一些計(jì)數(shù)器、寄存器和棧。關(guān)系1、一個(gè)線程只能屬于一個(gè)進(jìn)程,而一個(gè)進(jìn)程可以有多個(gè)線程,但至少有一個(gè)線程(通常說的主線程)。2、資源安排給進(jìn)程,同一進(jìn)程的全部線程共享該進(jìn)程的全部資源。3、線程在執(zhí)行過程中,須要協(xié)作同步。不同進(jìn)程的線程間要利用消息通信的方法實(shí)現(xiàn)同步。4、處理機(jī)分給線程,即真正在處理機(jī)上運(yùn)行的是線程。5、線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體。區(qū)分1、調(diào)度:線程作為調(diào)度和安排的基本單位,進(jìn)程作為擁有資源的基本單位。2、并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行,同一個(gè)進(jìn)程的多個(gè)線程之間也可以并發(fā)執(zhí)行。3、擁有資源:進(jìn)程是擁有資源的一個(gè)獨(dú)立單位,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進(jìn)程的資源。八、Hibernate事物隔離級(jí)別.原子性(atomic),事務(wù)必需是原子工作單元;對(duì)于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行.一樣性(consistent),事務(wù)在完成時(shí),必需使全部的數(shù)據(jù)都保持一樣狀態(tài)。.隔離性(insulation),由并發(fā)事務(wù)所作的修改必需及任何其它并發(fā)事務(wù)所作的修改隔離。.長(zhǎng)久性(Duration),事務(wù)完成之后,它對(duì)于系統(tǒng)的影響是永久性的。數(shù)據(jù)庫(kù)事務(wù)隔離級(jí)別為了解決數(shù)據(jù)庫(kù)事務(wù)并發(fā)運(yùn)行時(shí)的各種問題數(shù)據(jù)庫(kù)系統(tǒng)供應(yīng)四種事務(wù)隔離級(jí)別:Serializable串行化RepeatableRead可重復(fù)讀ReadCommited可讀已提交ReadUncommited可讀未提交九、數(shù)據(jù)庫(kù)樹查詢SQLselectdistinctt.child_team_idteamjdfromorg_team_rtstartwitht.parent_team_idinteamldsconnectbypriort.child_teamjd=t.parent_team_id分組排序查詢第一條記錄selectproductjdproductjd,costcost_pricefrom(selectJd,ductJd,ic.cost,ic.start_time,ic.end_time,ic.purchase_time,row_number()over(partitionbyjd,ductjdorderbyic.start_timedesc,ic.purchase_timedesc)rnfrominventory_costic)wherern=1十、SpringMVC常用關(guān)鍵字事務(wù)@Transactional(propagation=Propagation.NESTED,rollbackFor=Exception.class)Controller//@RestController?Controller@RequestMapping(value="/service/bpmControl")publicclassBpmContorlextendsBpmBaseControl{@RequestMapping(value='7myTaskDetail/{instanceld)")public@ResponseBodyStringmyTaskDetail(@PathVariableStringinstanceld,RedirectAttributesredirectAttributes){returnnull;}@RequestMapping(value={7addPurchaseData.htm"},method={RequestMethod.POST})public@ResponseBodyObjectdataSaveApply(@ModelAttributePurchasepurchase){returnnull;)}十一、JSP的7個(gè)動(dòng)作指令forwardsinclude、useBean、setProperty、getPropertyxplugin、param十二、JSP腳本中的9個(gè)內(nèi)置對(duì)象Application、Config、ExceptionsOut、page、pageContext、Request、responsexsession十三、html中post和get區(qū)分get是從服務(wù)器上獲得數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到。post是通過HTTPpost機(jī)制,將表單內(nèi)各個(gè)字段及其內(nèi)容放置在HTMLHEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個(gè)過程。對(duì)于get方式,服務(wù)器端用Request.QueryString獲得變量的直對(duì)于post方式,服務(wù)器端用Request.Form獲得提交的數(shù)據(jù)。get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)窗環(huán)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)手提式計(jì)價(jià)電子秤行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)黑梅數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)鄰氟氰芐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)蒸氣噴霧式電烘爐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)氧化蓖麻油數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)不銹鋼彩框推拉防護(hù)窗數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)直錐型多功能提取罐市場(chǎng)調(diào)查研究報(bào)告
- 二零二五年度存量房買賣稅費(fèi)承擔(dān)協(xié)議3篇
- 二零二五年度資產(chǎn)抵押合同協(xié)議書含房地產(chǎn)投資合作
- 《榜樣9》觀后感心得體會(huì)四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識(shí)》備考題庫(kù)(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測(cè)卷(一)試題和答案
- 2025四川中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營(yíng)銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國(guó)蛋糕行業(yè)市場(chǎng)規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 潤(rùn)滑油過濾培訓(xùn)
- 護(hù)理組長(zhǎng)年底述職報(bào)告
- 浙江省紹興市2023-2024學(xué)年高一上學(xué)期期末考試物理試題(含答案)
- 2013年6月22日下午湖北省公務(wù)員國(guó)家安全局面試真題
評(píng)論
0/150
提交評(píng)論