軟件工程答辯常見問題總結_第1頁
軟件工程答辯常見問題總結_第2頁
軟件工程答辯常見問題總結_第3頁
軟件工程答辯常見問題總結_第4頁
軟件工程答辯常見問題總結_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. 我們正常寫完一個JAVA文件都需要自動編譯一下,這是為什么?因為我們運行程序的時候用到的不是 java 程序而是 class 程序 . tomcat 讀的是 java 文件還是什么?是 class 文件 不是 java 程序2. 鏈接 sqlserver 的一般端口是什么?1433還有其他的端口么? tomcat 的 8080 端口3. 在 java 項目開發(fā)當作,你一般是怎么調試程序的? sqlserver 數(shù)據(jù)庫的還原 以及備份?利用 debug 調試程序 .4. 如果我要給頁面加過濾器控制亂碼,我應該怎么做?近來在調試 Jsp 文件問題時 , 中文亂碼現(xiàn)象經常遇到 , 現(xiàn)將處理方法

2、總結一下 ,供 大家參考 : .Jsp文件頁面顯示亂碼,這種情況比較好處理,在頁面的Page指令加上如下一 項就0K了:<% page contentType="text/html; charset=gb2312"%> Jsp頁面采用表單提交時,提交的數(shù)據(jù)中含有中文,這時我們獲取表單數(shù)據(jù)后 展示到其它頁面時也會出現(xiàn)亂碼 , 解決方案是在提交處理的 Servlet 里接收數(shù)據(jù) 時,先加上如下一行代碼 :request.setCharacterEncoding("gb2312");這是其中的一種作法 , 當頁面較少時還好 , 如果頁面較多 , 我

3、每添加新的頁面就要 加上這句話 , 所以可以采用過濾器來解決 , 具體解決步驟如下 :首先寫一個過濾器類 , 代碼如下 :package demo;import java.io.I0Exception;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletRe

4、sponse;public class SetCharacterEncodingFilter implements Filter public void destroy() public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)throws I0Exception, ServletException request.setCharacterE ncod in g("gbk");/傳遞控制到下一個過濾器cha in. doFilter(request, r

5、esp on se);public voidin it(FilterC onfigfilterC on fig)throwsServletExcepti on 然后在web.xml文件中添加如下代碼:<filter><!-為過濾器起個名字->vfilter- name>Set Character En cod in gv/filter- name><!-過濾器類的包名.類名-><filter-class>demo.SetCharacterE ncodi ngFilter</filter-class></filter&

6、gt;vfilter-mapp ing>vfilter- name>Set Character En cod in gv/filter- name><!-匹配所有的請求-><url-pattern>/*</url-pattern>v/filter-mappi ng>這樣所有的請求都將交由這個過濾器處理下,這樣無論我們添加多少個頁面都可 以放心了,不用總考慮要加那么一句代碼了. .在存取數(shù)據(jù)庫時發(fā)生亂碼現(xiàn)象,這種現(xiàn)象比較郁悶,處理起來相對復雜一點. 首先要在數(shù)據(jù)存入數(shù)據(jù)庫時,進行如下編碼的轉換:如我們要把含有中文的字符 串存入數(shù)據(jù)庫,首

7、先:Stri ng s=request.getParameter("author");Stri ng author= newStrin g(s.getBytes("ISO8859_1"),"gb2312");在從數(shù)據(jù)庫取出展示到頁面時,也要經過如下轉換:Stri ngs=rs.getStri ng("author");Stringauthor =newStri ng(s.getBytes("GB2312"),"ISO8859_1");以上是我總結的對三種Jsp文件中文亂碼的處

8、理方法,希望對大家有所幫助.5. 在數(shù)據(jù)庫定義字段的時候,可以選擇char還有varchar,你一般選擇什么,為什么?選擇varchar,因為varchar是可變長的字符型,而char是定長的5.為什么要用struts自身帶的text框,它與HTM啲有什么區(qū)別?在jsp中<html:text> 經java解釋后就變成了 <input type="text"> 兩者是等價 的 在jsp頁面中之所以要用 <html:text> 是因為struts 結構中許要在 actionform 中直接根據(jù)<html:text> 中的屬性pop

9、erty 與actionform 中的字段 一一對應取值 不許要普通<input>采用ruquest.getP*() 來去值怎么導入現(xiàn)有的數(shù)據(jù)庫,它的備份為*.bak 還原數(shù)據(jù)庫或者附加數(shù)據(jù)6. 在中文編程中,你使用的服務器是TOMCAT如果出現(xiàn)亂碼,你是怎么解決的? 方法一:更改頁面字符集方法二:在tomcat 的server.xml 中更改字符集JAVA連接sqlserver需要哪些jar包? mssqlserver.jar7. 如果我要實現(xiàn)上傳圖片,然后再另一個頁面顯示,我應該怎么做?應該把上傳的圖片輸出到服務器下面的某一個文件夾,這樣可以保證本機圖片刪除以后任何頁面都可以訪

10、問并且顯示.安裝sqlserver時,經常會出現(xiàn)安裝問題,例如會出現(xiàn)說“某某文件被掛起, 安裝運行程序之前請重新啟動計算機”,你是否也遇見過這樣的問題? 遇到過,只要把暴風影音或者網絡電視卸載就可以解決.8. 如果我要從配置文件中讀取中文漢字,顯示到JSP頁面上?如果出現(xiàn)亂碼我應該怎么處理?str.getBytes("iso8859_1"), "gb2312");怎么去更改sqlserver 的字符集?可以用下面語句改變數(shù)據(jù)庫的字符集。ALTER DATABASE yourdb COLLATE新字符集改變sql server的默認字符集,要重建maste

11、r9. 在獲取一個從數(shù)據(jù)庫查詢回來的數(shù)組,你一般是怎么知道它里面存儲了多少數(shù) 據(jù)?利用數(shù)組.size()方法就可以知道其數(shù)目是多少.你在開發(fā)中用過JAVASCRIPT,你為什么要用這個,它與 JAVA有什么關系? 用到了 , JAVASCRIPT可以減輕服務器的訪問頻率,從而提高服務器的運行速度. 達到了前臺校驗的效果它和java沒有任何關系,屬于一種腳本語言.10. java中如果出現(xiàn)EXCEPTIO的話,你應該怎么做,你在這次開發(fā)中用到了么? java連接mysql需要哪些JAR包?第一種方法是throws DAOException(異常)第二種方法是捕獲異常-try catch() 方法

12、11. 數(shù)據(jù)庫選用 Mysql,SQLSERVER為什么?如何倒入數(shù)據(jù)庫?JAVA連接sqlserver 需要哪些 jar 包?選擇SQL SERVE安全性高,性能好.如何倒入數(shù)據(jù)庫?右鍵數(shù)據(jù)庫-然后附加數(shù)據(jù)庫即可.JAVA連接sqlserver需要哪些jar包? mssqlserver.jar12. 簡單的說一下B/S結構體系的優(yōu)點?B/S結構:(Browser/Server,瀏覽器/服務器模式):是 WEB興起后的一種網絡 結構模式,WEB覽器是客戶端最主要的應用軟件。這種模式統(tǒng)一了客戶端,將 系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用。客戶機上只要安裝一個瀏覽器(

13、Browser),女口 Netscape Navigator或Internet Explorer,服務器安裝 Oracle、Sybase、Informix 或 SQL Server 等數(shù)據(jù)庫。 瀏覽器通過 Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易。B/S結構的使用越來越多,特別是由需求推動了 AJAX技術的發(fā)展,它的程序也 能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交 互性,能進行局部實時刷新。一、B/S結構的優(yōu)點B/S結構最大的優(yōu)點就

14、是可以在任何地方進行操作而不用安裝任何 專門的軟件。只要有一臺能上網的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易,只要能上網,再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。 甚至可以在線申請,通過公司內部的安全認證(如CA證書)后,不需要人的參 與,系統(tǒng)可以自動分配給用戶一個賬號進入系統(tǒng)。二、B/S架構軟件的優(yōu)勢與劣勢(1)維護和升級方式簡單。目前,軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構的產品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說, 系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理服務器就行了, 所有的客戶端只

15、是瀏覽 器,根本不需要做任何的維護。無論用戶的規(guī)模有多大,有多少分支機構都不會 增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地, 只需要把服務器連接專網即可,實現(xiàn)遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、 費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶 機,“胖”服務器。(2)成本降低,選擇更多。大家都知道 windows在桌面電腦上幾乎 一統(tǒng)天下,瀏覽器成為了標準配置,但在服務器操作系統(tǒng)上 windows并不是處

16、于 絕對的統(tǒng)治地位。 現(xiàn)在的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在 Linux服務器上即可,而且安全性高。所以服務器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用 windows作為桌面操作系統(tǒng)電腦不 受影響,這就使的最流行免費的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作 系統(tǒng)是免費的以外,連數(shù)據(jù)庫也是免費的,這種選擇非常盛行。比如說很多人每天上“新浪”網,只要安裝了瀏覽器就可以了,并不 需要了解“新浪”的服務器用的是什么操作系統(tǒng),而事實上大部分網站確實沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。(3)應用服務器運行

17、數(shù)據(jù)負荷較重。由于 B/S架構管理軟件只安裝 在服務器端(Server )上,網絡管理人員只需要管理服務器就行了,用戶界面主 要事務邏輯在服務器(Server)端完全通過WW瀏覽器實現(xiàn),極少部分事務邏輯 在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網絡管理人員只需要做硬 件維護。但是,應用服務器運行數(shù)據(jù)負荷較重,一旦發(fā)生服務器“崩潰”等問題, 后果不堪設想。因此,許多單位都備有數(shù)據(jù)庫存儲服務器,以防萬一。12.MVC模式分為哪三個組件,工作的核心?Struts應用中包含3種組件:控制器組件(C)、模型組件(M、和視圖組件(V)。 控制器:ActionServlet (核心控制器)、自

18、定義Action (代表一個用戶操作)。 模型組件:定義和實現(xiàn)業(yè)務邏輯的接口和類。視圖組件:jsp頁面、ActionForm和Struts 標簽。ActionServet 是Struts 最核心的組件。在 Web容器啟動的時候,ActionServlet 被初始化,加載struts-config.xml配置文件(這就是為什么當struts配置文件修改后要重啟web容器)。Struts處理請求的詳細過程:1、客戶端瀏覽器發(fā)送請求到 Actio nServlet,Actio nServlet根據(jù)請求的路徑和struts-config.xml的配置信息找到對應的 Action Bean 和Form

19、Bean。如發(fā)送請求 http:/hocalhost:8080/myweb/register.do到服器,ActionServlet 就會根據(jù) struts 配置信息找 path屬性為“ /register ”的 Action Bean,于是找到 RegisterAction ,并得知 RegisterAction 的 name屬性 為"memberForm",于是找到MemberForm的實例(如果不存在則創(chuàng)建)。2、在確定將要調用的 Action Bean和 對應的Form Bean后,就將請求中的值 填充到Form Bean中(Action可以不關聯(lián)任何 Action

20、Form,這一步是可選的)。 在調用 Action 的 execute 方法之前,ActionServlet 還要準備好 ActionMapping 參數(shù),ActionMapping中包含了該 Action的配置信息。3)然后struts 將請求分發(fā)至相應的 Action Bean處理,ActionMapping參數(shù), ActionForm參數(shù),request 和response 都作為參數(shù)傳給處理請求的ActionBena 的 execute 方法。4) Action調用業(yè)務邏輯方法,得到返回值,并返回ActionForward對象。5、控制權重新回到Actio nServlet ,Acti

21、o nServlet很據(jù)Action 返回的ActionForward 對象轉發(fā)到相應的jsp6)處理結果返回給瀏覽器。注意的地方:1)Actio nServlet將控制權轉到頁面的時候采用的是轉發(fā) 的方式(request.getRequestDispatcher(url).forward(request,resp on se);、,所以轉發(fā)到頁面的request和Action 方法參數(shù)中的request是同一個請 求,數(shù)據(jù)可以通過request 對象的attribute 屬性傳遞。2) 當需要重定向的方式轉到新的頁面的時候,可以再Action 代碼中使用(resp on se.se ndRe

22、direct(url);),并返回n ull。3) ActionForm 很據(jù)對應 Action 的scope屬性配置不同而生命周期有所不 同。一般,scope屬性設為request, 則每次請求開始時ActionServlet 創(chuàng)建新的ActionForm 對象,保存在 request 對象的 attribute屬性中。所以可以在Action代碼中設置ActionForm 的值,在頁面中取出。13. 靜態(tài)頁面和動態(tài)頁面的區(qū)別?靜態(tài)頁面頁面不能動態(tài)顯示數(shù)據(jù),也就是說和數(shù)據(jù)庫沒有關系,只是信息寫死在 頁面,無法實現(xiàn)實時更新的效果.動態(tài)頁面是隨著數(shù)據(jù)庫的變化而變化,從而達到了數(shù)據(jù)的實時性.14.

23、如何實現(xiàn)的頁面間的跳轉?簡略回答就是通過forward進行跳轉.詳細解答就需要從頁面請求開始一直到響應頁面,就是通常說的找代碼.Struts 的跳轉是通過.do請求,然后根據(jù)請求在struts里面找到響應的請求,根據(jù)請求 就可以看到下面的forward轉向頁面是哪一個,通常有成功頁面和錯誤頁面,只 要看標示就可以,例女口 vforward name="success" path="/index/indexInfo.jsp" contextRelative="true"/>而jsp頁面則可以直接轉向,form 表單上面直接寫明了請求的jsp頁面.15. 如何設置背景顏色,字體大?。縱body background="v%=request.getContextPath()%>/image/tt.gif">這是設置背景圖片<body bgcolor="blue"> 這是設置背景顏色以上兩種是對整個頁面進行設置,如果對于td和tr來講也是同理,運用background 和 b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論