本文目錄一覽:
- 1、JAVA SSH框架搭建流程
- 2、java怎麼創建框架
- 3、北大青鳥java培訓:零基礎學java容易嗎?
- 4、不同基礎轉行Java,分別該怎麼學習?
- 5、要什麼水平才可以搭建Java框架?我是新手
- 6、零基礎學java應該從哪裡開始?
JAVA SSH框架搭建流程
首先,明確spring,struts,hibernate在環境中各自的作用。
struts:
用來響應用戶的action,對應到相應的類進行處理。需要struts對應的包。
hibernate:
用來把實體類對應到資料庫。提供增刪改查的基本操作實現。需要hibernate對應的包以及mysql的jdbc驅動包。
spring:
管理struts:在xml配置文件中為struts的action進行值注入。
管理hibernate:在xml配置文件中配置hibernate的配置信息(dataSource,sessionFactory),即不需要原來的hibernate的xml文件。為hibernate的dao操作注入sessionfactory屬性值。
需要提供spring對應的包,除此以外,還需要提供一個整合spring與struts的包:truts2-spring-plugin-2.0.11.1.jar
下面就搭建步驟進行詳細說明:
1、新建一個web project,導入包,需要的包放在文件夾sshlib中。
2、修改web.xml的配置信息,內容如下:
?xml version=”1.0″ encoding=”UTF-8″?
web-app version=”2.5″ xmlns=” “
xmlns:xsi=” “
xsi:schemaLocation=”
“
welcome-file-list
welcome-fileindex.jsp/welcome-file
/welcome-file-list
!– 下面的listener,是spring提供的,它會在創建時自動查找WEB-INF下的applicationContext.xml文件 ,從而創建spring容器–
listener
listener-class
org.springframework.web.context.ContextLoaderListener
/listener-class
/listener
!– 下面的配置作用是:在MyEclipse中,系統會自動到WEB-INF下尋找 applicationContext.xml文件,而系統
會自動將applicationContext.xml放置到WEB-INF下的classes下,所以會產生找不到applicationContext.xml的錯誤,需要指明applicationContext.xml
的放置位置。這就是下面的信息作用。在Eclipse中也許不需要此配置信息。–
context-param
param-namecontextConfigLocation/param-name
param-value
/WEB-INF/classes/applicationContext.xml
/param-value
/context-param
!– 下面的配置信息,用來配置說明使用struts過濾器 —
filter
filter-namestruts2/filter-name
filter-class
org.apache.struts2.dispatcher.FilterDispatcher
/filter-class
!–
下面的配置信息用來說明:程序中運行的action放置在哪個包下面,對於list.action的請求,它會自動在這個包下面尋找ListAction.class的類
如果沒有這句話,那麼所有的action請求只能在struts.xml中進行配置。
—
init-param
param-nameactionPackages/param-name
param-value
com.action
/param-value
/init-param
/filter
!–
下面的配置表示對於所有請求都交給struts來處理。
—
filter-mapping
filter-namestruts2/filter-name
url-pattern/*/url-pattern
/filter-mapping
/web-app
3、接下來用來配置struts.xml
?xml version=”1.0″ encoding=”UTF-8″ ?
!DOCTYPE struts PUBLIC
“-//Apache Software Foundation//DTD Struts Configuration 2.0//EN”
” “
struts
!– 指定Web應用的默認編碼集。該屬性對於處理中文請求參數非常有用,對於獲取中文請求參數值,應該將該屬性值設置為GBK或者GB2312 當設置該參數為GBK時,相當於調用HttpServletRequest的setCharacterEncoding方法 —
constant name=”struts.i18n.encoding” value=”utf-8″ /
constant name=”struts.devMode” value=”true” /
package name=”default” namespace=”/” extends=”struts-default”
interceptors
!– 定義攔截器 —
interceptor name=”crudInterceptor”
class=”com.action.CrudInterceptor” /
interceptor-stack name=”appStack”
interceptor-ref name=”crudInterceptor” /
!– 下面一行自帶的攔截器必須加上,否則出錯 —
interceptor-ref name=”defaultStack” /
/interceptor-stack
/interceptors
!– 使用默認攔截器配置Action都需要攔截器堆棧
即所有struts請求都自動先交給攔截器處理。關於攔截器的具體規則在攔截器對應類(com.action.CrudInterceptor)中進行了解釋。
—
default-interceptor-ref name=”appStack”/default-interceptor-ref
/package
/struts
4、接下來配置applicationContext.xml:
?xml version=”1.0″ encoding=”UTF-8″?
beans xmlns=” “
xmlns:aop=” “
xmlns:xsi=” “
xsi:schemaLocation=”
“
!– 數據源 —
bean id=”dataSource”
class=”org.springframework.jdbc.datasource.DriverManagerDataSource”
property name=”driverClassName”
value=”org.gjt.mm.mysql.Driver” /
property name=”url” value=”jdbc:mysql://localhost:3306/user” /
property name=”username” value=”root” /
property name=”password” value=”” /
/bean
!– sessionFactory配置 —
bean id=”sessionFactory”
class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”
property name=”dataSource” ref=”dataSource” /
property name=”mappingResources”
list
valuecom/ssh/User.hbm.xml/value
/list
/property
!– 定義sessionFactory的屬性 —
property name=”hibernateProperties”
props
prop key=”hibernate.dialect”
org.hibernate.dialect.MySQL5InnoDBDialect
/prop
prop key=”hibernate.hbm2ddl.auto”update/prop
prop key=”hibernate.show_sql”true/prop
prop key=”hibernate.format_sql”true/prop
/props
/property
/bean
!– hibernate的類名,屬性名和資料庫之間的對應關係的自定義 com.ynstudio.tools.LocalNamingStrategy —
bean id=”namingStrategy”
class=”org.hibernate.cfg.ImprovedNamingStrategy”
/bean
!– 定義DAO的bean —
bean id=”userDao”
class=”com.ssh.UserDaoImpl”
property name=”sessionFactory” ref=”sessionFactory” /
/bean
!–
下面的代碼用來向Action類注入屬性值
—
bean id=”crudAction” class=”com.action.CrudAction”
property name=”userDao” ref=”userDao”/property
/bean
/beans
5、上述配置文件完成後,就開始業務邏輯部分。
首先完成hibernate的curd操作部分內容。
設計一個User實體類。包含資料庫中User表的欄位。
新建一個User.hbm.xml文件,實現實體類與資料庫的關聯。內容如下:
?xml version=”1.0″?
!DOCTYPE hibernate-mapping PUBLIC
“-//Hibernate/Hibernate Mapping DTD//EN”
” “
hibernate-mapping
class name=”com.ssh.User” table=”user”
id name=”id” column=”id”
generator class=”increment” /
/id
property name=”username” column=”username” /
property name=”password” column=”password” /
property name=”birthday” column=”birthday” /
property name=”email” column=”email” /
/class
/hibernate-mapping
接下來需要實現dao操作。
設計一個類繼承了HibernateDaoSupport類。關於HibernateDaoSupport類,請參考相關文檔。
6、完成hibernate的設計後,接下來設計struts的攔截器和struts的action。
struts的攔截器:
package com.action;
import java.lang.reflect.Method;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
* 這個類的是攔截器。
* 對於如下URL:
*
* actionInvocation.invoke()方法會自動調用名稱了HelloAction類的list方法。
* 在action中根據該方法的返回值決定頁面顯示或跳轉位置。
* result值除了可以再action類中定義,還可以在struts.xml中配置。
* 配置時可採用如下語句:
* action name=”hello” class=”crudAction”
* result name=”list”/list.jsp/result
* result name=”modify”/modify.jsp/result
* /action
* 此處需要格外注意的是:class屬性的值,此值是applicationContext.xml中的id。
* 該bean中注入了action類中屬性userDao的值。
* 所以,如果需要使用struts.xml中的action配置,需要使用該id,否則,系統不會給其注入值,最終導致空指針異常。
* @author HeXiaoXing
*
*/
public class CrudInterceptor extends AbstractInterceptor{
public String intercept(ActionInvocation actionInvocation) throws Exception {
/*
*下面代碼演示了獲取請求的類名與方法名的一半方式,但本例中不涉及。 全部注釋掉。
*/
// Object action = actionInvocation.getAction();
// Class actionClass = action.getClass();
// String actionClassName = actionClass.getSimpleName();
// String methodName = actionInvocation.getProxy().getMethod();
return actionInvocation.invoke();
}
}
struts的action,關於此action的全部內容,請參考源程序CrudAction。
7、完成了類設計後,就是頁面的設計,關於頁面的設計,不再一一敘述,給粗源文件,請自行參考。
需要提出的是,在轉向時,url的格式必須是method:方法名。這是約定的,不可以寫成method=方法名。
java怎麼創建框架
JAVA框架主流的有以下四款:
Struts1框架是apache公司的開源子項目,是基於mvc邏輯分層的web層框架實現。是出現最早的web層框架,應用最廣發。Struts1框架重點關注的是控制層,對於視圖層只是提供了大量的標籤;對於model層的影響微乎其微。
Struts2是一個基於MVC設計模式的Web應用框架,它本質上相當於一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合併的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,採用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對於WebWork,Struts 2的變化很小。
Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的複雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的核心是控制反轉(IoC)和面向切面(AOP)。簡單來說,Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。
北大青鳥java培訓:零基礎學java容易嗎?
怎麼學好java編程?零基礎學java容易嗎?如果你是在校學生,務必要在學好基礎(比如計算機系統、演算法、編譯原理等等)的前提下,再考慮去進行下面的學習。
電腦培訓介紹第一部分:對於尚未做過Java工作的人,包括一些在校生以及剛準備轉行Java的小白。
一、Java基礎首先去找一個Java的基礎教程學一下。
學習Java基礎的時候,應該盡量多動手,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這麼回事兒,不信你就試試。
學完以上內容以後,你應該對Java有一個基本的了解了,你可以用Java語言寫出一些簡單的程序,並且你用的是最簡單的編輯器,比如記事本。
這個時候,不要急於進入下一部分,留下幾天好好寫一些程序,儘可能熟悉這些基礎內容。
二、Web開發等你寫上幾天程序以後,你往往會比較迷茫,因為你寫的東西似乎看起來毫無用處,比如實現一個簡單的計算器,讀取一個文件等。
這個時候你就應該去學著寫一些讓你覺得有意思的東西了,所以你應該學習更多的知識。
這些內容主要是Web開發相關的內容,包括HTML/CSS/JS(前端頁面)、Servlet/JSP(J2EE)以及Mysql(資料庫)相關的知識。
它們的學習順序應該是從前到後,因此最先學習的應該是HTML/CSS/JS(前端頁面)。
三、開發框架當你學會以上內容以後,這個時候你還不足以參加工作,你還需要繼續深造。
公司里為了提高開發的效率,會使用一些JavaWeb框架,因此你還需要學習一些開發框架。
目前比較主流的是SSM框架,即spring、springmvc、mybatis。
你需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。
你可以不理解那些配置都是什麼含義,以及為什麼要這麼做,這些留著後面你去了解。
說了這麼多,其實還沒有說完,要想高效的學習Java,最好去參加有實力的培訓機構,雖然花點錢,但是效率卻很高,時間是很寶貴的,省下來的時間就可以去工作掙錢了。
不同基礎轉行Java,分別該怎麼學習?
零基礎學習Java技術開發和有一定Java基礎的學員學習Java技術開發在學習方式方法上有所不同,學習的內容也會不一樣,所以無論是有沒有Java基礎的小夥伴參加Java培訓最好選擇可以「因材施教,分級培優」的只有這樣才能學習到真正的知識本領。如果自學Java技術開發一定要制定好Java學習路線圖,下面針對不同基礎學員進行介紹
一、零基礎初學Java
對於尚未做過Java工作的同學,包括一些在校生以及剛準備轉行Java的同學。
1、Java基礎
首先去找一個Java的基礎教程學一下,學習Java基礎的時候,應該盡量多動手,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這麼回事兒,不信你就試試。
學完以上內容以後,你應該對Java有一個基本的了解了,你可以用Java語言寫出一些簡單的程序,並且你用的是最簡單的編輯器,比如記事本。
這個時候,不要急於進入下一部分,留下幾天好好寫一些程序,儘可能熟悉這些基礎內容。
老司機覺得,自學真的不如找個Java培訓機構,免了自己的盲從,根本不知道如何是好,從哪開始,又如何去進展。昆明北大青鳥錄製了一套Java視頻教程從零基礎開始學習Java技術開發
當然最直接的就是來昆明北大青鳥,畢竟IT培訓行業老大的地位,不是白來的,教學環境啊,試聽一下看看教學質量啊,當然你可能作為一個小白也不太懂,但是你可以看看和你一樣參加培訓的人多不多嘛。
最後這個權當老司機發動一下車,那麼沒毛病了,你就可以選擇了。最重要的一點,既然選擇參加Java培訓,上課方式很重要。這個不多說,因為你懂得!
2、Web開發
等你寫上幾天程序以後,你往往會比較迷茫,因為你寫的東西似乎看起來毫無用處,比如實現一個簡單的計算器,讀取一個文件等。這個時候你就應該去學著寫一些讓你覺得有意思的東西了,所以你應該學習更多的知識。
這些內容主要是Web開發相關的內容,包括HTML/CSS/JS(前端頁面)、Servlet/JSP(J2EE)以及Mysql(資料庫)相關的知識。
它們的學習順序應該是從前到後,因此最先學習的應該是HTML/CSS/JS(前端頁面),你可以試著自己寫一些頁面,當然,你可以盡你最大的努力讓它變得最漂亮。這部分內容對於後端Java來說,理論上不是特別重要,但至少要達到可以自己寫出一些簡單頁面的水平。
3、開發框架
當你學會以上內容以後,這個時候你還不足以參加工作,你還需要繼續深造。公司里為了提高開發的效率,會使用一些JavaWeb框架,因此你還需要學習一些開發框架。
目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。你可以不理解那些配置都是什麼含義,以及為什麼要這麼做,這些留著後面你去了解。但你一定要可以快速的利用它們三個搭建出一個Web框架,你可以記錄下你第一次搭建的過程,相信我,你一定會用到的。
還要提一句的是,你在搭建SSM的過程中,可能會經常接觸到一個叫maven的工具。這個工具也是你以後工作當中幾乎是必須要使用的工具,所以你在搭建SSM的過程中,也可以順便了解一下maven的知識。
在你目前這個階段,你只需要在網路上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經驗的增加,會逐漸接觸到的。
4、找工作
當你完成開發框架的學習以後,你就該找工作了,在校的找實習,畢業的找全職。與此同時,在找工作的同時,你不應該停下你的學習,準確的說,是你在以後都不能停下學習。
上面這些內容你只是囫圇吞棗的學會了使用,你可以逐步嘗試著去了解更多的東西,網路是你最重要的老師。
二、參加工作一年內的同學學習Java技術開發
恭喜你,這個時候,你已經擁有了一份Java的工作。這個階段是你成長極快的階段,而且你可能會經常加班。
但是加班不代表你就可以鬆懈了,永遠記得我說的那句話,從你入行那一刻起,你就要不停的學習。
三、參加工作1-2年的同學
這部分時間段的同學,已經對Java有了一個更加深入的了解。但是對於面向對象的體會可能還不夠深刻,編程的時候還停留在完成功能的層次,很少會去考慮設計的問題。
於是這個時候,設計模式就來了。因此,建議大家,最多在你工作一年的時候,必須開始寫博客,而設計模式就是你博客的開端。
請記住,我所提的基本都是最低要求,因此不要有任何鬆懈的心理,否則五年後,你不要去羨慕別人高於你的工資,也不要去羨慕別人進入了某公司。
這一年,你必須對於設計模式了如指掌
總而言之,這個階段,你的核心任務就是提高你的代碼能力,要能寫出一手優雅的代碼。
四、參加工作2-3年的同學
有的同學在這個時候覺得自己已經很牛逼了,於是忍不住開始慢慢鬆懈。請記住,你還嫩的多。
另外,在過去2年的工作當中,你肯定或多或少接觸過並發。這個時候,你應該去更加深入的了解並發相關的知識,而這部分內容,我比較推薦《Java並發編程實戰》這本書。只要你把這本書啃下來了,並發的部分基本已經了解了十之六七。
與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深入的了解,對於Java的類庫也有了更深入的了解。因此,你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。
這些源碼能看懂的前提是,你必須對設計模式非常了解。否則的話,你看源碼的過程中,永遠會有這樣那樣的疑問,這段代碼為什麼要這麼寫?為什麼要定義這個介面,它看起來好像很多餘?
由此也可以看出,這些學習的過程是環環相扣的,如果你任何一個階段拉下來了,那麼你就真的跟不上了,或者說是一步慢步步慢。而且我很負責的告訴你,我在這個階段的時候,所學習的東西遠多於這裡所羅列出來的。因此千萬不要覺得你已經學的很多了,我所說的這些都只是最低要求,不光是我,很多人在這個時間段所學習的內容都遠超本文的範圍。
如果你不能跟上節奏的話,若干年後,如果不是程序猿市場還不錯的話,你很可能不僅僅是工資比別人低,公司沒別人好,而是根本就找不到工作。
另外,還有一種學習的方式,在2年這個階段,也應該啟用了,那就是造輪子。
不要聽信那套「不要重複造輪子」的論調,那是公司為了節省時間成本編造出來的。重複造輪子或許對別人沒有價值,因為你造的輪子可能早就有了,而且一般情況下你造出來的輪子還沒有現存的好。但是對別人沒有價值,不代表對你自己沒有價值。
一個造輪子的過程,是一個從無到有的過程。這個過程可以對你進行系統的鍛煉,它不僅考察你的編碼能力,還考察你的框架設計能力,你需要讓你的輪子擁有足夠好的擴展性、健壯性。
而且在造輪子的過程中,你會遇到各種各樣的難題,這些難題往往又是你學習的契機。當你把輪子造好的時候,你一定會發現,其實你自己收穫了很多。
所以,這個階段,除了上面提到的了解JVM、JDK和框架源碼以外,也請你根據別人優秀的源碼,去造一個任何你能夠想像出來的輪子。
五、總結
每個人吸收知識的時候,都要有抽取精華,去除糟粕的能力。以上所說的,可能有些是對的,有些是錯的,有些是適合你的,有些是不太適合你的,你要自己能夠判斷。
其實你在生活和工作當中也是一樣的,你身邊的人形形色色,有的人你喜歡,有的人你很討厭。但其實你喜歡的人也有缺點,你討厭的人也有優點。你要學會從你討厭的人身上學會他的優點,千萬不要一棒子打死,這隻會讓你失去很多學習成長的機會。
免責聲明:內容來源於公開網路,若涉及侵權聯繫儘快刪除!
要什麼水平才可以搭建Java框架?我是新手
熟悉軟體架構,Java基礎,一般框架結構。就可以開發自己的框架了。
框架就是能夠快速開發某種軟體的一個核心模塊。是一種總結。
零基礎學java應該從哪裡開始?
學習任何一門編程語言,首先要學習的是基礎語法,開啟Java學習的第一步,當然就是深入掌握計算機基礎、編程基礎語法,面向對象,集合、IO流、線程、並發、異常及網路編程,這些我們稱之為JavaSE基礎。當你掌握了這些內容之後,你就可以做出諸如:電腦上安裝的迅雷下載軟體、QQ聊天客戶端、考勤管理系統等桌面端軟體。
那我需要怎麼才能學好java?學java無非就是自學和報班這兩種方式,至於java自學還是報班好,這個還是需要根據您自身的條件來判斷的。如果您自控能力、自學能力且有基礎那自學好。反之報班好。下面跟您說一下java自學與報java培訓班學的不同之處,供您參考。
Java自學:好的地方是省錢,不太好的就是學習時間不確定,學習周期很容易拉長,學習不夠系統,對於沒有基礎的或者自控力不強的人來說,也容易導致半途而廢。遇到不懂的問題沒有人解答,難以往下進行學習,而且容易學的半知半解。
Java培訓:學習時間相對較短,整體學習比較全面,學習內容也比較集中。專業老師按照大綱進行系統授課,在學習中遇到技術問題能夠快速得到解決,同時還有專項的練習相對於自學,學習氣氛更加濃厚,跟同期學員對問題的探討,對拓展思路有很大的幫助。並且像一些專業的培訓機構,培訓完後有相應的就業課程和就業指導,比起自學來說求職勝算更大。
如果您學Java是因為單純的興趣愛好,自學是一個很不錯的選擇。但如果您想通過學Java技術轉行的話,那麼最好是選擇參加Java培訓班。當然,可能現在的您感覺參加Java培訓班學費很貴,但是對於可以通過學習找到工作,還是比較值得的。
總之,零基礎小白學習JAVA要懂得一個道理,學習和掌握java相關技術也非一朝一夕之事,不可能一蹴而就,除了知識理論的學習,還需要後續更深入的學習和大量的實踐,所以需要你一個良好的學習規劃。
原創文章,作者:AVSL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130967.html