㈠ JAVA Web設計
業務性多態,就是要抽象Service層,然後每個實際業務做一個ServiceImpl
一般業務性多態也同時伴隨Model的多態,同樣的,從數據層就要抽象。
這個設計起來是很費腦子的,而且沒看到實際的東西也沒法給你建議,總的來說,代碼方面要這么做:
Entity(產品基類),EntityExt1,EntityExt2……(實際產品類)
Service<Entity>,實現的時候實際是ServiceImpl<EntityExt>
哦對了,數據表其實同樣應該設計成繼承的樣子(產品基礎信息表和實際的不同類型的產品表)
㈡ Java有哪些框架比較常用
常見的JAVA框架有: WAF: 全稱:WEB APPLICATION FRAMEWORK 主要應用方面:EJB層,(WEB層也有,但是比較弱)。 主要應用技術:EJB等 出處: http://java.sun.com/blueprints/code/index.html 簡述:這是SUN在展示J2EE平台時所用的例子PetStore(寵物商店系統)裡面的框架。是SUN藍皮書例子程序中提出的應用框架。它實現了 MVC和其他良好的設計模式。SUN的網站上有技術資料,最好下載PetStore來研究,WEBLOGIC里自帶此系統,源碼在bea\weblogic700\samples\server\src\petstore。這是學習了解J2EE的首選框架。 免費。 Struts: 主要應用方面:WEB層。 主要應用技術:JSP,TagLib,JavaBean,XML等 出處: http://jakarta.apache.org/struts/index.html 簡述:這是APACHE的開源項目,目前應用很廣泛。基於MVC模式,結構很好,基於JSP。Jbuilder8里已經集成了STRUTS1.02的製作。 免費。 Turbine: 主要應用方面:WEB層。 主要應用技術:servlet等 出處: http://jakarta.apache.org/turbine/index.html 簡述:這是APACHE的開源項目。基於SERVLET。據說速度比較快,基於service(pluggable implementation可插拔的執行組件)的方式提供各種服務。 免費。 COCOON: 主要應用方面:WEB層。 主要應用技術:XML,XSP,servlet等 出處: http://cocoon.apache.org/2.0/ 簡述:這是APACHE的一個開源項目。基於XML,基於XSP(通俗地說,XSP是在XML靜態文檔中加入Java程序段後形成的動態XML文檔。)。特點是可以與多種數據源交互,包括文件系統,資料庫,LDAP,XML資源庫,網路數據源等。 免費。 ECHO: 主要應用方面:WEB層。 主要應用技術:servlet等 出處: http://www.nextapp.com/procts/echo/ 簡述:nextapp公司的一個開源項目。基於SERVLET。頁面可以做的很漂亮,結合echopoint,可以作出很多圖形效果(裡面用了jfreechart包)。使用SWING的思想來作網頁,把HTML當作JAVA的類來做。但是大量使用Session,頁面分幀(Frame)很多,系統資源消耗很大。 免費。 JATO: 全稱:SUN ONE Application Framework 主要應用方面:WEB層。 主要應用技術:JSP,TagLib,JavaBean等 出處: http://www.sun.com 簡述:這是SUN推出的一個商業性框架,是結合SUN ONE的平台推出的。 TCF: 全稱:Thin-Client Framework 主要應用方面:JAVA GUI。 主要應用技術:JAVA application等 出處: http://www.alphaworks.ibm.com/tech/tcf 簡述:這是IBM出的一個框架。基於MVC模式,基於JAVA Application。
㈢ java web程序中對地址欄中文解碼的方式有哪些
瀏覽器和伺服器之間是否能傳遞中文取決於伺服器端的解碼方式。一、可以修改伺服器配置文件以提供中文解碼支持;二、在瀏覽器中對路徑進行編碼,如使用encodeUrl(完整路徑)進行utf-8編碼,伺服器端用java.net.Decoder.decoder(獲取傳遞的中文之值)進行解碼,這時request.setcharacter encode()方法要設置為對應的utf-8。
㈣ java web開發的學習過程
小系統都差不多 做多了也沒意義
SSH沒你想像的難
只不過是有的地方不用代碼寫
用配置配好就可以了
知道了一次 下次就會了
框架的學習實際就是學配置
根據書上的基本概念和實例
自己反復配置 會排錯
慢慢就熟悉了
堅持下去 必有所成
㈤ 簡述Java web 應用的開發 環境和運行環境
1:第一是下載好Eclipse開發工具,這里不做敘述,自行下載安裝。
2:使用Eclipse開發WEB項目,啟動Eclipse,選擇File--->new --->other--->Web--->Dynamic Web Project(動態Web項目),打開,如下圖所示:
然後之後如下所示
然後之後打開New Dynamic Web Project(新建動態web項目)對話框,在該對話框的Project name(項目名稱)文本框輸入項目的名稱,在Dynamic web mole version(動態網頁模塊版本)下拉列表框中選擇3.0選項。其他選擇默認即可。
然後單擊next按鈕,打開如下圖所示,這里選擇默認的配置即可。
然後單擊next之後打開Configure web mole settings.(配置web模塊設置)對話框,如下圖所示,我這里默認即可。
然後點擊Finish之後如下:
然後創建好的web項目如下圖所示:
3:創建jsp文件(也可以選擇創建其他類文件等等,這里創建jsp文件),如下圖所示:
在Eclipse的項目資源管理器中,滑鼠右擊webcontent,可以直接選擇jsp File文件,或者去Other裡面選擇其他的更多的文件類型。
然後打開如下圖所示的界面,在File name起好名字,單擊next。
然後就打開選擇jsp模板的對話框,這里選擇默認即可。
然後點擊Finish按鈕,完成jsp文件的創建,在項目資源管理器的WEB-INF節點下多了一個jsp文件。同時,Eclipse會自動以默認的與jsp文件關聯的編輯器將文件在右側的編輯窗口中打開。
㈥ 簡述使用Javaweb開發管理信息系統需要做哪些基礎工作
計劃
對所要解決的問題進行總體定義,包括了解用戶的要求及現實環境,從技術、經濟和社會因素等3個方面研究並論證本軟體項目的可行性,編寫可行性研究報告,探討解決問題的方案,並對可供使用的資源(如計算機硬體、系統軟體、人力等)成本,可取得的效益和開發進度作出估計,制訂完成開發任務的實施計劃。分析
軟體需求分析就是對開發什麼樣的軟體的一個系統的分析與設想。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然後把它用軟體工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。設計
軟體設計可以分為概要設計和詳細設計兩個階段。實際上軟體設計的主要任務就是將軟體分解成模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。編寫代碼,實現軟體要求
㈦ 簡述一下Java中的web容器,舉幾個例子也行
目前市場上常用的開源Java Web容器有Tomcat、Resin和Jetty。其中Resin從V3.0後需要購買才能用於商業目的,而其他兩種則是純開源的。可以分別從他們的網站上下載最新的二進制包和源代碼。
作為Web容器,需要承受較高的訪問量,能夠同時響應不同用戶的請求,能夠在惡劣環境下保持較高的穩定性和健壯性。在HTTP伺服器領域,Apache HTTPD的效率是最高的,也是最為穩定的,但它只能處理靜態頁面的請求,如果需要支持動態頁面請求,則必須安裝相應的插件,比如mod_perl可以處理Perl腳本,mod_python可以處理Python腳本。
上面介紹的三中Web容器,都是使用Java編寫的HTTP伺服器,當然他們都可以嵌到Apache中使用,也可以獨立使用。分析它們處理客戶請求的方法有助於了解Java多線程和線程池的實現方法,為設計強大的多線程伺服器打好基礎。
Tomcat是使用最廣的Java Web容器,功能強大,可擴展性強。最新版本的Tomcat(5.5.17)為了提高響應速度和效率,使用了Apache Portable Runtime(APR)作為最底層,使用了APR中包含Socket、緩沖池等多種技術,性能也提高了。APR也是Apache HTTPD的最底層。可想而知,同屬於ASF(Apache Software Foundation)中的成員,互補互用的情況還是很多的,雖然使用了不同的開發語言。
Tomcat 的線程池位於tomcat-util.jar文件中,包含了兩種線程池方案。方案一:使用APR的Pool技術,使用了JNI;方案二:使用Java實現的ThreadPool。這里介紹的是第二種。如果想了解APR的Pool技術,可以查看APR的源代碼。
ThreadPool默認創建了5個線程,保存在一個200維的線程數組中,創建時就啟動了這些線程,當然在沒有請求時,它們都處理「等待」狀態(其實就是一個while循環,不停的等待notify)。如果有請求時,空閑線程會被喚醒執行用戶的請求。
具體的請求過程是: 服務啟動時,創建一個一維線程數組(maxThread=200個),並創建空閑線程(minSpareThreads=5個)隨時等待用戶請求。 當有用戶請求時,調用 threadpool.runIt(ThreadPoolRunnable)方法,將一個需要執行的實例傳給ThreadPool中。其中用戶需要執行的實例必須實現ThreadPoolRunnable介面。 ThreadPool首先查找空閑的線程,如果有則用它運行要執行ThreadPoolRunnable;如果沒有空閑線程並且沒有超過maxThreads,就一次性創建minSpareThreads個空閑線程;如果已經超過了maxThreads了,就等待空閑線程了。總之,要找到空閑的線程,以便用它執行實例。找到後,將該線程從線程數組中移走。 接著喚醒已經找到的空閑線程,用它運行執行實例(ThreadPoolRunnable)。 運行完ThreadPoolRunnable後,就將該線程重新放到線程數組中,作為空閑線程供後續使用。
由此可以看出,Tomcat的線程池實現是比較簡單的,ThreadPool.java也只有840行代碼。用一個一維數組保存空閑的線程,每次以一個較小步伐(5個)創建空閑線程並放到線程池中。使用時從數組中移走空閑的線程,用完後,再「歸還」給線程池。
㈧ 結合java web應用開發簡述什麼是mvc及其優點
M----模型層 例如JavaBean
V----視圖層 例如jsp 用於顯示數據
C----控制層 例如action 用於處理業務邏輯
優點:各自分工,降低耦合
㈨ java web開發中常用的前後台交互技術
你列出來的幾點,歸根結底還是servlet。jsp會被便已成為servlet執行,struts1就不用說了,核心就是一個servlet。struts2沒有直接使用servlet,而是用了一個Filter,但是歸根結底還是servlet技術。Ajax,一般也是通過js向servlet提交,當然也可以訪問其他伺服器資源,不過其他伺服器資源就不能算java後台了吧……而webservice應該是屬於後台交互了。Java框架是擺脫不了servlet的,這是J2EE的心臟。
㈩ Java web相關的幾個問題,求解題,不要太啰嗦也不要太簡潔,考試卷上能高分是重點,
答案:
1.可能發生空指針異常。因為從session中取出key為「username」可能是null.如果s是null那麼s.lenght();會爆空指針異常。
2.(1)載入JDBC驅動程序,通過java.lang.Class類的靜態方法forName(String className)實現。
(2)提供JDBC連接的URL,一般可以從驅動包中找到。
(3)創建資料庫的連接,需要向java.sql.DriverManager請求並獲得Connection對象。使用DriverManager的getConnectin(String url , String username , String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和 密碼來獲得。
(4)創建一個Statement,要執行SQL語句,必須獲得java.sql.Statement實例。A.執行靜態SQL語句。B.通常通過Statement實例實現。執行動態SQL語句。通常通過PreparedStatement實例實現。C.執行資料庫存儲過程。通常通過CallableStatement實例實現。
(5)執行SQL語句Statement介面提供了三種執行SQL語句的方法:executeQuery executeUpdate
和execute
(6)處理結果:執行更新返回的是本次操作影響到的記錄數。執行查詢返回的結果是一個ResultSet對象。
(7)關閉JDBC對象
3.初始化階段 調用init()方法
響應客戶請求階段調用service()方法
終止階段調用destroy()方法
4.MVC是三個單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實現Web系統的職能分工。 Model層實現系統中的業務邏輯,通常可以用JavaBean或EJB來實現。 View層用於與用戶的交互,通常用JSP來實現。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求並選擇恰當的視圖以用於顯示,同時它也可以解釋用戶的輸入並將它們映射為模型層可執行的操作
5.sendRedirect()是跳轉。
forward()是轉發。
不同點:(1)sendRedirect(「目的地」) 是response 對象的方法,forward(request,response)是request.getRequestDispatcher("目的地") 方法 返回的對象 requestDispatcher 的方法;
(2)sendRedirect() 在客戶端運行,會產生新的請求,地址欄顯示新地址,forward()在服務端運行,地址欄的地址不變;
(3)sendRedirect() 跳轉之後,不能獲取request中的對象,而forward()可以獲取;
(4)forward()速度更快。
相同點:都能實現頁面跳轉或者是伺服器資源的跳轉;
6.錯誤。有不是成對出現的比如:<img src="" />
7.JSP注釋
<%--*****--%> 是不輸出到客戶端的注釋符。
<%!--*****--%> 是輸出到客戶端的注釋符。
指令元素
<%@ page contentType=」text/html」 %> 設置指定頁面內容類型
<%@ include ...%> 在翻譯階段引入一個文件
<%@ taglib ... %> 聲明一個頁面使用的,包含自定義行為的標記庫。
行為元素
<jsp:useBean> 使一個JavaBeans組件在該頁中可用
<jsp:setProperty> 設置JavaBeans的屬性值
<jsp:forward> 將對請求的處理轉交給一個servlet或JSP頁面
腳本元素
<%this is a scriptlet%> 嵌入腳本代碼
表達式元素
<%= this is an expression%> 嵌入java表達式
方法聲明
<%! this is a declaration%> 用於在JSP頁面的實現類中聲明變數和方法