什么是java Web?
對(duì)于網(wǎng)站建設(shè)公司來(lái)講,Java Web,是用Java技術(shù)來(lái)解決相關(guān)web互聯(lián)網(wǎng)領(lǐng)域的技術(shù)棧。web包括:web服務(wù)端和webkehudua兩部分。Java在客戶端的應(yīng)用有Java Applet,不過(guò)使用得很少,Java在服務(wù)器端的應(yīng)用非常的豐富,比如Servlet,JSP、第三方框架等等。Java技術(shù)對(duì)Web領(lǐng)域的發(fā)展注入了強(qiáng)大的動(dòng)力。
maven
概念: 項(xiàng)目構(gòu)建工具
核心配置文件:prom.xml
項(xiàng)目坐標(biāo):groupId、artifactid
打包方式(packaging) :war jar
配置(properties) :配置字符集,jdk版本
依賴(dependency) :項(xiàng)目中需要的其他公司編寫(xiě)好的java代碼,可以通過(guò)坐標(biāo)定位倉(cāng)庫(kù)所在位置
構(gòu)建(build):定義構(gòu)建maven項(xiàng)目需要的插件
maven命令
clean: 清空倉(cāng)庫(kù)中已打包的項(xiàng)目
install:對(duì)項(xiàng)目進(jìn)行打包
三個(gè)主要目錄main
java:主要存放java文件
resources:主要存放項(xiàng)目配置文件
webapp:頁(yè)面(HTML)
WEB-INF(該目錄下的頁(yè)面無(wú)法被瀏覽器直接訪問(wèn))
Tomcat
定義:web服務(wù)器,用于運(yùn)行war包程序
目錄結(jié)構(gòu)
bin目錄:存放系統(tǒng)可執(zhí)行程序
startup啟動(dòng)
shutdown關(guān)閉
conf目錄:config縮寫(xiě)配置文件(server.xml)
lib目錄:library,存放tomcat所需要的jar包
logs目錄:存放日志文件
webapps目錄:存放war包目錄
web項(xiàng)目依賴包
maven倉(cāng)庫(kù)jar地址:
mysql驅(qū)動(dòng)包:用于java鏈接數(shù)據(jù)庫(kù)
lombok包:自動(dòng)生成實(shí)體類包
@Data自動(dòng)生成get、set、toSting
@AllArgsConstructor為實(shí)體類生成全參構(gòu)造器
@NoArgsConstructor為實(shí)體類生成無(wú)參構(gòu)造器
fastjson包:用于瀏覽器與控制層的傳遞
將java類型轉(zhuǎn)換位json類型:toJSONString()
servlet-api包:瀏覽器與控制層鏈接
dbutils包:封裝jdbc代碼
QueryRunner 數(shù)據(jù)庫(kù)操作類,需要傳入數(shù)據(jù)源
query()執(zhí)行查詢sql語(yǔ)句
update()執(zhí)行添加,修改,刪除sql語(yǔ)句
結(jié)果集處理類
注意:實(shí)體類的屬性要和數(shù)據(jù)庫(kù)中的表字段要一致
BeanHandler將查詢的結(jié)果以java對(duì)象形式返回
beanLIstHandler將查詢的結(jié)果以List集合形式返回
ScalarHandler將查詢結(jié)果的第一個(gè)值返回 ,一般查詢總條數(shù)時(shí)使用。
druid包:數(shù)據(jù)庫(kù)連接池包
DBPool.java鏈接池類,包含了數(shù)據(jù)庫(kù)鏈接信息
java包結(jié)構(gòu)
com開(kāi)頭:網(wǎng)絡(luò)工程,org開(kāi)頭:開(kāi)源項(xiàng)目
controller(控制層)
service(業(yè)務(wù)層)
impl(業(yè)務(wù)層實(shí)現(xiàn))
dao(持久層)
impl(持久層實(shí)現(xiàn))
pojo/entity/javabean(實(shí)體類包)
util(工具包)
form表單
屬性
action:提交地址,寫(xiě)入要提交到的Servlet的地址
method:提交表單方式
get提交:明文提交,表單內(nèi)容會(huì)在瀏覽器中顯示,默認(rèn)的提交方式,一般謹(jǐn)慎使用
post提交:密文提交,表單的內(nèi)容不會(huì)在瀏覽器上顯示,一般都是使用這種提交方式
enctype="multipart/form-data"
上傳文件需要設(shè)置的屬性
servlet
HttpServlet 專門用于HTTP請(qǐng)求處理的servlet所以所有的控制層都應(yīng)該繼承該類與瀏覽器交互
@WebServlet value的值是訪問(wèn)該Servlet的地址
doGet():用于處理get請(qǐng)求,比如超鏈接,直接在瀏覽器地址欄輸入,一般默認(rèn)都是get請(qǐng)求
doPost():當(dāng)設(shè)置請(qǐng)求為post,比如表單method=“post”,ajax的type:"post"
HttpServletRequset:該類攜帶了瀏覽器的數(shù)據(jù),通過(guò)該類獲取瀏覽器傳遞過(guò)來(lái)的參數(shù)
HttpServletResponse:相應(yīng),后臺(tái)給瀏覽器返回?cái)?shù)據(jù)
resp.getWriter().writer()
BaseServlet:自定義工具類,繼承HttpServlet,用于整合doGet和doPost請(qǐng)求和其他公共代碼
統(tǒng)一的接收參數(shù)getParam()
設(shè)置統(tǒng)一的字符集utf-8
jsp
瀏覽器無(wú)法直接解析,而是將java將jsp文件轉(zhuǎn)成servlet,而是通過(guò)字符輸出流輸出給瀏覽器
jsp出現(xiàn)的愿因:早期技術(shù)匱乏,前端頁(yè)面與java結(jié)合出現(xiàn)的產(chǎn)物
現(xiàn)在有了ajax,更方便的前后端交互的技術(shù),jsp慢慢的被淘汰了。
作用域
pageContext:當(dāng)前頁(yè)面,基本不會(huì)使用
request:請(qǐng)求;一次請(qǐng)求
session:一次會(huì)話
主要用于保存登錄的用戶信息
HttpSession session = req.getSession();
存儲(chǔ)數(shù)據(jù):session.setAttribute("login",user);
拿取數(shù)據(jù):getAttribute("login)
application:全局
生命周期
實(shí)例化:在項(xiàng)目啟動(dòng)時(shí)實(shí)例化
初始化(init方法):在實(shí)例化之后進(jìn)行初始化
提供服務(wù)(service方法):HttpServlet將service方法分成了odGet和doPost兩個(gè)方法
銷毀(destroy銷毀):結(jié)束程序運(yùn)行執(zhí)行的方法
過(guò)濾器Filter
概念:過(guò)濾請(qǐng)求,可以在進(jìn)入servlet之前,可以做一些預(yù)處理或者進(jìn)行攔截。
@WebFilter("/")將自定義監(jiān)聽(tīng)器
通過(guò)web xml進(jìn)行配置
代碼演示
監(jiān)聽(tīng)器Listener
概念:剋以對(duì)四大作用域進(jìn)行監(jiān)聽(tīng),項(xiàng)目啟動(dòng)時(shí)會(huì)一直執(zhí)行
地址匹配規(guī)則
路徑匹配,比如:/loginServlet
全局匹配,/*
缺省值 /,如果沒(méi)有別的servlet匹配成功,則該servlet會(huì)執(zhí)行。
后綴名。*.do 或*.action
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹(shù)莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長(zhǎng)沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營(yíng)網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)