中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

建筑三級(jí)資質(zhì)可承接工程范圍win7優(yōu)化

建筑三級(jí)資質(zhì)可承接工程范圍,win7優(yōu)化,做模塊高考題的網(wǎng)站,常州云之家網(wǎng)站建設(shè)公司怎么樣JavaWeb的實(shí)訓(xùn)是學(xué)校的一門課程,老師先講解一些基礎(chǔ)知識(shí),然后讓我們自己開發(fā)一個(gè)比較簡(jiǎn)單的Web程序。可涉及的知識(shí)何其之多,不是實(shí)訓(xùn)課的 3 周時(shí)間可以講得完的,只是快速帶過。他說:重點(diǎn)是Web開發(fā)的流程。 我的實(shí)訓(xùn)草草…

JavaWeb的實(shí)訓(xùn)是學(xué)校的一門課程,老師先講解一些基礎(chǔ)知識(shí),然后讓我們自己開發(fā)一個(gè)比較簡(jiǎn)單的Web程序??缮婕暗闹R(shí)何其之多,不是實(shí)訓(xùn)課的 3 周時(shí)間可以講得完的,只是快速帶過。他說:重點(diǎn)是Web開發(fā)的流程。
我的實(shí)訓(xùn)草草收?qǐng)?#xff0c;一水而過,但也仍然留下了一些雜亂筆記,謹(jǐn)供參考。

文章目錄

    • 零、Hello
      • 1、心得
      • 2、問題
      • 3、其他
    • 一、實(shí)訓(xùn)前要求
      • 1、eclipse
      • 2、立項(xiàng)
      • 3、需求分析
      • 4、概要設(shè)計(jì)
      • 5、前端設(shè)計(jì)
    • 二、前端知識(shí)
    • 三、操作任務(wù)
    • 四、前端設(shè)計(jì)
      • 1、主頁(yè)
      • 2、登錄頁(yè)面
      • 3、后臺(tái)管理
    • 五、數(shù)據(jù)庫(kù)
      • 1、數(shù)據(jù)庫(kù)基礎(chǔ)
      • 2、MySQL基本使用
      • 3、SQL語句
      • 4、數(shù)據(jù)庫(kù)設(shè)計(jì)
      • 5、數(shù)據(jù)庫(kù)實(shí)現(xiàn)
    • 六、連接數(shù)據(jù)庫(kù):JDBC
      • 1、使用流程
      • 2、參數(shù)處理
      • 3、簡(jiǎn)單封裝
    • 七、MVC系統(tǒng)架構(gòu)
      • 1、架構(gòu)介紹
      • 2、系統(tǒng)架構(gòu)搭建
      • 3、小結(jié)
      • 4、Web項(xiàng)目運(yùn)行部署


零、Hello

1、心得

  • 不要經(jīng)常打補(bǔ)丁式地去填充一些細(xì)節(jié),而更應(yīng)該去尋找更好的結(jié)構(gòu)。

2、問題

  • for語法?
  • workbench創(chuàng)建外鍵的用法?

3、其他

  • 中華英才網(wǎng):招聘網(wǎng)站
  • 應(yīng)屆生:重視可塑性

一、實(shí)訓(xùn)前要求

大三暑假就可以實(shí)習(xí),只有一年了。(考研,考公,教資,就業(yè))

boos直聘。

  • 日記:80-100字
  • 7-10班答辯取消了

MVC: 一種項(xiàng)目架構(gòu)的設(shè)計(jì)模式,基于面向接口編程。

Servlet: 重要技術(shù),但是企業(yè)不用。能接受前端的用戶請(qǐng)求,把數(shù)據(jù)響應(yīng)前端。(servlet -> springmvc -> sprintboot)

JDBC: 數(shù)據(jù)庫(kù)連接技術(shù)

1、eclipse

工作空間的作用?會(huì)設(shè)置一些什么?

metadata:元數(shù)據(jù),描述數(shù)據(jù)的數(shù)據(jù)。

  • 字體:不要改,有些字體無法被識(shí)別,如javascript會(huì)有一些要求。

  • 字符編碼:utf-8

  • 設(shè)置JDK?

對(duì)象

  • 類是創(chuàng)建對(duì)象的模板
  • 類的形成:對(duì)現(xiàn)實(shí)事物共同點(diǎn)的抽象
  • 私有屬性能不能被繼承?能、不能都可以,要說出原因。
  • 方法重寫:只修改函數(shù)體。
  • 看源碼

繼承

  • 一個(gè)父類可以多個(gè)子類,但是一個(gè)子類只有一個(gè)父類。(子類屬于父類類型)
  • 多態(tài)?接口?抽象?

2、立項(xiàng)

1)名稱:《交個(gè)朋友》

2)需求:(實(shí)際需要需求調(diào)研

涉及部門:產(chǎn)品部(主),開發(fā)部(產(chǎn)品不懂技術(shù))

  1. 前端功能:用戶交互的界面

    • 首頁(yè)
      • 導(dǎo)航欄:注冊(cè),登錄,廣告(輪播圖),后臺(tái)管理,我的朋友,搜索
      • 內(nèi)容:輪播圖廣告,系統(tǒng)推薦朋友
      • Footer:版權(quán)信息
    • 朋友詳情
      • 頭像 --> 查看信息,但不同人的信息同一個(gè)模板(不用每人寫一個(gè)頁(yè)面)
    • 個(gè)人中心
      • 登錄用戶的信息
    • 用戶如何交到朋友?(流程
      • 一方:注冊(cè) --> 登錄 --> 搜索 / 推薦朋友 --> 查看 --> 好友申請(qǐng) --> 等待
      • 另一方:收到申請(qǐng) --> 查看詳情 --> 接受 / 拒絕(理由)
  2. 后臺(tái)功能:接受請(qǐng)求 --> 發(fā)牛響應(yīng)

    • 登錄
    • 用戶管理
      • 審核用戶
      • 禁用賬號(hào) / 解禁賬號(hào)
      • 刪除用戶
      • 修改用戶
    • 朋友推薦

3、需求分析

1)涉及部門:開發(fā)部

需求分析是了解要做什么

4、概要設(shè)計(jì)

信息

1)注冊(cè)信息:用戶昵稱,性別,密碼,確認(rèn)密碼

2)登錄信息:用戶昵稱,密碼

3)廣告信息:圖片,說明

4)用戶詳情:頭像,昵稱,真實(shí)姓名(對(duì)接公安系統(tǒng)),性別,職業(yè),宣言…

5)首頁(yè)推薦:頭像,昵稱,職業(yè)…

數(shù)據(jù)庫(kù)設(shè)計(jì)

5、前端設(shè)計(jì)

設(shè)計(jì)部門:前端設(shè)計(jì)部

過程:ps畫頁(yè)面原型 --> html頁(yè)面

前端崗位:

1)傳統(tǒng)前端:html / css / ps

2)現(xiàn)在前端:+ js框架 / 前端框架 / VUE前后端分離

在這里插入圖片描述

一個(gè)標(biāo)簽:像java中的一個(gè)對(duì)象

二、前端知識(shí)

1)div標(biāo)簽,在網(wǎng)頁(yè)中劃出一塊空間。

占多大 --> 設(shè)置樣式。

注:div本是只是豎向排列的標(biāo)簽。

2)盒子模型:

3)網(wǎng)頁(yè)布局:略

前端框架:Bootstrap (v3)。

4)框架:寫好了很多東西,拿來用就好了。DIV(do it self)。

使用框架:導(dǎo)入.css.js文件。

css類選擇器(class)與id選擇器(id)的區(qū)別是什么?

5)響應(yīng)式:拉動(dòng)頁(yè)面窗口(改變大小、縱橫比),內(nèi)容仍然可以正常顯示,自適應(yīng)。

6)柵格:div塊的嵌套,一個(gè)橫向div可以分很多列。不同的屏幕大小設(shè)備,適用于不同的樣式。

  • 12個(gè)分成5份?10/5,剩下的留白。
  • 文本對(duì)齊:左中右。
  • 學(xué)習(xí)框架:了解它能做哪些事情。
  • 圖片:顯示形狀(方、圓、方形圓角)

三、操作任務(wù)

搭建eclipse環(huán)境,熟悉css,安裝bootstrap文件

四、前端設(shè)計(jì)

1、主頁(yè)

1)導(dǎo)航欄

  • 組件:導(dǎo)航、分頁(yè)、縮略圖…
  • 先確定需求,然后開始寫自己的前端頁(yè)面。
  • 勾上 generate web .xml
  • 建議整個(gè)網(wǎng)頁(yè)放在一個(gè)container容器中。
  • nav:導(dǎo)航
  • 交互:如下拉框,js文件。導(dǎo)航欄中引用了jquery框架(怎么看出來的?
  • 用行內(nèi)樣式可以覆蓋默認(rèn)樣式。在瀏覽器修改,快速調(diào)整,不用每次都修改都刷新瀏覽器。

2)廣告欄

  • 調(diào)整圖片大小 / div形狀
  • 調(diào)整兩欄之間的間隙

3)系統(tǒng)推薦

  • 縮略圖
  • 注意div標(biāo)簽的正確對(duì)應(yīng)和閉合。

4)其它

  • 將導(dǎo)航欄固定在頂端,同時(shí)避免遮蓋。下面的廣告欄加上上邊距。

2、登錄頁(yè)面

  • 新建文件:register.html
  • 版權(quán)信息固定在底部
  • 柵格系統(tǒng):左廣告,右登錄頁(yè)
  • 表單登錄:輸入框,單選按鈕
  • <a>打開新標(biāo)簽頁(yè),使用target="_blank"屬性。

3、后臺(tái)管理

  • 不太注重前端的體驗(yàn)
  • 用戶會(huì)有默認(rèn)的頭像
  • 表格<tr><th><td><table> 。

五、數(shù)據(jù)庫(kù)

1、數(shù)據(jù)庫(kù)基礎(chǔ)

關(guān)系型數(shù)據(jù)庫(kù)。

mysql安裝流程:安裝mysql,安裝mysql服務(wù),登錄,修改密碼,設(shè)置遠(yuǎn)程連接(具體見視頻)。

update user set host='%' where user='root';
  • 官網(wǎng):mysql.com 。

移除mysql:停止服務(wù),mysqld -remove mysql,刪除安裝文件目錄,刪除注冊(cè)表。(使用.exe文件安裝的,按照普通軟件方式卸載)

  • services.msc

  • 自己注冊(cè)購(gòu)買幾個(gè)域名?

  • 社區(qū)版,8.x版本

  • 準(zhǔn)備工作:如果機(jī)器上已經(jīng)有,只要能用就無需安裝。若有但不能用,需卸載干凈后才能安裝。

  • my.ini

  • mysql與mysql服務(wù)?

  • 注冊(cè)表:維護(hù)計(jì)算機(jī)運(yùn)行的服務(wù)列表。

  • 登錄時(shí)指定登錄端口號(hào),使用參數(shù)-P,使用不同版本的mysql

  • 概念區(qū)分:數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù),表,數(shù)據(jù)。

    • 數(shù)據(jù)庫(kù)服務(wù)器:安裝了數(shù)據(jù)庫(kù)軟件的服務(wù)器。

    • 應(yīng)用服務(wù)器:安裝了應(yīng)用程序的服務(wù)器。(企業(yè)中會(huì)分開部署)

    • 數(shù)據(jù)庫(kù):在數(shù)據(jù)庫(kù)服務(wù)器中創(chuàng)建,用來存放數(shù)據(jù)表。

    • :用來存放數(shù)據(jù),以行為單位。

Java數(shù)據(jù)庫(kù)
一個(gè)類一張表
類屬性表字段
屬性類型字段類型
對(duì)象一行

MySQL客戶端的安裝:navicat_trial。workbench是老版本。

  • 本機(jī):localhost127.0.0.1
  • navicat_trial報(bào)錯(cuò)1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client,應(yīng)該是版本太舊了。

2、MySQL基本使用

  • 登錄mysql -u root -p,其中-p并不是password的意思,而是用于指定數(shù)據(jù)庫(kù),參數(shù)可以為空(即不選擇),在登錄后通過use <database_name>來選擇數(shù)據(jù)庫(kù)

  • sql的分類DDL(數(shù)據(jù)定義語言), DCL(數(shù)據(jù)控制語言), DML(數(shù)據(jù)操作語言), DLL(數(shù)據(jù)事務(wù)語言)

  • 創(chuàng)建數(shù)據(jù)庫(kù):可在客戶端中創(chuàng)建。

  • 創(chuàng)建數(shù)據(jù)表

    • (sex) 1boy 2girl,使用代號(hào)比使用字符串查詢更快。
    • (birthday),如果使用timestamp記錄從1970年開始的毫秒數(shù)),則1970前的生日無法表示??梢允褂?code>datetime。
    • 表名字不使用user,因?yàn)槭莝ql的關(guān)鍵字。
    • workbench顯然沒有navacat好用,比如寫入日期時(shí)沒有選項(xiàng)框,只能手打。
  • 數(shù)據(jù)類型:int, varchar, double, datatime, timestamp; 長(zhǎng)串?dāng)?shù)字,若不用于運(yùn)算,一律使用varchar而不用int。

  • 數(shù)據(jù)輸入

  • 主鍵能夠唯一標(biāo)識(shí)一條字段。一般不參與業(yè)務(wù)邏輯運(yùn)算,如學(xué)生主鍵經(jīng)常使用id而不用學(xué)號(hào)。

    • 修改表結(jié)構(gòu):在workbench中右鍵目標(biāo)表,選擇alter table
    • 設(shè)置自動(dòng)維護(hù)主鍵:勾選·Auto Increment。記錄已經(jīng)被使用過的主鍵的最大值,刪掉也不影響。
  • 外鍵:在一張表中,關(guān)聯(lián)另一張表的約束。

    • 鍵名沖突:例如學(xué)生表有個(gè)id,地址表也有個(gè)id,如果要?jiǎng)?chuàng)建外鍵就會(huì)有問題。因此,可以給每個(gè)表自己的主鍵加個(gè)標(biāo)識(shí),例如重命名為uid
      或者給外鍵加個(gè)標(biāo)識(shí)成aid應(yīng)該也行 )

    • 主外鍵約束。參照完整性,外鍵的值得在被關(guān)聯(lián)表中存在。約束的是外鍵列的值。

    • 主外鍵約束的建立。外鍵不能參照不存在的主鍵,于是已經(jīng)被參照的主鍵也無法被刪除。

      注意 :在開發(fā)過程中,表和表在結(jié)構(gòu)上體現(xiàn)主外鍵關(guān)系,但不創(chuàng)建主外鍵約束。因?yàn)閯h除(修改)一個(gè)主鍵字段,就要先刪除參照它的外鍵字段,這個(gè)外鍵字段的行可能又被被人參照,表間關(guān)聯(lián)和約束太多導(dǎo)致維護(hù)困難。

    • 主表:表中有一個(gè)主鍵被其他表用來當(dāng)外鍵的表。

    • 從表:把另外一個(gè)表中的主鍵當(dāng)作自己的外鍵的表。

3、SQL語句

  • 增加insert into 表名(字段1, 字段2) values(值1, 值2)

  • 修改update 表名 set 字段=新值, ... where 條件

  • 刪除delete from 表名 where 條件

  • 查詢select 字段1, 字段2... from 表名 where 條件

    • 查詢部分?jǐn)?shù)據(jù)limit

    • 模糊查詢。關(guān)鍵字like;通配符% _

      %可以代表任意多個(gè)字符,_可以代表任意一個(gè)字符。

    • 排序。order by

      對(duì)查詢好像結(jié)果排序,ASC(升序) | DESC(降序)

    • 分組。group by

      分組的目的是統(tǒng)計(jì)。常見的統(tǒng)計(jì)函數(shù)有(max min sum avg count)。

      含有g(shù)oupy by的sql中,select后只能接被分組的字段或統(tǒng)計(jì)函數(shù)。否則在mysql5.x版本會(huì)報(bào)錯(cuò);在8.x中不會(huì)報(bào)錯(cuò)但是無意義。

    • 多表連接查詢

    • 子查詢

      將一個(gè)查詢的結(jié)果作為另一個(gè)查詢的對(duì)象。

      案例:和李四住在一起的人有哪些?

      分析:首先知道李四住在哪,然后將李四住址作為條件進(jìn)行查詢。

-- 1、查詢部分?jǐn)?shù)據(jù)
select * from users limit 2; -- 返回查詢數(shù)據(jù)的前兩個(gè)
select * from users limit 0,1; -- 從0到1,注意下標(biāo)從0開始
-- 2、模糊查詢
select * from users where name like %%;
-- 4、分組
select * from users group by aid; -- 顯示每組的第一條數(shù)據(jù)
select aid, count(id) from users group by aid; -- 查詢每個(gè)地址人數(shù)
-- 5、連接
select * from users,address where users.aid = address.id;
select * from users as u,address a where u.aid = a.id; -- 簡(jiǎn)化寫法
-- 6、子查詢 --> 和李四住在一起的人有哪些?
select id,name,aid from users where aid = 
(select aid from users where name="李四");

4、數(shù)據(jù)庫(kù)設(shè)計(jì)

回頭再改表結(jié)構(gòu)是非常麻煩的。

三大范式1NF(列的原子性),2NF(直接依賴,即所有其他屬性都直接依賴于主鍵),3NF(每個(gè)字段不能傳遞依賴于主鍵,如有aid列,就不要address列了)。

原則:數(shù)據(jù)庫(kù)的性能,比規(guī)范化重要。

數(shù)據(jù)庫(kù)設(shè)計(jì)的過程

  1. 找出實(shí)體(對(duì)象)
  2. 找出實(shí)體的屬性
  3. 找出實(shí)體之間的關(guān)系E-R實(shí)體關(guān)系圖)
  4. 將ER圖轉(zhuǎn)換為

找實(shí)體

  • 用戶實(shí)體 users:主鍵 uid,密碼 password,頭像 photo,昵稱 nickname,真實(shí)姓名 name,性別 sex,職業(yè) career,宣言 words,

    審核狀態(tài) chechstatus(待審核1 通過2 未通過3) ,

    賬號(hào)狀態(tài) accstatus(正常1 禁用2)

    首頁(yè)推薦 indexstatus(未推薦1 已推薦2)

  • 廣告實(shí)體 ad:主鍵 adid,圖片 image,說明

  • 朋友實(shí)體 friends:主鍵 fid,邀請(qǐng)方 send,被邀請(qǐng)方 accept,邀請(qǐng)狀態(tài) status(未處理1 通過2 拒絕3)

  • 職業(yè)表 carrer:主鍵 cid,名稱 cname

英文命名盡量通俗,去查的單詞可能后來自己都不認(rèn)識(shí)了。

5、數(shù)據(jù)庫(kù)實(shí)現(xiàn)

表的Comments在哪里體現(xiàn)?

為什么要單獨(dú)創(chuàng)建一個(gè)職業(yè)表?

  • 頭像:用字符串存放路徑

六、連接數(shù)據(jù)庫(kù):JDBC

Web項(xiàng)目的三大塊:前臺(tái),后臺(tái),數(shù)據(jù)庫(kù)。

JDBC:Java DataBase Connectivity

1、使用流程

實(shí)現(xiàn)步驟

  1. 導(dǎo)入驅(qū)動(dòng)jar包。數(shù)據(jù)庫(kù)廠商給java提供了連接db的實(shí)現(xiàn)類。java只提供接口,實(shí)際調(diào)用的數(shù)據(jù)庫(kù)廠商的實(shí)現(xiàn)。即java的同一套接口可以連接不同的數(shù)據(jù)庫(kù)。
    • jar包放到 /lib 目錄下
    • Add to Build Path,產(chǎn)生一個(gè)Referenced Libraries。
  2. 注冊(cè)驅(qū)動(dòng)。
    • 記得注冊(cè)時(shí)區(qū)
    • localhost | 127.0.0.1
    • 有多個(gè)異常:使用父類Exception捕獲所有的異常。
  3. 創(chuàng)建連接
    • desc users 可以查看表的屬性。
  4. 創(chuàng)建業(yè)務(wù)sql
  5. 創(chuàng)建傳送和執(zhí)行sql的對(duì)象。PrepareStatement
    • 修改操作,得到的是影響行數(shù)。
    • 查詢操作,得到的是一張表。返回List,遍歷即可。
  6. 執(zhí)行sql,根據(jù)結(jié)果處理業(yè)務(wù)邏輯
    • 從語句的影響行數(shù)來判斷是否成功執(zhí)行
  7. 關(guān)閉資源。
  • 在一行數(shù)據(jù)中取屬性。

    • 使用各種get方法,一個(gè)個(gè)地取出屬性。
    • 然后將這些屬性構(gòu)成一個(gè)對(duì)象。
  • javabean:能夠存儲(chǔ)數(shù)據(jù)的一些類。(那記錄呢?)

    • 自動(dòng)生成getset方法、構(gòu)造方法。

      source --> Generate Getters and Setters

    • 標(biāo)準(zhǔn)的javabean:又腳vo(值對(duì)象),dto(數(shù)據(jù)傳輸對(duì)象),model(數(shù)據(jù)類型)

    • 唯一作用:進(jìn)行數(shù)據(jù)存儲(chǔ)(封裝)和傳輸。

// ResultSet對(duì)象的使用示例
while(rs.next()) {String id = rs.getString(1);int sex = rs.getInt("sex");System.out.println(id);
}

重載:一件事情,根據(jù)不同的條件有不同的實(shí)現(xiàn)方式。

對(duì)比:突然感覺,python中的字典就很方便。

局部類型推斷 var:在java10版本后。

感想:好像,自己寫代碼的時(shí)間就過得特別快。

2、參數(shù)處理

  • sql注入。可以干嘛?

    • sql的執(zhí)行計(jì)劃

    • 防御:sql語句使用占位符參數(shù),查詢時(shí)再給參數(shù)賦值,會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換(內(nèi)部有很多處理),丟掉多余的部分。

      將sex值只作為sex的字段值進(jìn)行設(shè)置,而不是組合sql語句。

    • 組合模糊查詢nm+"%"

// _sex = "1 or 1=1"
// 可以被sql注入的語句
String sql  = "select * from users where sex = " + _sex + ";";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 防sql注入的語句
String sql  = "select * from users where sex = ?;";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, _sex);select * from users where sex = '1 or 1=1';

問題pstmt.setString()是將_sex作為一個(gè)字符串加入sql語句的,它為什么可以正常執(zhí)行呢?在什么階段進(jìn)行了處理?

:你會(huì)發(fā)現(xiàn)下面這條語句就是可以正常執(zhí)行(即使sex的類型為int)。

select * from users where sex = '1 or 1=1';

3、簡(jiǎn)單封裝

  • 一共只需要一個(gè),也只需要建立一次數(shù)據(jù)庫(kù)連接。
  • 開發(fā)角度的封裝。
  1. 抽取connection對(duì)象的創(chuàng)建。

    public static Connection getConn()

  2. 抽取資源的關(guān)閉。

    public static void close(Connection conn, PreparedStatement pstmt)

  • 單例模式
    • 靜態(tài)塊:只在類加載時(shí)執(zhí)行一次。
    • finally關(guān)鍵字:不管catch執(zhí)不執(zhí)行,里面都會(huì)執(zhí)行。
    • 條件判斷將null寫在前面(老手):null != pstmt ;理論上可以避免空值異常。為啥?

感受:在jdbcUtil類中,多層嵌套的try-catch-finally看起來好丑。

七、MVC系統(tǒng)架構(gòu)

1、架構(gòu)介紹

不管java如何,先看生活中如何。

在這里插入圖片描述

  • 顧客:前端

    • 靜態(tài)技術(shù)html,css,js,bs

    • 動(dòng)態(tài)技術(shù)jsp,vue --> 靜態(tài)數(shù)據(jù)動(dòng)態(tài)化

  • 下單:發(fā)送請(qǐng)求

  • 服務(wù)員(控制層):控制整個(gè)業(yè)務(wù)流程走向,向前端負(fù)責(zé)。

    • 接受前端請(qǐng)求,并將請(qǐng)求獲取到的數(shù)據(jù)響應(yīng)前端。
    • 技術(shù)jsp,Servet,SpringMVC,SpringBoot
  • 廚師(服務(wù)層):向控制層負(fù)責(zé),為控制層提供服務(wù)。

    • 能夠提供各種方法,處理控制層的業(yè)務(wù)。
    • 思想面向接口編程。接口定義功能,實(shí)現(xiàn)類實(shí)現(xiàn)功能。控制層只需要調(diào)用接口方法即可,而無需知道具體實(shí)現(xiàn)。
  • 配菜師(DAO層):數(shù)據(jù)訪問層,從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)交給服務(wù)層,為服務(wù)層服務(wù)。

    • 只負(fù)責(zé)數(shù)據(jù)處理,將數(shù)據(jù)處理的結(jié)構(gòu)反饋給服務(wù)層即可。也面向接口編程。
    • 數(shù)據(jù)庫(kù)連接技術(shù)JDBC,MyBatis
  • 菜(DB數(shù)據(jù)庫(kù)):存放數(shù)據(jù)。

    • MySQL,ORACLE,DB2

MVC:Model(數(shù)據(jù)模型),View(視圖),Controller(控制)

流程View --> Controller --> Services --> DAO --> DB

2、系統(tǒng)架構(gòu)搭建

- src- edu.ft.control- edu.ft.services- edu.ft.dao- edu.ft.util- edu.ft.bean
- WebContent
  • 層次展示包結(jié)構(gòu):Package Presentation --> Hierarchical

想法:總是只看功能,不關(guān)心如何實(shí)現(xiàn),真的好嗎?

理解mvc代碼執(zhí)行流程:(以模擬注冊(cè)為例)

  1. control:把注冊(cè)信息入庫(kù),得到入庫(kù)的結(jié)果,將結(jié)果告知用戶。

  2. service:給控制器提供一個(gè)能夠入庫(kù)的功能。

  3. dao:給服務(wù)層提供一個(gè)能夠插入數(shù)據(jù)庫(kù)的功能。存粹地處理數(shù)據(jù),而不進(jìn)行任何業(yè)務(wù)邏輯的處理。

- control- Test
- services- impl :實(shí)現(xiàn)類- IUsersServiceImpl- IUsersService :一個(gè)接口
- dao- impl- IUsersDaoImpl- IUsersDao 
  • 使用對(duì)象傳數(shù)據(jù),避免冗長(zhǎng)的參數(shù)列表。

問題:注解Override是什么?

問題:給類再包一層接口,不會(huì)顯得多余嗎?

3、小結(jié)

  • 需求分析:要做什么。
  • 概要設(shè)計(jì):做成什么樣子。
  • 詳細(xì)設(shè)計(jì):每一個(gè)細(xì)節(jié)怎么做。

各個(gè)步驟可以并行開始,而不是只能一條龍。

  • 執(zhí)行計(jì)劃:解析sql

4、Web項(xiàng)目運(yùn)行部署

要實(shí)現(xiàn)靜態(tài)數(shù)據(jù)的動(dòng)態(tài)化。

  • 服務(wù)器:運(yùn)行項(xiàng)目的一個(gè)容器,其實(shí)就是一個(gè)軟件,如tomcat。汽車要放到馬路環(huán)境,才能啟動(dòng)運(yùn)行。

  • 在Eclipse中配置tomcat:windows --> Preferences --> Server --> Runtime Environments

  • 給項(xiàng)目配置tomcat:右鍵項(xiàng)目 --> Propenties for … --> Java Build Path --> Libraries

  • 運(yùn)行項(xiàng)目(部署到tomcat中):Window --> show view --> 搜索Servers --> open

    默認(rèn)端口號(hào)為8080

  • 訪問項(xiàng)目:url:http://IP(localhost):端口號(hào)/項(xiàng)目資源 ,例如http://localhost:8080/friends/index.html


http://www.risenshineclean.com/news/6865.html

相關(guān)文章:

  • wordpress如何修改評(píng)論網(wǎng)頁(yè)搜索優(yōu)化seo
  • 絕對(duì)域名做網(wǎng)站軟文營(yíng)銷的概念
  • 沒有網(wǎng)站備案可以做誠(chéng)信認(rèn)證嘛市場(chǎng)調(diào)研分析報(bào)告范文
  • asp.net 企業(yè)網(wǎng)站系統(tǒng)百度站長(zhǎng)收錄提交入口
  • 江門網(wǎng)站設(shè)計(jì)網(wǎng)站推廣多少錢一年
  • 山東青島疫情最新情況信息流廣告優(yōu)化師
  • 做低價(jià)的跨境電商網(wǎng)站百度競(jìng)價(jià)推廣開戶多少錢
  • 如何取消wordpress限制搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié)
  • 中國(guó)建設(shè)銀行網(wǎng)站評(píng)價(jià)西安關(guān)鍵詞優(yōu)化服務(wù)
  • 免費(fèi)空間網(wǎng)站推薦百度地圖網(wǎng)頁(yè)版進(jìn)入
  • 寧波有哪家公司做網(wǎng)站的2023年火爆的新聞
  • html購(gòu)物網(wǎng)站重慶關(guān)鍵詞優(yōu)化服務(wù)
  • 珠海企業(yè)網(wǎng)站推廣服務(wù)找關(guān)鍵詞的方法與技巧
  • 網(wǎng)站開發(fā)跟軟件開發(fā)如何在百度搜索到自己的網(wǎng)站
  • 專業(yè)網(wǎng)站設(shè)計(jì)開發(fā)網(wǎng)站互聯(lián)網(wǎng)廣告投放代理公司
  • 做h5的網(wǎng)站有哪些php開源建站系統(tǒng)
  • 東莞住房和建設(shè)局網(wǎng)站外貿(mào)業(yè)務(wù)推廣
  • 設(shè)計(jì)網(wǎng)站公司為什么都在上海淘寶運(yùn)營(yíng)培訓(xùn)多少錢
  • wordpress單本小說站seo主要優(yōu)化哪些
  • 南皮網(wǎng)站建設(shè)南寧網(wǎng)站建設(shè)及推廣
  • 公司設(shè)計(jì)網(wǎng)站需要注意哪些sem優(yōu)化是什么意思
  • 無錫做網(wǎng)站價(jià)格方象科技的企業(yè)愿景
  • 漢口網(wǎng)站制作怎么開發(fā)一個(gè)網(wǎng)站
  • 百度站點(diǎn)提交工具app開發(fā)工具
  • 網(wǎng)站建設(shè)的單可以刷嗎磁力多多
  • 資訊類網(wǎng)站建設(shè)網(wǎng)站生成器
  • visual studio 網(wǎng)站開發(fā)網(wǎng)絡(luò)推廣外包怎么接單
  • 青島網(wǎng)站建設(shè)公司排行谷歌下載安裝
  • 免費(fèi)安裝電腦wordpress長(zhǎng)沙關(guān)鍵詞優(yōu)化服務(wù)
  • 淺析b2c電子商務(wù)網(wǎng)站的建設(shè)seo是對(duì)網(wǎng)站進(jìn)行什么優(yōu)化