1. java學習主要是學習什麼呢
掌握抄java基礎是大前提;
開始企業級應襲用,提供介面,核心其實就是增刪改查;
進階了就是聯通各大主流企業框架,比如redis kafka springcloud nginx docker mysql等等;
再高階就是設計架構,整合這些東西,對企業應用的整個生態體系有一個完整的認識,比如並發量、設計思路、消息系統、日誌系統、微服務等等,看作者當前的階段了
總結——java做企業應用的,工作就是java開發
2. 學習Java的最佳路線
說到學習Java,我們今天就來說說Java開發需要學習的內容,說說java學習路線,說說Java學習的課程內容。
Java學習大致分為四大階段,具體內容如下:
第一階段——Java基礎
Java的學習內容從計算機基本概念,DOS命令開始,為你入門編程語言掃盲,什麼是程序,如何配置Java開發環境,Java編程的過程是怎樣的,Java有什麼物特點,程序是如何運行的,這些你都可以在這里得到答案。
Java編程的基礎語法,共分為10個知識點,我們將學習變數,基本數據類型,進制,轉義字元,運算符,分支語句和循環語句等,以達到訓練基礎語法和邏輯能力的目的。還有對數組、面向對象和異常處理等。
第二階段——JavaWeb
Web前端開發基礎和框架、Servlet和jsP在Web後端的應用、Web後端開發相關專題、MVC和分層架構以及項目開發流程及CASE工具的使用等。
第三階段——Java框架
框架是程序中另一種存儲數據的方式,比直接使用數組來存儲更加的靈活,在項目中應用十分廣泛。同時,框架整合開發(SSH/SSS)、RESTful架構和移動端介面設計、第三方介面和在線支付功能、網站安全和Spring Security應用實戰、復雜用戶交互處理和Spring Web Flow的應用、MyBatis的應用和SSM整合,我們將深入研究其中涉及到的數據結構和演算法,對學員的技術深度有了一個質的提升。
第四階段——Java+雲數據
億級並發架構演進、Linux基礎、搭建tomcat環境以實戰演練,企業真實項目供學員應用學習,進行知識體系的「二次學習」。
其實學習Java技術,大可參考此學習路線,該學習路線對從零基礎小白到Java初級開發工程師,Java高級開發工程師,後面的Java大神級開發工程師都有一個明確清晰的指導。
3. jsp EL表達式取值過程,page和pagecontext的區別
1、EL表達式解析過程
JSP中,我們經常會寫為${obj.name}字樣,但你有沒有想過,它的取值過程是什麼,屬性值從哪取得?
${obj}相當於 request.getAttribute("obj"),這句話嚴格來說不嚴謹,依次的請求范圍是page、request、session、application
也就是說,如果在page.getAttribute()找不到,再去request.getAttribute,如果request找不到,再去session里找,session里找不到,再去application里
page.getAttribute-------->request.getAttribute------------>session.getAttribute----------->applicaton.getAttribute
2、page和pagecontext的區別
page就是當前jsp頁面,也等同於jsp編譯後的servlet,查看java代碼可以得知,page是java.lang.Object類型
publicvoid_jspService(finaljavax.servlet.http.HttpServletRequestrequest,finaljavax.servlet.http.HttpServletResponseresponse)
throwsjava.io.IOException,javax.servlet.ServletException{
finaljavax.servlet.jsp.PageContextpageContext;
javax.servlet.http.HttpSessionsession=null;
finaljavax.servlet.ServletContextapplication;
finaljavax.servlet.ServletConfigconfig;
javax.servlet.jsp.JspWriterout=null;
finaljava.lang.Objectpage=this;
javax.servlet.jsp.JspWriter_jspx_out=null;
javax.servlet.jsp.PageContext_jspx_page_context=null;response.setContentType("text/html;charset=UTF-8");
pageContext=_jspxFactory.getPageContext(this,request,response,
null,true,8192,true);
_jspx_page_context=pageContext;
application=pageContext.getServletContext();
config=pageContext.getServletConfig();
session=pageContext.getSession();
out=pageContext.getOut();
_jspx_out=out;
}
來個具體的例子吧。
page1.jsp,設置鍵值對
<%
page.setAttribute("name","obma")
%>
在page1.jsp,可以取出上邊設置的name值,但是在其它頁面(page2,page3中....)獲取到的都是null
<%
Stringvalue=(String)page.getAttribute("name");
%>
pagecontext,是page的上下文,是javax.servlet.jsp.PageContext類型,它持有request,response,也持有page,通過pagecontext可以獲取servletcontext、servletconfig等,可以看出他是一個橋梁可以獲取上下文變數
4. Java學習路線
java的學習內容很多,涵蓋較多方面,這里大致分為幾個階段提供給你參考。
一、預科學習:
HTML5:HTML5標簽入門、HTML5表格、表單
CSS3:CSS3選擇器和簡單屬性、CSS3定位和布局、CSS3復雜選擇器和高級屬性
資料庫:mysql資料庫安裝和數據操作、約束和簡單查詢、復雜查詢、資料庫設計、oracle的安裝與數據操作、oracle與mysql的對比學習
二、JavaSE
Java語言基礎、程序邏輯:環境配置和第一個語言程序-HelloWorld 變數運算符 條件和循環 方法和數組
Java面向對象:面向對象入門 面向對象應用_管理系統類 Java常用類、String相關、演算法相關 面向對象深入(重載、this、static )繼承(重寫、super、初始化順序) 多態(抽象類和介面、final、克隆和比較介面 設計模式、對象和類的生命周期)
API:異常、日誌 集合 集合工具類和泛型 IO JDBC基礎線程 網路編程 反射 NIO Junit
Java面向對象思想:設計模式 面向對象原則
Java底層理論:集合底層 性能監控工具 反編 JUC
三、Java web
web基礎:TOMCAT/WEB程序結構/HTTP協議 Servlet基礎入門、servlet作用域(cookie、session、ServletContext)、 Cookie和Session 、Servlet的交互/JSP原理及運用、 JavaBean/EL/JSTL/MVC思想 、JSP+Servlet+JDBC綜合練習、Session購物車案例/驗證碼/防止表單重復提交、監聽器過濾器
第三方工具包:連接池、事務、分頁、文件上傳下載、Dom4j/Log4j/Log back
JavaScript和jQuery框架技術:JS入門和DOM基礎 、DOM模型深入 、jQ基礎、 jQ操作DOM
MVC動態Web開發技術:自定義MVC框架、DAO框架、前端框架(layUI)
Web開發高級運用:tomcat server伺服器配置 、nginx使用、 jetty配置
網路編程:網路原理、HTTP協議基礎、Linux操作系統、雲服務搭建
四、SSM框架
Spring框架、SpringMVC框架、MyBatis框架:mybatis入門、 配置文件詳解和動態sql的使用、 mybatis管理關系映射和延遲載入、 查詢緩存和逆向工程 、Spring入門和集成、myBatis SpringMVC入門 、SSM集成、 Spring配置詳解 、Spring AOP、 Spring事務配置 、SpringMVC高級功能 、SpringMVC原理
五、前沿技術
高可用、高並發、高擴展:Spring Boot 、緩存 、分布式 、全文索引、 服務中間件、 myCat、 雲服務 、人臉識別 、語言識別 、JVM底層+優化
希望能夠幫到你!!!