【手把手】JavaWeb 入門(mén)級(jí)項(xiàng)目實(shí)戰(zhàn) -- 文章發(fā)布系統(tǒng) (第八節(jié))

Paste_Image.png

首先,最近很多人都來(lái)問(wèn)我問(wèn)題,我列舉幾個(gè)比較典型的說(shuō)明一下。

1. 一定要通過(guò)注解和反射的方式生產(chǎn)建表語(yǔ)句嗎,我能不能直接在mysql中建表?

當(dāng)然可以,我只是為了說(shuō)明一下注解和反射可以用在這個(gè)地方,實(shí)際開(kāi)發(fā)肯定不會(huì)這么做啦。一般都使用框架,比如hibernate,mybatis,sping-jdbc等。

2. 如果我自己開(kāi)發(fā)一個(gè)小項(xiàng)目,jdbc用什么框架比較好?

這個(gè)看具體情況,我個(gè)人比較喜歡sping-jdbc,因?yàn)槲矣X(jué)得還是自己寫(xiě)sql來(lái)得直觀,mybatis雖然也是自己寫(xiě)sql,但是需要花很多時(shí)間配置,如果不熟練的話,會(huì)在這部分花很多時(shí)間去排錯(cuò)。至于hibernate,不得不說(shuō),這個(gè)思想很好,可是現(xiàn)在用的人也不是很多了。

如果有精力,可以自己將這些框架做一個(gè)封裝或者整合,弄一套適合自己的框架,也是可以的。

如果只是一個(gè)小項(xiàng)目,數(shù)據(jù)量不是很多的話,mybatis是個(gè)不錯(cuò)的選擇,網(wǎng)上可以搜到一個(gè)逆向生成工具,直接生產(chǎn)bean層和dao層,一行代碼不用寫(xiě)。

3. 一般企業(yè)開(kāi)發(fā)用mysql多還是oracle多?

都有吧,看具體情況的,一般那種大型項(xiàng)目用oracle比較多。小項(xiàng)目的話,mysql用得比較多,我個(gè)人感覺(jué)是這樣,雖然我經(jīng)歷的幾個(gè)公司都是用oracle。

4. 馬上面試了,好緊張啊,萬(wàn)一被問(wèn)到不會(huì)的咋辦?(校招)

校招的話,其實(shí)對(duì)方也知道你的情況,我建議如實(shí)說(shuō)就好了。但你要堅(jiān)信一點(diǎn),就是編程這玩意其實(shí)真的好簡(jiǎn)單的,沒(méi)有一般人想得那么復(fù)雜。

你要堅(jiān)信只要給你時(shí)間,最多兩年,你就基本上什么都會(huì)了,新技術(shù)也一樣,沒(méi)什么大不了的。你現(xiàn)在可能還無(wú)法體會(huì),以后慢慢會(huì)明白我說(shuō)的。

我們畢竟不是去專(zhuān)門(mén)做什么算法研究,或者搞科研。

我們更多的是學(xué)著怎么應(yīng)用,怎么去網(wǎng)上搜索已有的技術(shù)和demo完成功能。

說(shuō)實(shí)話,從編程小白到熟能生巧,真的只是時(shí)間問(wèn)題罷了。

所以完全沒(méi)必要緊張,如果碰到實(shí)在不會(huì)的題,就如實(shí)說(shuō)不清楚唄。但你要給別人一種自信的感覺(jué),就是一種“我只是現(xiàn)在沒(méi)接觸罷了,所以不會(huì),但我知道這些東西都沒(méi)什么難的,給我點(diǎn)時(shí)間,自然就會(huì)了。”

1. 內(nèi)容區(qū)回顧

本節(jié)繼續(xù)上一次的內(nèi)容,把首頁(yè)來(lái)完善一下。

上次我們繪制了內(nèi)容區(qū),根據(jù)文章分類(lèi)依次垂直排開(kāi):

Paste_Image.png

我們接下來(lái),需要給文章的展示做一個(gè)封面,展示文章的標(biāo)題,作者名稱(chēng)等信息。

每個(gè)灰色小塊的html代碼:

<div class='category'>
    <div class='title'>連載小說(shuō)</div>
    <ul class='items'>
        <li class='item'></li>
        <li class='item'></li>
        <li class='item'></li>
        <div style='clear:both'></div>
    </ul>
</div>

css代碼

.category {
    margin-top: 10px;
    margin-bottom:20px;
}
    
.category .title {
    margin-bottom: 10px;
    border-bottom: 1px solid #cac5c5;
    height: 30px;
    text-indent:1em;
    font-size:18px;
    color:#666;
}

.category .items {
    margin-left:10px;
}

.category .items .item {
    width: 230px;
    height: 320px;
    background: #ccc;
    margin: 20px;
    float: left;
    margin-right:20px;
    cursor:pointer;
}

這些代碼就相當(dāng)于灰色小塊的骨架,今天我在寫(xiě)文的時(shí)候突然想到了這個(gè)比喻,html代碼不就是頁(yè)面元素的骨架嗎?如果說(shuō)html是元素的骨架,那么,css就是給這個(gè)骨架披上的一層外衣。

先寫(xiě)骨架,再寫(xiě)外衣。

雖然現(xiàn)在bootstrap,easyui等等的框架都越來(lái)越流行,可我還是覺(jué)得,作為一個(gè)碼農(nóng),基本的 div + css 還是要會(huì)一點(diǎn)的,總不能說(shuō)一點(diǎn)都不會(huì)吧。

在寫(xiě)css之前,我個(gè)人喜歡先把元素的骨架搭好,接下來(lái)的工作,無(wú)非就是給元素添加外衣罷了。

難道不是嗎,你覺(jué)得呢?

記得早些時(shí)候,剛參加工作,難免會(huì)遇到一些需要自己畫(huà)頁(yè)面的情況,當(dāng)時(shí)我那個(gè)囧啊。

我當(dāng)時(shí)想,媽蛋,勞資是學(xué)java的,干嘛非得讓我畫(huà)頁(yè)面啊!

可是總不能說(shuō)我做不了吧,于是我只好各種百度,各種練習(xí),每天都學(xué)到深夜12點(diǎn)鐘。

別無(wú)他法,去看別人的頁(yè)面怎么寫(xiě)的。

那段時(shí)間好糾結(jié)的,各種看不懂,各種郁悶。

我總也想不通,就寫(xiě)了幾個(gè)div,配上一些css,頁(yè)面怎么就能成這個(gè)樣子了呢?

沒(méi)辦法,我就跟著模仿,再加上自己總結(jié)。一開(kāi)始怎么模仿都不像,一不小心布局就亂掉了。

我現(xiàn)在的觀點(diǎn)是,這方面真的沒(méi)啥捷徑,除非你真的特別特別聰明。

我的意思是說(shuō),就算你看了很多關(guān)于div + css的視頻,買(mǎi)了很多書(shū),如果你自己不去練習(xí),還是沒(méi)用的。

并不是說(shuō)視頻看懂了就行了,還是要親自驗(yàn)證,然后親自去調(diào)試。一點(diǎn)一點(diǎn)琢磨出來(lái)。

哪怕那個(gè)知識(shí)點(diǎn)你已經(jīng)有100%的把握說(shuō)自己明白了,你仍需要在項(xiàng)目實(shí)戰(zhàn)中用過(guò)一次,你才能真正理解。

如果剛進(jìn)公司,不要去羨慕那些老程序員,其實(shí)他們真的只是比你寫(xiě)得多而已。要有自信,你早晚也能掌握。

如果是一年前,我根本不會(huì)相信自己可以隨隨便便寫(xiě)出頁(yè)面,真的,當(dāng)時(shí)我覺(jué)得這是不可能的。

而現(xiàn)在,大部分網(wǎng)站,我大概看幾眼,猜一下布局,然后用瀏覽器自帶的調(diào)試工具這里看看,那里瞅瞅。最多幾個(gè)小時(shí),就可以把這個(gè)網(wǎng)站的布局和頁(yè)面抄襲,哦不,借鑒過(guò)來(lái)了。(當(dāng)然,不包括用框架制作的頁(yè)面)

反正這段時(shí)間也沒(méi)人教,我就自己琢磨,自己總結(jié)?,F(xiàn)在寫(xiě)習(xí)慣了而已。

是的,真的只是寫(xiě)得多了,這就是一個(gè)孰能生巧的過(guò)程。

還有一個(gè)例子就是,有一天我偶然發(fā)現(xiàn),我原來(lái)已經(jīng)在盲打了,我之前一直沒(méi)意識(shí)到。

小時(shí)候特別羨慕那些電腦打字可以不看鍵盤(pán)的人,沒(méi)想到現(xiàn)在我也辦到了。

更奇怪的是,我都不知道為什么,就好比現(xiàn)在我在寫(xiě)這篇文章,基本上我腦子想到一個(gè)什么地方,然后我就等待,等待屏幕上的文字跟隨到什么地方。

有的時(shí)候我還納悶,怎么屏幕上顯示得這么慢啊,能不能快一點(diǎn)??

接下來(lái)我才意識(shí)到,哦,原來(lái)我在打字啊。

媽了個(gè)雞蛋糕,我都沒(méi)意識(shí)到自己在打字啊。

我甚至天真地認(rèn)為,腦子想到什么,電腦上的文字就應(yīng)該隨著出現(xiàn)。

沒(méi)錯(cuò),這就是熟能生巧。

只要你愿意花時(shí)間練習(xí),堅(jiān)持不懈,就一定能夠有所收獲。

2. 文章封面制作

2.1 HTML骨架

好的,接下來(lái)開(kāi)始制作文章的封面。

首先,把骨架搭好。

每一個(gè)item就是一個(gè)封面:

Paste_Image.png

對(duì)于頁(yè)面上的小灰塊:

Paste_Image.png

一個(gè)item就是一個(gè)封面,現(xiàn)在我們要在封面里添加信息和進(jìn)行div+css布局,怎么做呢?

誒,是不是肯定要寫(xiě)在這里面呀?

<li class='item'>
                
</li>

一張封面,需要有這么幾個(gè)信息:
1.標(biāo)題
2.梗概
3.作者
4.文章名稱(chēng)
5.簡(jiǎn)介

OK,我們來(lái)把這些東西填上去,然后隨便編一點(diǎn)數(shù)據(jù)。

<li class='item'>
    <div class='item-banner'>
        <div class='item-header'>生活中總是充滿了樂(lè)趣</div>
        <div class='item-name'>聊聊我的大學(xué)室友</div>
        <div class='item-author'>@張三 著</div>
    </div>
    <div class='item-description'>那些回憶,那些事。。。</div>
</li>

為了防止class重名,我給每一個(gè)樣式添加了一個(gè) item- 的前綴。注意啊,這里的class是css樣式,和Java里面的class文件沒(méi)有半毛錢(qián)關(guān)系,不要混淆了。

先來(lái)張效果圖咯:

Paste_Image.png

2.2 CSS外衣

骨架搭好了,接下來(lái)的事情,無(wú)非就是給它披上外衣了,對(duì)不對(duì)?

接下來(lái)的代碼都是我自己的思路,沒(méi)必要完全照抄,如果你有更好的思路,做出更有意思的封面,也完全可以。

01、 將所有的div里面的文字居中

.category .items .item div {
    text-align:center;
}
Paste_Image.png

02、 根據(jù)banner部分添加背景色

banner只是我自己對(duì)這部分的稱(chēng)呼,你隨便去什么名字都可以的,css風(fēng)格每個(gè)人都不同。

.item-banner {
    background: #666;
    color: #FFF;
}
Paste_Image.png

03、 header部分的文字調(diào)整

.item-header {
    font-size: 12px;
    line-height: 52px;
}
Paste_Image.png

04、 文章名稱(chēng)的樣式調(diào)整

.item-name {
    font-size: 22px;
    line-height: 74px;  
}
Paste_Image.png

05、 作者區(qū)域字體樣式調(diào)整

.item-author {
    font-size: 14px;
    text-indent: 7em;
    padding-bottom: 70px;
}
Paste_Image.png

06、 簡(jiǎn)介部分

.item-description {
    background: #eee;
    height: 104px;
    line-height: 76px;
    text-indent: 3em;
    font-size: 12px;
}
Paste_Image.png

這樣就差不多完成了,好了,前臺(tái)內(nèi)容區(qū)域就這樣吧。

下一節(jié)開(kāi)始,我們開(kāi)始寫(xiě)后臺(tái),然后前后臺(tái)做一個(gè)對(duì)接。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容