面試(一)

面試題(一)

一着茸、中文問題

  1. jsp頁面亂碼問題

    1) 瀏覽器編碼問題

    1. 頁面格式問題壮锻,jsp頁面有一個標簽 pageEncoding 是否是不支持中文的格式

    3)獲取get的請求參數(shù) 亂碼,tomcat 配置問題 結(jié)局方案:在tomcat的conf目錄下找到server.xml配置 URIEncoding="gb2312"

    4)post提交表單亂碼 post請求默認格式為:ISO-8859-1的編碼格式

  2. 數(shù)據(jù)庫訪問時的亂碼涮阔?

    講亂碼要分為三層猜绣,數(shù)據(jù)庫層的途事,tomcat層,web表示層

    1尸变、數(shù)據(jù)庫層的减俏,在數(shù)據(jù)存儲進去的時候就是亂碼,這種現(xiàn)象的原因是奏夫,字段編碼與存儲的數(shù)據(jù)不一致历筝,通常情況下只需要需改字段的編碼,若還不行的話麻削,就修改數(shù)據(jù)庫的編碼和表的編碼春弥。

    2、tomcat層 同上 獲取get的請求參數(shù) 亂碼扫责,tomcat 配置問題 結(jié)局方案:在tomcat的conf目錄下找到server.xml配置 URIEncoding="gb2312"

    3逃呼、web顯示層面,可以設置字符串過濾器苏揣。

  3. 對MVC的理解腿准,結(jié)合Struts2

    MVC 模式的結(jié)構(gòu)
    MVC 模式包括三個部分: 模型( Model) 、視圖( View) 和控制器( Controller) , 分別對應于內(nèi)部數(shù)據(jù)街望、數(shù)據(jù)表示和輸入輸出控制部分弟跑。M是分析員和設計師所面對的部 分, 是對問題的描述;V指 Application Model, 用來記錄存在 的視圖, 獲取視 圖信息和向視圖發(fā)送消息。

    3.1 模型( Mode l)
    模型是與問題相關(guān)數(shù)據(jù)的邏輯抽象, 代表對象的內(nèi)在屬性, 是整個模型的核心哎甲。它采用面向?qū)ο蟮姆椒? 將問 題領(lǐng) 域中的對象抽象為應用程序?qū)ο? 在這些抽象的對象中封裝了對象的屬性和這些對象所隱含的邏輯炭玫。模型的作用如下: ①抽象應用程序的功能, 封裝程序數(shù)據(jù)的結(jié)構(gòu)及其操作; ②向 Controller 提供對程序功能 的訪 問; ③接 受 View 的 數(shù)據(jù) 查詢 請 求; ④當數(shù)據(jù)有變化時當數(shù)據(jù)有變化時, 通知對此數(shù)據(jù)感興趣的 View貌虾。

    3.2 視圖( Vie w)

    它是用戶視圖模塊 。 它為用戶提供了輸入手段 ,并觸發(fā) Controller 運行 ,然后通過 Model 訪問企業(yè)數(shù)據(jù) ,并用某種方式來顯示這些數(shù)據(jù) 衔憨。 視圖是模型的外在表現(xiàn), 一個模型可以對應一個或者多個視圖, 如圖 形用戶 界面視 圖袄膏、命 令行視 圖、API 視圖; 或 按使 用者分類: 新用戶視圖码党、熟練用戶視圖等 .

    3.3 Controller

    它是流程控制模塊 悍及。 它管理著用戶與 View的交互 ,能從 View 中取得數(shù)據(jù)并傳給 Model 去執(zhí)行業(yè)務邏輯 ,然后它根據(jù) Model 的執(zhí)行結(jié)果 ,選擇一個合適的 View 把結(jié)果展現(xiàn)給用戶 。

  4. MVC的優(yōu)點
    4.1、可以為一個模型在運行時同時建立和使用多個視圖缺猛。變化-傳播機制可以確保所有相關(guān)的視圖及時得到模型數(shù)據(jù)變化,從而使所有關(guān)聯(lián)的視圖和控制器做到行為同步耻姥。
    4.2琐簇、視圖與控制器的可接插性,允許更換視圖和控制器對象似忧,而且可以根據(jù)需求動態(tài)的打開或關(guān)閉丈秩、甚至在運行期間進行對象替換。
    4.3饺著、模型的可移植性肠牲。因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作塑顺。需要做的只是在新平臺上對視圖和控制器進行新的修改俏险。
    4.4、潛在的框架結(jié)構(gòu)裤唠∮。可以基于此模型建立應用程序框架,不僅僅是用在設計界面的設計中航瞭。

4.MVC的缺點

? 4.1刊侯、復雜:增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復雜性锉走。對于簡單的界面,嚴格遵循MVC亭饵,使模型梁厉、視圖與控制器分離,會增加結(jié)構(gòu)的復雜性八秃,并可能產(chǎn)生過多的更新操作,降低運行效率山橄。
? 4.2、低獨立性:視圖與控制器間的過于緊密的連接航棱。視圖與控制器是相互分離萌衬,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在朴艰,其應用是很有限的祠墅,反之亦然歌径,這樣就妨礙了他們的獨立重用。
? 4.3狗准、低效率:視圖對模型數(shù)據(jù)的低效率訪問茵肃。依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)捞附。對未變化數(shù)據(jù)的不必要的頻繁訪問胚膊,也將損害操作性能。
? 4.4、高代價:目前喻犁,一般高級的界面工具或構(gòu)造器不支持模式。改造這些工具以適應MVC需要和建立分離的部件的代價是很高的还栓,從而造成MVC使用的困難传轰。

5.Struts2中的MVC

1.FilterDispatcher--------控制層
用戶請求首先到達Struts2中的FilterDispatcher。FilterDispatcher負責根據(jù)用戶提交的URL和struts.xml中的配置辽聊,來選擇合適的動作(Action)期贫,讓這個Action來處理用戶的請求。

? FilterDispatcher其實是一個過濾器Filter(Servlet規(guī)范中的一種Web組件)玛臂,它是Struts2核心包里已經(jīng)做好的類封孙,不需要程序員去開發(fā)迹冤,是需要在項目的web.xml文件中配置一下即可虎忌。FilterDispatcher體現(xiàn)了J2EE核心設計模式中的前端控制器模式。

2.Action--------模型層
Action負責把用戶請求中的參數(shù)組裝成合適的參數(shù)模型锋勺,并調(diào)用相應的業(yè)務邏輯進行真正的功能處理,然后產(chǎn)生下一個視圖展示所需要的數(shù)據(jù)庶橱。最后得到下一個視圖所需要的信息贪惹,并傳遞給控制層中的攔截器鏈奏瞬。

3.Result--------視圖層

? 視圖層主要用來與用戶交互,它將從控制層得到的數(shù)據(jù)通過適合的展示方式展現(xiàn)給用戶并淋,讓用戶與之交互更加簡潔簡單珍昨。在Struts2中句喷,除了大眾熟知的JSP方式唾琼,還有freemarker澎剥、velocity等各種優(yōu)秀的展示方式。

二祭饭、什么是典型的軟件三層結(jié)構(gòu)蜻懦?軟件設計為什么要分層?軟件分層有什么好處悠咱?

軟件三層架構(gòu):

常意義上的三層架構(gòu)就是將整個業(yè)務應用劃分為:界面層(User Interface layer)析既、業(yè)務邏輯層(Business Logic Layer)谆奥、數(shù)據(jù)訪問層(Data access layer)。

軟件分層的好處:

1宰译、開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的其中某一層魄懂;

2、可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn)缀拭;

3填帽、可以降低層與層之間的依賴;

4褐荷、有利于標準化嘹悼;

5葵第、利于各層邏輯的復用合溺。

6棠赛、結(jié)構(gòu)更加的明確

7膛腐、在后期維護的時候,極大地降低了維護成本和維護時間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辩涝,一起剝皮案震驚了整個濱河市勘天,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脯丝,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晕拆,死亡現(xiàn)場離奇詭異实幕,居然都是意外死亡堤器,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門凰锡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掂为,“玉大人员串,你說我怎么就攤上這事〈缙耄” “怎么了抄谐?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵蛹含,是天一觀的道長浦箱。 經(jīng)常有香客問我祠锣,道長,這世上最難降的妖魔是什么蓬推? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任沸伏,我火速辦了婚禮蛋铆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刺啦。我一直安慰自己,他們只是感情好蜕青,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布右核。 她就那樣靜靜地躺著贺喝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躏鱼。 梳的紋絲不亂的頭發(fā)上殷绍,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天主到,我揣著相機與錄音躯概,去河邊找鬼畔师。 笑死,一個胖子當著我的面吹牛固蛾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼懂傀,長吁一口氣:“原來是場噩夢啊……” “哼蜡感!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起郑兴,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤情连,失蹤者是張志新(化名)和其女友劉穎却舀,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挽拔,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡螃诅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年术裸,在試婚紗的時候發(fā)現(xiàn)自己被綠了倘是。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辨绊。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡门坷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出默蚌,到底是詐尸還是另有隱情,我是刑警寧澤鼻弧,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布攘轩,位于F島的核電站码俩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏笨篷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袖迎。 院中可真熱鬧,春花似錦瓢棒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至窟感,卻和暖如春歉井,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躏嚎。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工卢佣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戈鲁。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓婆殿,卻偏偏與公主長得像鸣皂,于是被迫代替她去往敵國和親暮蹂。 傳聞我的和親對象是個殘疾皇子仰泻,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ? 深拷貝同淺拷貝的區(qū)別:淺拷貝是指針拷貝集侯,對一個對象進行淺拷貝棠枉,相當于對指向?qū)ο蟮闹羔樳M行復制泡挺,產(chǎn)生一個新的指向...
    WSGNSLog閱讀 1,254評論 0 1
  • 父類實現(xiàn)深拷貝時娄猫,子類如何實現(xiàn)深度拷貝。父類沒有實現(xiàn)深拷貝時媳溺,子類如何實現(xiàn)深度拷貝。? 深拷貝同淺拷貝的區(qū)別:淺拷...
    JonesCxy閱讀 1,004評論 1 7
  • Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言。Java 技術(shù)具有卓越的通用性、高效性倍啥、平臺移植性和...
    Java小辰閱讀 1,084評論 0 14
  • spring mvc 工作機制(原理): DispatcherServlet主要用作職責調(diào)度工作逗栽,本身主要用于控制...
    java大濕兄閱讀 1,896評論 5 24
  • 書名:誰拿走了孩子的幸福 作者:李躍兒 ⑴賦予孩子堅強的品質(zhì)弟塞。 我們都知道一個從小得到充分愛的孩子凭峡,長大以后面對困...
    如履平地不是薄冰閱讀 236評論 0 0