軟件體系結(jié)構(gòu)
常見(jiàn)的軟件系統(tǒng)體系結(jié)構(gòu) B/S 隙轻、C/S
1恨诱、C/S
????C/S 結(jié)構(gòu)即客戶端/服務(wù)器 (Client/server)晕窑,例如 qq
????需要編寫服務(wù)器端程序,以及客戶端程序
????缺點(diǎn):軟件更新時(shí)需要同時(shí)更新客戶端和服務(wù)器端睹栖,比較麻煩
????優(yōu)點(diǎn):安全性比較好
2、B/S
????B/S 結(jié)構(gòu)即瀏覽器/服務(wù)器(Browser/Server)茧痕;
????缺點(diǎn):只需要編寫服務(wù)器端程序
????缺點(diǎn):安全性比較差
web 資源
html:靜態(tài)資源
JSP/servlet:動(dòng)態(tài)資源(需要先轉(zhuǎn)換成靜態(tài)資源再被瀏覽器識(shí)別)
作者:定格r
鏈接:http://www.reibang.com/p/c3c762d9a442
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有野来,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。
web 服務(wù)器
web 服務(wù)器的作用是接收客戶端的請(qǐng)求踪旷,給客戶端做出響應(yīng)曼氛。
我們需要使用的是web服務(wù)器和JSP/Servlet容器
Tomcat :當(dāng)前應(yīng)用最廣的 javaweb 服務(wù)器
Tomcat 概述
Tomcat 服務(wù)器由 Apache 提供,開源免費(fèi)令野。由于 Sun 和其他公司參與到 Tomcat 的開發(fā)中舀患,所以最新的 JSP/Servlet 規(guī)范總能在 Tomcat 中體現(xiàn)出來(lái)。當(dāng)前 最新的版本 Tomcat 8.0
web應(yīng)用
靜態(tài)網(wǎng)站:
????????在 webapps 目錄下 創(chuàng)建一個(gè)目錄(命名必須不包含中文和空格)气破,這個(gè)目錄稱為項(xiàng)目目錄聊浅;
????????在項(xiàng)目目錄下創(chuàng)建一個(gè)html
動(dòng)態(tài)網(wǎng)站:
?????????在 webapps 目錄下 創(chuàng)建一個(gè)目錄
? ? ? ?? 在項(xiàng)目目錄下創(chuàng)建如下內(nèi)容:
? ? ? ? ? ? ? ? ? ? WEB-INF目錄
? ? ? ? ? ? ? ? ? ? ? ? ? ? 在WEB-INF目錄下創(chuàng)建web.xml文件
? ? ? ? ? ? ? ? ? ? 創(chuàng)建靜態(tài)或動(dòng)態(tài)頁(yè)面
http 協(xié)議
協(xié)議:協(xié)議的甲乙雙方,就是客戶端和服務(wù)器现使!
????????????理解成雙方通行的格式低匙。
請(qǐng)求協(xié)議
請(qǐng)求行
多個(gè)請(qǐng)求頭信息:(頭名稱:頭值)
空行
請(qǐng)求體
響應(yīng)協(xié)議
響應(yīng)行(協(xié)議/版本 狀態(tài)碼 狀態(tài)碼的解析)
響應(yīng)頭(key/value 格式)
空行
響應(yīng)正文
響應(yīng)頭
響應(yīng)頭對(duì)瀏覽器來(lái)說(shuō)很重要,它說(shuō)明了響應(yīng)的真正含義碳锈。
200: 請(qǐng)求成功顽冶,瀏覽器會(huì)把響應(yīng)體體內(nèi)容顯示在瀏覽器中
404:? 請(qǐng)求的資源沒(méi)有找到,說(shuō)明客戶端錯(cuò)誤的請(qǐng)求了不存在的資源
500:請(qǐng)求資源找到了售碳,但服務(wù)器內(nèi)部出現(xiàn)了錯(cuò)誤
302:重定向强重,表示服務(wù)器要求瀏覽器重新再發(fā)一個(gè)請(qǐng)求,服務(wù)器會(huì)發(fā)送一個(gè)響應(yīng)頭 Location贸人,它指定了新請(qǐng)求的 URL 地址
響應(yīng)頭:
? ? ? ? Last-Modified:最后修改的時(shí)間
?請(qǐng)求頭
? ? ? ? If-Modified-Since:把上次請(qǐng)求的index.html的最后修改時(shí)間還給服務(wù)器
狀態(tài)碼:304间景,比較? If-Modified-Since的時(shí)間與 ?? 文件真是時(shí)間一樣時(shí),服務(wù)器會(huì)響應(yīng)304灸姊,而且會(huì)有響正文拱燃,表示瀏覽器緩存的就是最新版本?
其他響應(yīng)頭
1.告訴瀏覽器不要緩存的響應(yīng)頭:
Expires:-1
Cache-Control:no-cache
Pragma:no-cache
2.自動(dòng)刷新響應(yīng)頭,瀏覽器會(huì)在 3 秒后請(qǐng)求hhtp://www.itcast.cn:
使用java畫圖
????????
public classimage{
? ? public? static? void ? ?? main(String [] args) ? throws ? ? IOException{
??????????????????? //得到圖片緩存區(qū) ? ? ??
?????????????BufferedImage bi=new BufferedImage(150,70,BufferedImage.TYPE_INT_BGR);
????????????????????//得到它的繪制環(huán)境(這張圖片的筆) ? ? ?
????????????? Graphics2D g2=(Graphics2D) bi.getGraphics();
??????????????????? //設(shè)置顏色 ? ? ? ?
????????????????g2.setColor(Color.WHITE);
??????????????????? //填充整張圖片(其實(shí)就是設(shè)置背景色) ? ??
?????????????????? g2.fillRect(0,0,150,70);
??????????????????//設(shè)置邊框線顏色 ??
???????????????? g2.setColor(Color.RED);
?????????????????? //設(shè)置邊框線大小 ??
? ? ? ? ? ? ? ? ? ? g2.drawRect(0,0,150-1,70-1);
??????????????????? //設(shè)置字體 ? ??
?????????????????? g2.setFont(new Font("宋體",Font.BOLD,18));
??????????????????? //設(shè)置顏色 ? ? ? ?
????????????????????g2.setColor(Color.BLACK);
??????????????????????? //像圖片上寫字符串
??????????????????? g2.drawString("helloWord!",3,50);
??????????????????????? //保存圖片 ? ? ?
??????????????????ImageIO.write(bi,"JPEG",new FileOutputStream("E:/a.jpg"));
? ? }
}