㈠ java框架有哪些常用框架
十大常用框架:
一、SpringMVC
二、Spring
三、Mybatis
四、Dubbo
五、Maven
六、RabbitMQ
七、Log4j
八、Ehcache
九、Redis
十、Shiro
㈡ 如何學習java!
Java環境搭建、Java流程式控制制語句-for循環、switch選擇判斷、循環嵌套、數組拷貝、多維數組、final關鍵字、構造函數的調用、類的訪問許可權和路徑、面向對象高級特性、Java異常處理、Set,Map,List介面及介面實現類、Java線程、同步阻塞、JavaIO流、文件的操作,復制,讀寫,刪除等。
MySQL安裝、管理、創建資料庫、MySQLUPDATE
查詢、Mysql高級操作、JDBC、JDBC資料庫連接操作,JDBC動態Sql處理、Servlet3.0 網頁重定向、Servlet3.0
新增的註解支持、AJAX、responseText屬性詳解等。
Struts2異常處理、Struts2+Log4j集成、Struts2和jsON實例、Hibernate5、Hibernate集合映射、Hibernate組件映射、Spring4.0、SpringAOP+
AspectJ框架、Spring 與其它Web框架集成、Spring Hibernate支持等。
SpringMVC、Spring MVC生成JSON數據、MyBatis、MyBatis 環境配置及入門、Mybatis set標簽、Mybatis trim標簽、Shiro、Shiro快速入門教程、Shiro Web應用等。
SpringBoot、全局異常處理、過濾器監聽器、EHCache緩存、SpringBoot Quartz定時任務、Vue、Vue.js 安裝、模板語法、計算屬性、事件處理器、Vue.js 自定義指令、Vue.js 路由等
ActiveM環境搭建、生產者和消費者、消息持久化操作、RSA數字加密演算法、Codebar條形碼生成器、zxing二維碼生成器、HighCharts統計圖、Echarts統計圖、網路播放器ckplayer、嵌入式網路播放器,可以瀏覽器和移動端隨意使用
分布式服務框架的理解,Dubbo架構設計詳解及其核心要點,框架運行原理分析、SpringData數據訪問、Lucene搜索引擎、Lucene的全文搜索伺服器介紹、索引建立方式、Solr海量數據搜索引擎、Socket網路通信、實現RMI遠程對象通訊、使用JMS消息服務、Kafka分布式消息系統、WebService與RestfulWS等
Spring Security安全框架、實現Web應用安全控制、緩存應用與EhCache框架、OSCache與JBossCache框架、MyBatis與Hibernate緩存機制、NoSQL應用與SQL調優、MongoDB
NoSQL資料庫、Redis內存資料庫、實現RedisSession共享、SQL語句的優化、實現資料庫讀寫分離、WEB應用集群及性能優化、Maven項目管理工具、Web伺服器負載均衡、實現Nginx與Tomcat集群、使用LoadRunner測試工具、性能優化之內存調優、代碼優化與重構的方法等。
㈢ java主要學習哪些內容
學習java是個不錯的選擇,java在it行業需求的人才每年占上百萬個,並且平均每個月薪資也是在1.8W左右。
如果想達到工作標准可以參考下面的內容:
1.Java SE部分 初級語法,面向對象,異常,IO流,多線程,Java Swing,JDBC,泛型,註解,反射等。
2.資料庫部分,基礎的sql語句,sql語句調優,索引,資料庫引擎,存儲過程,觸發器,事務等。
3. 前端部分, HTML5 CSS3 JS, HTML DOM Jquery BootStrap等。
4. Java EE部分,Tomcat和Nginx伺服器搭建,配置文件,Servlet,JSP,Filter,Listener,http協議,MVC等。
5. 框架部分,每個框架都可以分開學,在去學如何使用SSM 或者SSH框架,如何搭建,如何整合。開發中為什麼會用框架,Rest是啥?Spring為啥經久不衰,底層如何實現等。
6.23種設計模式,掌握常用的,比如單例模式的多種實現,責任鏈模式,工廠模式,裝飾器模式等,了解常用場景。
7. 基礎演算法和數據結構,八大排序演算法,查找演算法。
8. 熟練使用maven等構建工具,git等版本控制工具,熟悉常用linux命令,log4j,bug,junit單元測試,日誌列印工具,Redis等NoSql。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
㈣ 求Java的MD5加密解密實現類。 要實現對用戶的密碼進行加密! 然後驗證用戶的密碼!
import java.security.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class md5{
public String md5(String str) {
String s=str;
if(s==null){
return "";
}else{
String value = null;
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
}catch (NoSuchAlgorithmException ex) {
Logger.getLogger(md5.class.getName()).log(Level.SEVERE, null, ex);
}
sun.misc.BASE64Encoder baseEncoder = new sun.misc.BASE64Encoder();
try {
value = baseEncoder.encode(md5.digest(s.getBytes("utf-8")));
} catch (Exception ex) {
}
return value;
}
}
}
㈤ 學習javaEE到底需要學習哪些東西
一、Java核心
這是學習Java的基礎,掌握程度的深淺甚至直接影響後面的整個學習進程。Java的核心主要包括幾個部分:
1、初級的有語法基礎、面向對象思想。
學習任何一門語言語法都是必須的,因為Java的接近自然語言,也是一種相對比較容易學的語言。同時面向對象編程更是其核心思想,要理解其實只要記住一句話就行了,那就是:一切皆是對象。
2、中級的IO流、多線程、反射及註解等。
IO流程、多線程等是相對比較高級一點的了,通過學習我們會發現這些都很有用而且很有趣。例如我們可以讀取一個Excel文件、將一個文件分離,做一個時鍾、使用多個線程發送郵件等等很多有意思的事。另外反射及註解更是後面流行框架SSH等的基礎,在使用中你便會慢慢感受到它的無窮魅力。
3、高級一點的就是設計模式和框架之類了。
要學習好一門語言,僅僅會使用還是不夠的,我們不僅要深入研究其原理,而且還要找到其一些共性的東西,從而減少反復的勞動,讓代碼可重用、更可靠且更容易被別人理解。
二、前端Web
現在來說Java最流行的應用還是Web開發。那麼作為Web開發,對於前台的知識的學習也是必須的,當然並不是一定要按照前端工程師的標准去要求。但是一些基礎的知識也是必須要掌握的,畢竟Web應用是前台和後台的一個交互的過程。像HTML、CSS、Javascript等都是基礎的知識,另外作為開發人員對目前最流行的Javascript框架Jquery更是必學不可的。
三、資料庫
有人說,所有的應用無非就是數據的輸入、處理到輸出的過程。期間同時可能還會涉及到數據的存儲問題。對於結構化的數據,我們常用的還是像Oracle、Mysql和PostgreSQL之類的關系型資料庫。同時針對資料庫編程還是PL/SQL需要學習。使用Java訪問資料庫的話還有JDBC。那麼對於非結構化的數據以及大數據該如何處理呢?其實這里也已經有了非常成熟的解決方案了,那便是Hadoop。就Hadoop而言他並不是一種思想,更多是一個實現了Maprece模式的框架。
四、J2EE
好了,前面這么多准備的工作。下面我們進入正題。作為Java開發,CoreJava是核心,而作為JavaWeb開發,我認為Servlet才是核心。Servlet是伺服器端的Java應用程序,但是與普通的Java應用程序不同的是,它是由web伺服器來載入啟動,即我們常說的Servlet,如Tomcat便是servlet容器。另外談到J2EE開發,這里有一個重要的模型不得不提一下,很多人其實已經想到了,那便是MVC(模型-視圖-控制器)模型。在傳統的web開發中,往往是JavaBean充當模型、JSP做視圖而Servlet作為控制器。
五、框架
說到框架,其實已經提到了著名的MVC模型,SSH(Struts+Spring+Hibernate)就是一個非常好的實現。對於每一個框架的作用,我想就不用多說了,畢竟這里並不是想寫一本教程。另外還有工作流開發的JBPM,搜索引擎Lucence及使系統對外提供介面的webservice應用組件等都是應該要掌握的。
六、伺服器
關於伺服器,像tomcat、jboss、weblogic及websphere等便不提了,因為太普遍了。這里要說的是Nginx,
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器。其以佔有內存少,並發能力強而著稱,連新浪、網易、 騰訊這類知名企業也在使用,所以還有什麼理由不去學它呢?
七、工具
這里主要介紹幾個開發輔助工具。如日誌工具Log4j、測試工具Junit、版本管理工具SVN還有項目管理maven等。
另外還有第三方插件Ectable。
㈥ 金融行業的JAVA軟體開發需要哪些技術
如果是做BS開發的話。一般需要java web相關技術。
一般的學習順序為:html,javascript,servlet,jsp,還有主流版的ssh框架。
㈦ 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的操作注入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="http://java.sun.com/xml/ns/javaee "
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd ">
<welcome-file-list>
<welcome-file>index.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-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<!-- 下面的配置信息,用來配置說明使用struts過濾器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<!--
下面的配置信息用來說明:程序中運行的action放置在哪個包下面,對於list.action的請求,它會自動在這個包下面尋找ListAction.class的類
如果沒有這句話,那麼所有的action請求只能在struts.xml中進行配置。
-->
<init-param>
<param-name>actionPackages</param-name>
<param-value>
com.action
</param-value>
</init-param>
</filter>
<!--
下面的配置表示對於所有請求都交給struts來處理。
-->
<filter-mapping>
<filter-name>struts2</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"
"http://struts.apache.org/dtds/struts-2.0.dtd ">
<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="http://www.springframework.org/schema/beans "
xmlns:aop="http://www.springframework.org/schema/aop "
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd ">
<!-- 數據源 -->
<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>
<value>com/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"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ">
<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>
接下來需要實現操作。
設計一個類繼承了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:
* http://xxxxx:xxxx//xxx/hello.action?method:list
* 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=方法名。
㈧ JavaEE的ssh框架要怎麼做
首先,SSH不是一個框架,而是多個框架(struts+spring+hibernate)的集成,是目前較流行的一種Web應用程序開源集成框架,用於構建靈活、易於擴展的多層Web應用程序。
集成SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層(實體層)。
Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持。Spring一方面作為一個輕量級的IoC容器,負責查找、定位、創建和管理對象及對象之間的依賴關系,另一方面能使Struts和Hibernate更好地工作。
㈨ java項目如何加密
Java基本的單向加密演算法:
1.BASE64 嚴格地說,屬於編碼格式,而非加密演算法
2.MD5(Message Digest algorithm 5,信息摘要演算法)
3.SHA(Secure Hash Algorithm,安全散列演算法)
4.HMAC(Hash Message Authentication Code,散列消息鑒別碼)
按 照RFC2045的定義,Base64被定義為:Base64內容傳送編碼被設計用來把任意序列的8位位元組描述為一種不易被人直接識別的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)
常見於郵件、http加密,截取http信息,你就會發現登錄操作的用戶名、密碼欄位通過BASE64加密的。
主要就是BASE64Encoder、BASE64Decoder兩個類,我們只需要知道使用對應的方法即可。另,BASE加密後產生的位元組位數是8的倍數,如果不夠位數以=符號填充。
MD5
MD5 -- message-digest algorithm 5 (信息-摘要演算法)縮寫,廣泛用於加密和解密技術,常用於文件校驗。校驗?不管文件多大,經過MD5後都能生成唯一的MD5值。好比現在的ISO校驗,都 是MD5校驗。怎麼用?當然是把ISO經過MD5後產生MD5的值。一般下載linux-ISO的朋友都見過下載鏈接旁邊放著MD5的串。就是用來驗證文 件是否一致的。
HMAC
HMAC(Hash Message Authentication Code,散列消息鑒別碼,基於密鑰的Hash演算法的認證協議。消息鑒別碼實現鑒別的原理是,用公開函數和密鑰產生一個固定長度的值作為認證標識,用這個 標識鑒別消息的完整性。使用一個密鑰生成一個固定大小的小數據塊,即MAC,並將其加入到消息中,然後傳輸。接收方利用與發送方共享的密鑰進行鑒別認證 等。