⑴ java web程序設計要學些什麼
一、 HTML CSS Javascript
正如嚴老師所說:「Java Web 的基礎是建立在HTML這套標簽的地基之上的」。所以學習Java Web 就要學習HTML的標簽,開始對HTML的理解並不是很深,本以為作為程序員對HTML的重點掌握無非就是From表單,哦,對了,還有Table,<a herf=」」>,文檔的格式<head><body>等等等等,而對於CSS,更覺得這對於作為程序員的我們沒有什麼太大的必要,那些事情完全是由美工來做的,而對於Javascript則覺得他應當是與vbscript一個時代的腳本語言,其作用無非是給頁面添加一些花哨的動態效果沒有什麼實際意義,但是當我接觸到更多的新技術如AJAX的時候便覺得我所掌握的遠遠不夠,對於AJAX而言你學要知道每個細節從而能夠設計出既美觀又具有人性化的用戶界面。而AJAX所以依託的基礎便是Javascript、CSS、HTML、XML,其思想在於使用XMLHttpRequest實現非同步調用把數據偷偷的下載到客戶端從而使得用戶無需刷新界面從而得到更好的上網體驗,此三種技術在AJAX中發揮的淋漓盡致。這才知道那本OReilly的 「Javascript犀牛書」並不是蓋的。這三個基礎性的東西還是學要好好的學習,老的技術相結合也能煥發出新的光彩。
二、 TomCat
總覺的這是一個讓人頭疼的東西,學習的時候常需要給他進行很多項配置,首先是虛擬路徑,在server.xml文件夾下加上<Context path=」/test」 docBase=」F:\dwb」>,有一次給同學安裝Tomcat6.0把Tomcat5.5裡面老師寫好的server.xml直接粘貼到了Tomcat6.0的cong文件夾下竟不能運行,這才知道版本不同隨便粘貼後果是很可怕的,還是老老實實的把<Context path=」/test」 docBase=」F:\dwb」>這句話粘貼上才是。東西有時命名目錄里的東西已經更改了,TomCat也已經重新啟動了,但網頁上顯示的依舊是以前的東西,還得把C:\Program Files\Apache Software Foundation\Tomcat 5.5\work\Catalina\localhost\這個目錄下的虛擬路徑刪掉(如經典的test目錄)。在做第9、10、11章的例子的時候還要把WEB-INF文件夾放到虛擬目錄的根目錄下否則會找不到WEB-INF文件夾,總之問題多多,問題越多,自己的經驗也就越多。
三、 JSP基本語法
1、 < % %>在jsp頁面中插入Java代碼,<%= %>表達式輸出語句
2、 JSP指令和動作:指令主要是<%@page %>、<%@include %>;動作主要是<jsp:forward>、<jsp:include>、<jsp:usebean>、<jsp:setProperty>、<jsp:getProperty>
3、 四種屬性的作用域page、request、session、appliction,一個比一個大,page只對當前頁面有效,request是在兩個頁面跳轉的時候包括伺服器端的跳轉,seesion只要瀏覽器不關閉,屬性一直存在。Appliction只要伺服器(如Tomcat)不關閉它一直都存在
總之我感覺JSP的基本語法還是很簡單的無非就是幾個標簽指令什麼的,稍需要注意的是<jsp:forward>是伺服器端的跳轉URL地址不變,<%@include %>、<jsp:include>主要是包含靜態和動態的區別。
四、 JSP內置對象
Request:主要作用接受表單傳來的數據,
Response:主要是可以像客戶端發送頭部信息和重定向sendRedirect
Out:輸出一些東西
Exception:一些異常信息
Config:這個對象比較厲害,它能獲得web.xml中的許多信息,如<application>中的值,<servlet>中的parm值等
Session和applicition對象主要是用他們的setAttribute和getAttribute方法存取一些屬性值,不同之處在於他們的作用域
五、 JDBC
與資料庫進行連接,這是學習程序的重頭戲,但也不是很難,主要是記住連接資料庫的一些流程
1、 Class.forName(驅動程序字元串)
主要有四種驅動方式,字元串也各不相同,我們常用的是連接access的jdbc odbc bridge字元串為sun.jdbc.odbc.jdbcodbcdriver
2、 DirverManger.getConnection(DBURL)
DBURL字元串為 Jdbc:odbc:數據源名稱
3、新建statement對象
4、執行exectuQuery或exectuUpdata方法
5、逆序關閉資料庫
六、結語:設計模式 與開發框架
DAO模式已經過時了,現在的主流模式是MVC;其中主要用了servlet充當控制層, 還需要在web.xml中配置servlet映射,它主要是起到數據控制流向的作用,現在說有主流的框架都是使用MVC模式,如SSH,但是這些框架都沒有想微軟vasual Studio那樣的可是控制項(雖然JavaBen是一些可復用的類),2005年推出的JSF開發框架彌補了這一缺陷,相信在未來作為SUN官方標准推出的JSF開發框架可能會成為主流框架,因為ESRI的ArcGIS Server就是依託於JSF框架開發的產品,相信JSF會成為以後開發框架的主流!
⑵ 開發的JAVA WEB程序部署在伺服器集群的哪一個伺服器上
閣下在沒有分布式集群部署經驗的前提下能畫出這樣的架構圖讓人佩服
本來我是不敢回答這些問題的,因為本身我也沒有集群部署經驗,但是一來沒有人幫忙回來二來我也看過一點這些相關的書籍,所以可以把我知道的給你說下,估計能幫助你30%。
整個架構部署用到了集群部署(1:2)、動靜分離、緩存服務、拆分資料庫等高並發處理技術,屬於大型系統的模型。
據我所知,集群1:2是1負載分發器、2web伺服器,(以Apache+tomcat集群為例),那麼Director server應該安裝Apache,而Real Server應該安裝tomcat,至於java web項目在tomcat下面即可。
而你的架構圖中還有動靜分離機制,理論上靜態文件伺服器也應該有java web項目才對,不然靜態文件伺服器如何取靜態文件呢。tomcat對靜態文件處理不是很好,所以很多人推薦用Nginx作為載體。
緩存和集群資料庫我不了解,不發表任何謬論。
session會話就是指的httpsession:一個客戶端一個session會話,在客戶端與伺服器保持通信期間都會需要這個會話,所以集群伺服器一定要保存這個session。問題是客戶端的URL請求被director server均衡分發了,可能第一次訪問的是第一個real server,第二次訪問的是第四個real server,如果session只在第一個real server保存,而第四個real server就會認為客戶掉線拒絕請求,所以你要考慮四個real server用一種機制保存共享所有客戶的session。一些經典的共享session方式有:session復制、session粘連、session統一獨立存儲等。
建議看下一些集群架構方面的書籍,比如《大型網站系統與java中間件實踐》。
⑶ 初學者如何迅速學習java、web前端開發
多敲!多敲!多敲!
基本上每一個初學者都會遇到這樣的問題,包括我之前也是一樣,導致的原因就是自己不喜歡動手,就算自己有了思路,卻不知道從何下手;因為在你的腦海中一直對這些題目都是存在於數學上面的操作,真的要使用代碼去實現的時候你腦子就會一篇空白
一個代碼寫多了的人,不管你的需求再難,他也能寫出一個基本的框架衡拆出來,也不至於無從下手,因為代碼寫多了的人都會總結出一套規律,開發都是這一個套路
《2020最新Java基礎精講視頻教程和學習路線!》
就跟你建房子一樣,基本碰慧的框架搭建完畢之後,只需要慢慢砌磚就行了
所以,學習Java最注重的就是實操,大家都知道去一個公司之後都是動手敲代碼,而不是在旁邊指揮,因為公司不會給你這么大的權力,你也達不到這樣的級別,所以公司要的是能夠寫代碼的人,你的理論在這里沒有太大的作用
站在岸上學不會游泳的道理大家都應該知道
Java學習路線
第一階段:
學習java首先是得安裝配置jdk
下面開始我們愉快且掉頭發的java之旅
1、入門的基本禮儀:HelloWord
2、Java基礎語法
3、Java條件結構
4、Java循環結構
第二階段:
數組:數組作為java裡面的第一個可以存儲數據的容器,也是後面集合的基礎
第三階段:
面向對象:萬物皆可對象,這也是java的核心思想,編程的時候也要面向對象編程,符合Java的編程規范
JVM:了解Java中的變數、常量、引用在JVM中國的存儲區域
第四階段:
Java常用類庫:String字元串的應用、Math和Date、集合框架、異常處理、反射
第五階段:
IO流:位元組流、字元流、其他流、文件讀寫及編輯、文件上傳下載
第六階段:
多笑攔答線程與網路編程
第七階段:資料庫
Mysql資料庫:
資料庫基礎
資料庫的安裝
使用語句建表
使用語句進行增、刪、改、查
多表查詢
子查詢
復合查詢
分頁查詢
分組查詢
數據字典
訪問控制
存儲過程
可視化工具的使用
JDBC:
JDBC基礎
ORM
JDBC高級
第八階段:前端基礎
HTML:
HTML基礎
HTML常用標簽
HTML表格
HTML表單
HTML多媒體
網頁整體結構
CSS:
CSS選擇的樣式
CSS文本樣式
CSS背景和列表
CSS盒子模型
Float浮動
CSS定位
CSS網頁布局
CSS網頁布局基礎
JS:
JavaScript基礎語法
JavaScript流程式控制制語句
JavaScript函數
JavaScript內置對象
基礎
事件
JavaScript實現輪播效果
JQuery:
Ajax基礎
JQuery選擇器
JQuery屬性操作
JQuery常用函數
JQuery事件處理
JQuery非同步請求
第九階段:Javaweb
JAVAWEB:
JAVAWEB核心基礎
JAVAWEB中jsp及java腳本指令
Jsp中隱式對象
Servlet核心處理器
Jsp與servlet實現登錄
JAVAWEB中的session
JAVAWEB的會話跟蹤
Jsp動作應用
Jsp的EL表達式
JSTL標簽使用
JSTL循環迭代
JSTL EL綜合練習
AOP編程
Filter過濾器應用實例
JAVAWEB文件上傳下載
MVC模型
第十階段:高級框架
構建javaweb應用:
框架概述
使用註解把類託管給spring
Lod4j
Spring整合JDBC
JDBC Template實現數據操作
SpringMVC應用基礎核心
視圖解析器和註解
控制請求方法的參數設置
視圖轉發、重定向
Mybatis框架的應用:
Mybatis黑心基礎概述
Mybatis全局配置
Mybatis基本查詢映射
Mybatis更新映射和緩存
Mybatis查詢結果的封裝和高級映射
Mybatis動態SQL
SPring整合Mybatis
第十一階段:擴展內容
Junit
設計模式
GIT/SVN代碼管理器
Redis
Maven
Springboot
Springcloud
Linux
Shiro
Lucene
Vue
Oracle
Spring Data JPA
抄代碼雖然是程序員的日常,但是初學者非常不建議去抄代碼,抄的代碼只會讓你越抄越亂,從而使自己的思維就依賴在了網路上,自己一點思維都沒有,那有如何去提升自己呢
代碼一定要有自己的思路,然後再把自己的思路轉為代碼實現,這才是學習Java的正確方式
⑷ 學javaweb的,前台的靜態頁面也要自己布局嗎
不需要,頁面由美工或者 Web 設計人員來做的。對於程序員來說,那些 CSS 和美術功底還達不到那種層次。
⑸ 建一個java web項目的主界面是使用frameset進行布局嗎後面的就是按前面的布局方式得到的嗎
第一:JAVAWEB主頁面,用frameset布局是不錯的
第二:你所得前後的布局,從整體看來是不太符合的
你的頭部和右側對應不對啊。
應該:
而左側的下部分,你應該有7部分的javascript。
希望能幫到你,
-------你懂得
⑹ java,web程序設計要學些什麼
Java Web程序設計分為5部分共19章,包括入門、JSP編程、Servlet和JavaBean開發、應用開發與框架、其他內容。
第1章 Java Web開發環境配置
1.1 B/S結構
1.2 伺服器安裝
1.2.1 伺服器的作用
1.2.2 獲取伺服器軟體
1.2.3 安裝伺服器
1.2.4 測試伺服器
1.2.5 配置伺服器
1.3 IDE安裝
1.3.1 IDE的作用
1.3.2 獲取IDE軟體
1.3.3 安裝IDE
1.3.4 配置IDE
1.4 第一個Web項目
1.4.1 創建一個Web項目
1.4.2 目錄結構
1.4.3 部署
1.4.4 常見錯誤
1.5 本章總結
1.6 上機習題
第2章 HTML基礎
2.1 靜態網頁製作
2.1.1 HTML簡介
2.1.2 HTML文檔的基本結構
2.2 HTML中的常見標簽
2.2.1 文字布局及字體標簽
2.2.2 列表標簽
2.3 表格標簽
2.3.1 表格基本設計
2.3.2 合並單元格
2.4 鏈接和圖片標簽
2.5 表單標簽
2.6 框架
2.7 本章總結
2.8 上機習題
第3章 JavaScript基礎
3.1 JavaScript簡介
3.1.1 第一個JavaScript程序
3.1.2 JavaScript語法
3.2 JavaScript內置對象
3.2.1 window對象
3.2.2 history對象
3.2.3 document對象
3.2.4 location對象
3.3 本章總結
3.4 上機習題
第4章 JSP基本語法
4.1 第一個JSP頁面
4.2 注釋
4.3 JSP表達式
4.4.JSP程序段
4.5 JSP聲明
4.6 URL傳值
4.7 JSP指令和動作
4.7.1 JSP指令
4.7.2 JSP動作
4.8 本章總結
4.9 上機習題
第5章 表單開發
5.1 認識表單
5.1.1 表單的作用
5.1.2 定義表單
5.2 單一表單元素數據的獲取
5.2.1 獲取文本框中的數據
5.2.2 獲取密碼框中的數據
5.2.3 獲取多行文本框中的數據
5.2.4 獲取單選按鈕中的數據
5.2.5 獲取下拉菜單中的數據
5.3 捆綁表單元素數據的獲取
5.3.1 獲取復選框中的數據
5.3.2 獲取多選列表框中的數據
5.3.3 獲取其他同名表單元素中的數據
5.4 隱藏表單
5.5 其他問題
5.5.1 用JavaScript進行提交
5.5.2 和文亂碼問題
5.6 本章總結
5.7 上機習題
第6章 JSP訪問資料庫
6.1 JDBC簡介
6.2 建立ODBC數據源
6.3 JDBC操作
6.3.1 添加數據
6.3.2 刪除數據
6.3.3 修改數據
6.3.4 查詢數據
6.4 使用Prepared Statement
6.5 事務
6.6 使用廠商驅動進行資料庫連接
6.7 本章總結
6.8 上機習題
第7章 JSP內置對象(1)
7.1 認識JSP內置對象
7.2 out對象
7.3 request對象
7.4 response對象
7.4.1 利用response對象進行重定向
7.4.2 利用response設置HTTP頭
7.5 Cookie操作
7.6 本章總結
7.7 上機習題
第8章 JSP內置對象(2)
8.1 利用session開發購物車
8.1.1 購物車需求
8.1.2 如何用session開發購物車
8.2 session其他API
8.2.1 session的其他操作
8.2.2 SessionId
8.2.3 利用session保存登錄信息
8.3 application對象
8.4 其他對象
8.5 本章總結
8.6 上機習題
第9章 Servlet編程
9.1 認識Servlet
9.2 編寫Servlet
9.2.1 建立Servlet
9.2.2 Servlet運行機制
9.3 Servlet生命周期
9.4 Servlet與JSP內置對象
9.5 設置歡迎頁面
9.6 在Servletr辛讀取參數
9.6.1 設置參數
9.6.2 獲取參數
9.7 使用過濾器
9.7.1 為什麼需要過濾器
9.7.2 編寫過濾器
9.7.3 需要注意的問題
9.8 異常處理
9.9 本章總結
9.10 上機習題
第10章 JSP和JavaBean
10.1 認識JavaBean
10.1.1 編寫JavaBean
10.1.2 特殊JavaBean屬性
10.2 在JSP扣使用JavaBean
10.3 JavaBean的范圍
10.4 DAO和VO
10.4.1 為什麼需要DAO和VO
10.4.2 編寫DAO和VO
……
第11章 EL和JSTL
第12章 Ajax入門
第13章 驗證碼和文件上傳、下載
第14章 MVC和Struts基本原則
第15章 Struts標簽庫
第16章 Struts資源文件和錯誤處理
第17章 Struts 2基本開發
第18章 JSP自定義標簽
第19章 Web網站安全
⑺ JavaWeb項目到底該使用什麼框架
每個人都有自己的理解,我肯定有不正確的地方,權且當拋磚引玉
1.有的人認為使用了SSH可以大大提高系統速度,其實不然,我兩個月前遇到的一個銀行反洗錢項目就使用struts1.2 + jdbc開發,資料庫20G左右,同樣正常運行,速度還可以,我認為SSH提高的是非視圖層的開發效率,減少了維護難度,對於運行速度倒不一定
2.有的人認為只要會SSH的基本組合就可以了,其實不然,它們每個都是很多的版本,有些版本存在本質區別,如struts1和struts2的本質不同,spring2和spring2.5的註解配置,如果一點不考慮,一股腦採用配置文件,最終的結果只會被配置文件淹沒,反而提高了維護難度,當然,太多的註解也讓人昏迷,所以我認為必須對這些重點差異版本都進行學習,至少使用一會,自己去體會,找到配置文件和註解的平衡,從而提高開發效率,減少維護難度
3.有的人認為hibernate好啊,有了它就萬事大吉,其實不然,經過實踐證明,它無法對復雜sql進行良好處理,事實上,實際項目中對復雜sql的需求相當高,遠比增刪改多,比如,我曾經做過的反洗錢系統中,三個大表,即使分表後依然千萬級的數據量,並且三表還存在關聯,使用hibernate,無法想像,所以我們使用ibatis2來專門處理復雜查詢sql,以及批量修改和刪除,使用hibernate來處理其他操作
這里給一個SQL,看誰能使用HQL寫出來,如果有,我佩服
Sql代碼 收藏代碼
select datename(year,a.tr_date)+datename(month,a.tr_date)+(case when day(a.tr_date)<10 then '0'+datename(day,a.tr_date) else datename(day,a.tr_date) end ) as trade_date,
datename(year,a.analyse_date)+datename(month,a.analyse_date)+(case when day(a.analyse_date)<10 then '0'+datename(day,a.analyse_date) else datename(day,a.analyse_date) end ) as analyse_date,
datename(year,a.rep_date)+datename(month,a.rep_date)+(case when day(a.rep_date)<10 then '0'+datename(day,a.rep_date) else datename(day,a.rep_date) end ) as rep_date,
a.*,
d.*,
s.file_name
from tbriskshow a, tbriskshow_detail d, tbriskshow_relation r, rep_riskshow_file s
where a.check_flag > 2
and a.sus_flag = 2
and r.id = a.id
and r.tbriskdetail_id = d.id
and a.status = 0
and a.type = 5
and s.riskshow_id = a.id
4.合理的配置文件布局很重要,項目開發才能正常進行,不要以為將所有struts,spring配置信息放置在一個文件中會很爽,如果你感覺到爽,那是因為你做的項目太小,所以全部按某種規范分開放置,使用總配置文件來引用這些配置
5.再說說視圖層,當前無外乎是JSP、CSS、JS、EL、JSTL、JSF、Jquery、Ext等技術,再高級點的就是使用JSP自定義標簽技術將某些東西封裝起成標簽表單和表格,供統一調用,其實不管怎麼樣,由於每個人技術層次不同,到了後面維護必可避免的難搞,所以我結合我自己做過、參與過、看過的項目,認為視圖層可以這樣做:將所有控制項封裝(有人可能會說,這得封裝多少東西啊,其實主要封裝了表單、表格、樹形、復選下拉、對話框,就能解決大部分問題),開發人員使用標准XML來配置界面以及其方法,再通過一個標准XML格式和伺服器(SSH、存儲過程)進行交互,這樣,哪怕一個對界面完全沒有感覺的人也能做出漂亮且風格完全統一的頁面,並且維護相對容易,以下是一個示例
頁面配置XML:
<!-- 菜單操作基礎表單 -->
<view id="10000011_form_base_conf">
<column>2</column>
<defButtons>true</defButtons>
<col type="number" field="cdbh" readonly="true" value="-1">菜單編號</col>
<col type="number" field="fjbh" readonly="true" value="-1">父級編號</col>
<col type="input" field="cdmc" must="true">菜單名稱</col>
<col type="select" field="sfzy" must="true" option="是:1|否:0">是否枝葉</col>
<col type="number" field="pxh">排序號</col>
<col type="input" field="ljdz" must="true">連接地址</col>
</view>
<!-- 添加菜單 -->
<view id="10000011_form_add_conf">
<ext>10000011_form_base_conf</ext>
<add_func_id>10000012</add_func_id>
</view>
<!-- 修改菜單 -->
<view id="10000011_form_edit_conf">
<ext>10000011_form_base_conf</ext>
<edit_func_id>10000013</edit_func_id>
<delete_func_id>10000014</delete_func_id>
</view>
數據訪問XML:
<func id="10000012">
<param name="cdmc" type="varchar" nullValue="" />
<param name="sfzy" type="int" nullValue="0" />
<param name="fjbh" type="int" nullValue="0" />
<param name="pxh" type="int" nullValue="0" />
<param name="ljdz" type="varchar" nullValue="" />
</func>
6.最後說說JavaWeb的未來,當然我個人認為的未來,隨著Iphone,Ipad,安卓的普及,JavaWeb進軍手機是必然的,就像當年PC上用PB,VB做的MIS,CRM等管理類桌面程序被大清洗一樣(本人原來也是個PB程序員,後來轉的Java,現在還依稀記得datewindow的風采),所以我認為JavaWeb的未來就是手持設備瀏覽器,伺服器端其實應該沒有太大變化,主要前端UI部分:多風格、多點觸控式完全替代傳統的表格、表單都是可能的,現在已經有不少框架出現,JQtouch、Jquery Mobile、Sencha Touch等等,當然這些我自己也還在學習中,談不出什麼,但我相信這就是未來,讓我們拭目以待吧