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

312334546574820.jpg

前一段時(shí)間有很多朋友來(lái)問(wèn)我各種問(wèn)題合瓢,比如java怎么學(xué)坦胶,c,c++晴楔,c#顿苇,java,還有php等等税弃,到底學(xué)哪個(gè)好岖圈,哪個(gè)好就業(yè)?其中不乏剛畢業(yè)找不到工作的學(xué)生钙皮,我對(duì)此也是很有感觸蜂科,回想當(dāng)初那最最艱難的日子,我的確很了解這種焦急的心態(tài)短条。其實(shí)我個(gè)人感覺(jué)导匣,編程語(yǔ)言都大同小異,無(wú)非是語(yǔ)法變一變茸时,當(dāng)然贡定,如果你為了快速上手,我還是優(yōu)先推薦java可都。

最近琢磨著要寫點(diǎn)東西缓待,把基本的Java Web開(kāi)發(fā)流程完整地走一遍,最后決定渠牲,干脆就寫一個(gè)小小的項(xiàng)目實(shí)戰(zhàn)吧旋炒。這個(gè)小項(xiàng)目作為一個(gè)JavaWeb的入門例子,從前臺(tái)頁(yè)面到項(xiàng)目發(fā)布签杈,把整個(gè)流程走通瘫镇。所謂麻雀雖小,五臟俱全。難度不是很高铣除,正好可以作為入門使用谚咬。

接下來(lái)就是做什么的問(wèn)題了,首先不能太簡(jiǎn)單尚粘,那樣的話就沒(méi)意思了择卦。也不能太復(fù)雜,因?yàn)槲业拇_也沒(méi)那么多時(shí)間郎嫁,思前想后互捌,我打算寫一個(gè)小型的文章發(fā)布系統(tǒng)。

老實(shí)說(shuō)行剂,我也不知道最終會(huì)做成什么樣子,但是基本的CRUD肯定少不了的钳降。前臺(tái)頁(yè)面的話厚宰,我會(huì)盡可能做得好看一點(diǎn),畢竟我也不是專門做前端的遂填。

至于知識(shí)點(diǎn)铲觉,當(dāng)然是盡可能豐富,把我用過(guò)的吓坚,并且理解的東西撵幽,一步一步地集成進(jìn)去。

嗯礁击,這個(gè)系列一旦開(kāi)始盐杂,以后基本上就圍繞著這個(gè)小項(xiàng)目寫文了。我的意思是哆窿,其他文章都不更了链烈,在這個(gè)小項(xiàng)目寫完之前,我會(huì)把其他的文章都放下挚躯,全心全意地編寫這個(gè)系列强衡。

終于開(kāi)始了,想想還有點(diǎn)小激動(dòng)呢码荔。

1. 項(xiàng)目的大致規(guī)劃

開(kāi)發(fā)工具還是用eclipse漩勤,數(shù)據(jù)庫(kù)采用mysql。MVC框架的話缩搅,我就不用框架了越败,純粹用JSP來(lái)寫,實(shí)際開(kāi)發(fā)肯定不會(huì)這么做硼瓣,不過(guò)眉尸,這畢竟還是有意義的。當(dāng)然,你也可以把它換成框架版的噪猾。為什么用JSP霉祸?因?yàn)镴SP比較簡(jiǎn)單,作為一個(gè)入門級(jí)的web項(xiàng)目袱蜡,而且我是一邊開(kāi)發(fā)一邊寫文丝蹭,我就懶得用MVC框架了。

為什么我要一邊開(kāi)發(fā)一邊寫坪蚁,因?yàn)槲矣X(jué)得奔穿,如果全部開(kāi)發(fā)好了,再讓我從頭開(kāi)始敏晤,把開(kāi)發(fā)流程寫出來(lái)贱田,那是很龐大的工作量,也不現(xiàn)實(shí)嘴脾。而且男摧,一邊開(kāi)發(fā)一邊寫還有個(gè)好處,那就是可以幫助讀者看到整個(gè)項(xiàng)目的開(kāi)發(fā)流程译打。

而且耗拓,包括我自己也不知道最終會(huì)寫成什么樣子,也可能本文結(jié)束后就GG了奏司。

不過(guò)不管怎么說(shuō)乔询,這樣都會(huì)保留一點(diǎn)點(diǎn)新鮮感和樂(lè)趣。

如果你是初學(xué)者韵洋,并且希望完整地看一個(gè)小項(xiàng)目是如何做出來(lái)的竿刁,那么,這個(gè)系列也許會(huì)適合你搪缨。

可能寫10篇文章就結(jié)束们妥,也可能30篇,看情況了勉吻。

好了监婶,正式開(kāi)始吧。

2. 項(xiàng)目搭建
2.1 新建項(xiàng)目

新建一個(gè) Dynamic Web Project齿桃,名字叫Article

Paste_Image.png

點(diǎn)擊Finish

Paste_Image.png

將項(xiàng)目的編碼改為 utf-8

Paste_Image.png
2.2 新建web.xml
Paste_Image.png

這是web項(xiàng)目的規(guī)范惑惶,一個(gè)web.xml文件可以對(duì)你的web項(xiàng)目進(jìn)行基本的配置。

2.3 編寫web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

 <!-- 歡迎頁(yè)面 -->
 <welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

</web-app>
2.4 編寫index.jsp

在WebContent目錄下新建一個(gè)index.jsp

Paste_Image.png

代碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    恭喜短纵,web項(xiàng)目已經(jīng)搭建完成带污。
</body>
</html>

這就是我們項(xiàng)目的首頁(yè)。

2.5 用 tomcat 發(fā)布項(xiàng)目

我這邊用的是tomcat7.0

Paste_Image.png

運(yùn)行香到。

啟動(dòng)完畢后鱼冀,打開(kāi)瀏覽器报破,在地址欄輸入

http://localhost:8080/Article/

(我這邊的tomcat端口號(hào)為8080)

Paste_Image.png

然后可以清楚得看到,網(wǎng)頁(yè)上出現(xiàn)了這么一行字:

恭喜千绪,web項(xiàng)目已經(jīng)搭建完成充易。

這就說(shuō)明,web項(xiàng)目已經(jīng)搭建成功了荸型!

3. 首頁(yè)制作
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首頁(yè)</title>
<style>
    
</style>
</head>
<body>
    <div class="header">
    
    </div>
</body>
</html>
3.1 標(biāo)題欄

我們?cè)赽ody區(qū)域畫一個(gè)div盹靴,作為首頁(yè)的標(biāo)題欄。它的樣式先全部在本頁(yè)面寫瑞妇,也就是style塊里面稿静。

div是塊級(jí)元素,所以辕狰,雖然我們沒(méi)有給它設(shè)定寬度改备,它也默認(rèn)就是父容器的寬度。所以蔓倍,我們只需要給它一個(gè)高度就OK啦悬钳。

*{
    padding: 0 ;
    margin: 0 ;
}
.header {
    height: 60px ;
    background: #458fce ;
}

效果:

Paste_Image.png
3.2 畫一個(gè)LOGO

接下來(lái),繪制 logo柬脸,由于樓主的 PS水平比較渣,所以這個(gè)部分就用文字替代吧毙驯。當(dāng)然倒堕,如果你是PS大神的話,也可以隨便給我做一個(gè)logo爆价,在下一節(jié)中我就放上去垦巴。

求 logo ...

<div class="header">
    <div class='logo'>原創(chuàng)文字</div>
</div>

css:

*{
    padding: 0 ;
    margin: 0 ;
    font-family: "微軟雅黑" ;
}
.header {
    height: 72px ;
    background: #458fce ;
}
.header .logo {
    color: #fff ;
    line-height: 72px ;
    font-size: 30px ;
    margin-left: 20px ;
    display:inline-block ;
    font-weight:500 ;
}
Paste_Image.png
3.3 導(dǎo)航欄

我隨便想了幾個(gè)導(dǎo)航按鈕(其實(shí)就是 ul li):

  1. 首頁(yè)
  2. 原創(chuàng)故事
  3. 熱門專題
  4. 欣賞美文
  5. 贊助
<div class="header">
    <div class='logo'>原創(chuàng)文字</div>
    <ul>
        <li>首頁(yè)</li>
        <li>原創(chuàng)故事</li>
        <li>熱門專題</li>
        <li>欣賞美文</li>
        <li>贊助</li>
    </ul>
</div>

同時(shí),我們把 li 的小圓點(diǎn)去掉:

ul li {
    list-style: none ;
}
Paste_Image.png

這個(gè)效果顯然不是我們想要的铭段,我們給logo加一個(gè)浮動(dòng)骤宣。

Paste_Image.png

然后,給每一個(gè) li 添加一個(gè)左浮動(dòng):

.header ul li {
    float: left ;
}
Paste_Image.png

接著序愚,我們把位置和顏色做一些調(diào)整:

<div class="header">
    <div class='logo'>原創(chuàng)文字</div>
    <ul>
        <li class='first'>首頁(yè)</li>
        <li>原創(chuàng)故事</li>
        <li>熱門專題</li>
        <li>欣賞美文</li>
        <li>贊助</li>
    </ul>
</div>

css樣式

.header ul li.first {
    margin-left: 30px ;
}

.header ul li {
    float: left ;
    color: #fff ;
    display: inline-block ;
    width: 112px ;
    height: 72px ; 
    text-align: center ;
    line-height:72px ;
    cursor: pointer ;
}
標(biāo)題欄

cursor: pointer 的意思就是說(shuō)憔披,當(dāng)我鼠標(biāo)劃上去的時(shí)候,讓鼠標(biāo)變成一個(gè)小手的模樣爸吮。

因?yàn)閷?shí)際使用的時(shí)候芬膝,我們點(diǎn)擊導(dǎo)航按鈕就自動(dòng)跳轉(zhuǎn)頁(yè)面,所以形娇,一般來(lái)說(shuō)锰霜,每一個(gè)導(dǎo)航按鈕都應(yīng)該是一個(gè)a標(biāo)簽。

我們將代碼改一下:

<div class="header">
    <div class='logo'>原創(chuàng)文字</div>
    <ul>
        <li class='first'><a href="javascript:void(0)">首頁(yè)</a></li>
        <li><a href="javascript:void(0)">原創(chuàng)故事</a></li>
        <li><a href="javascript:void(0)">熱門專題</li>
        <li><a href="javascript:void(0)">欣賞美文</li>
        <li><a href="javascript:void(0)">贊助</a></li>
    </ul>
</div>

因?yàn)槟J(rèn)的a標(biāo)簽會(huì)有下劃線桐早,字體顏色是藍(lán)色癣缅,為了美觀厨剪,我們修改一下a標(biāo)簽的樣式:

a {
    color: #fff ;
    text-decoration: none ;
}
3.5 給導(dǎo)航按鈕添加hover事件
.header ul li :hover {
    background:#74b0e2 ;
}

效果:

2.gif

奇怪了,li 的區(qū)域沒(méi)有變色友存,而當(dāng)我鼠標(biāo)劃到文字上的時(shí)候祷膳,會(huì)有一個(gè)小范圍的變色,這是咋回事呢爬立?

難道hover失效了钾唬?

當(dāng)樓主寫到這里的時(shí)候,我也確實(shí)納悶了一會(huì)侠驯。抡秆。。

結(jié)果一查吟策,發(fā)現(xiàn):

Paste_Image.png

我擦儒士,這里多了一個(gè)空格啊,有木有檩坚!

好吧着撩,要細(xì)心一點(diǎn)。匾委。

那么拖叙,我們?nèi)サ艨崭瘢驼A恕?/p>

.header ul li:hover {
    background:#74b0e2 ;
}
3.gif

這樣就好看多了吧赂乐。

時(shí)間差不多了薯鳍,今天就到這里。至于更新頻率的話挨措,不一定挖滤,不過(guò)周更是肯定會(huì)有的。

這個(gè)系列也是我的一次嘗試浅役,希望大家喜歡斩松。

我要下載源碼

您的支持是我寫作的最大動(dòng)力:

免責(zé)聲明: 博客中所有的圖片素材均來(lái)自百度搜索,僅供學(xué)習(xí)交流觉既,如有問(wèn)題請(qǐng)聯(lián)系我惧盹,侵立刪,謝謝瞪讼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末岭参,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子尝艘,更是在濱河造成了極大的恐慌演侯,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件背亥,死亡現(xiàn)場(chǎng)離奇詭異秒际,居然都是意外死亡悬赏,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門娄徊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)闽颇,“玉大人,你說(shuō)我怎么就攤上這事寄锐”啵” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵橄仆,是天一觀的道長(zhǎng)剩膘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)盆顾,這世上最難降的妖魔是什么怠褐? 我笑而不...
    開(kāi)封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮您宪,結(jié)果婚禮上奈懒,老公的妹妹穿的比我還像新娘。我一直安慰自己宪巨,他們只是感情好磷杏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著捏卓,像睡著了一般极祸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上天吓,一...
    開(kāi)封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天咽斧,我揣著相機(jī)與錄音注整,去河邊找鬼篷牌。 笑死徙硅,一個(gè)胖子當(dāng)著我的面吹牛泻红,可吹牛的內(nèi)容都是我干的艺晴。 我是一名探鬼主播导坟,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼溃论,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼滔金!你這毒婦竟也來(lái)了色解?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤餐茵,失蹤者是張志新(化名)和其女友劉穎科阎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忿族,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锣笨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年蝌矛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片错英。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡入撒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出椭岩,到底是詐尸還是另有隱情茅逮,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布判哥,位于F島的核電站献雅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏姨伟。R本人自食惡果不足惜惩琉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夺荒。 院中可真熱鬧瞒渠,春花似錦、人聲如沸技扼。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)剿吻。三九已至窍箍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丽旅,已是汗流浹背椰棘。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留榄笙,地道東北人邪狞。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像茅撞,于是被迫代替她去往敵國(guó)和親帆卓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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