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

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

微信的企業(yè)網(wǎng)站模板/萬(wàn)能bt搜索引擎

微信的企業(yè)網(wǎng)站模板,萬(wàn)能bt搜索引擎,哪個(gè)小說(shuō)網(wǎng)站版權(quán)做的好處,discuz網(wǎng)站怎么做排名這篇簡(jiǎn)單介紹一些入門(mén)的有關(guān)項(xiàng)目和行業(yè)的知識(shí),并帶著實(shí)現(xiàn)一個(gè)小項(xiàng)目。便于已經(jīng)編程入門(mén)的各位準(zhǔn)備進(jìn)階到下一個(gè)階段。 先大致地介紹,一個(gè)完整的項(xiàng)目(不看客戶(hù)端、服務(wù)端的分類(lèi))基本可以劃分為三部分: 1.前端。比如你現(xiàn)在看到的CSDN頁(yè)面就是一…

? ? 這篇簡(jiǎn)單介紹一些入門(mén)的有關(guān)項(xiàng)目和行業(yè)的知識(shí),并帶著實(shí)現(xiàn)一個(gè)小項(xiàng)目。便于已經(jīng)編程入門(mén)的各位準(zhǔn)備進(jìn)階到下一個(gè)階段。

? ? 先大致地介紹,一個(gè)完整的項(xiàng)目(不看客戶(hù)端、服務(wù)端的分類(lèi))基本可以劃分為三部分:

1.前端。比如你現(xiàn)在看到的CSDN頁(yè)面就是一個(gè)前端頁(yè)面。前端的作用是負(fù)責(zé)與用戶(hù)交互,即將項(xiàng)目的數(shù)據(jù)以人性化的形式展示給用戶(hù),并收集用戶(hù)的各種操作信息和輸入信息,返回給后端進(jìn)行相應(yīng)的事件流程。

2.后端。初學(xué)編程時(shí)你寫(xiě)的"print("Hello World")",那個(gè)就是后端部分,不過(guò)這個(gè)還不夠準(zhǔn)確。比如"int a = 0;b = a - 1;"這種有事件流程的,就是一個(gè)項(xiàng)目的后端部分。后端的作用是根據(jù)編程好的程序處理與其對(duì)應(yīng)的數(shù)據(jù)和請(qǐng)求。

3.數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)就是字面意思,它存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù)。學(xué)習(xí)階段哪怕是畢業(yè)設(shè)計(jì),項(xiàng)目的工程量可能全用內(nèi)存也足夠,但正式的項(xiàng)目中,數(shù)據(jù)量會(huì)非常非常大,就像你現(xiàn)在瀏覽的CSDN,如此多篇文章,大量的文字和圖片信息,顯然內(nèi)存是不可完成這些存儲(chǔ)的。而且也不可能用內(nèi)存,因?yàn)楝F(xiàn)在的內(nèi)存就是設(shè)計(jì)給運(yùn)行時(shí)使用的,不適合存儲(chǔ)(感興趣可以查詢(xún)cpu和內(nèi)存空間硬件層運(yùn)行邏輯的資料)。

簡(jiǎn)介

前端

? ? 前端常見(jiàn)的有web頁(yè)面。常見(jiàn)的分包有 css、js、image、video、WEB_INF等等。

? ? css的專(zhuān)門(mén)存儲(chǔ)css樣式文件的包、js則是存儲(chǔ)JavaScript腳本文件的包、image和video則是存儲(chǔ)圖片和視頻,而WEB-INF則是存儲(chǔ)不可直接訪問(wèn)的前端資源,有頁(yè)面資源和配置信息(比如web.xml)。

? ? 下面是一個(gè)示例:

? ??

? ? 當(dāng)然,這個(gè)不太規(guī)范,通常情況下css等資源會(huì)放在WEB_INF或用其他方式,避免被用戶(hù)直接訪問(wèn)?。放在WEB-INF下的資源,用戶(hù)只能通過(guò)頁(yè)面引入或請(qǐng)求轉(zhuǎn)發(fā)等方式來(lái)訪問(wèn)。

?后端

? ? 后端常見(jiàn)的有使用Java、C++進(jìn)行編寫(xiě)。

? ? Java面向?qū)ο?#xff0c;是以C、C++為基礎(chǔ)的語(yǔ)言,主要是用來(lái)寫(xiě)業(yè)務(wù)的。而C、C++則是面向過(guò)程,不像java那樣,底層上沒(méi)那么多彎彎繞繞。

? ? 同樣的一個(gè)事件,C++處理完通常比Java快30%。所以Java一般用于各種項(xiàng)目中編寫(xiě)業(yè)務(wù),而C++則是用于各種電子機(jī)器設(shè)備(比如洗衣機(jī))的硬件編程,包括各種大型游戲,都是用C寫(xiě)的。

? ? 這里稍微提一嘴python,我的一名從業(yè)人員的導(dǎo)師(導(dǎo)師只是我對(duì)他的敬稱(chēng))的說(shuō)法是,python主要還是擔(dān)任一種"插件"一樣的角色,在爬蟲(chóng)、人工智能這些領(lǐng)域上很合適,但是總體的還是干不過(guò)Java和C++,如果是想進(jìn)入這個(gè)行業(yè),那么不要先學(xué)python。之所以提是因?yàn)槲覀€(gè)人最近看到許多python培訓(xùn)課程,口號(hào)是學(xué)了...就...這種,怕有同志走了彎路。當(dāng)然只是興趣或者其他的,便不用擔(dān)心了,注意法律就好。

? ? 然后介紹一下java后端的常見(jiàn)分包。java后端常見(jiàn)的分包有service、dao、util、config、entity、constant、exception。

service:存放各種業(yè)務(wù)代碼,通常為service根據(jù)業(yè)務(wù)的種類(lèi)劃分,每個(gè)種類(lèi)的業(yè)務(wù)開(kāi)一個(gè)接口分裝,然后在service下再開(kāi)一個(gè)impl包,實(shí)現(xiàn)每個(gè)接口的方法。

dao:存放訪問(wèn)數(shù)據(jù)庫(kù)的代碼,Java用的連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC,獲取連接的工具類(lèi)不放在dao包而是放在util包下。與service包一樣,包下會(huì)根據(jù)操作數(shù)據(jù)的相關(guān)內(nèi)容分類(lèi)成一個(gè)個(gè)接口,然后在dao包下再開(kāi)一個(gè)impl包實(shí)現(xiàn)這些接口。

config:存放后端要使用的各種配置文件。比如.xml文件。

constant:存放各種常量、變量的包。這些一般是運(yùn)行時(shí)才加載到內(nèi)存中。

util:存放各種工具類(lèi)的包。比如剛剛講到的JDBC獲取連接的工具類(lèi),另外像jdk里面的Math類(lèi),這些就是工具類(lèi),用于完成某種功能。

entity:存放各種實(shí)體類(lèi)。這些類(lèi)一般用來(lái)進(jìn)行數(shù)據(jù)的封裝,比如學(xué)生類(lèi)、用戶(hù)類(lèi),封裝姓名、id、性別這些信息,來(lái)進(jìn)行數(shù)據(jù)的傳遞(只在后端中使用,前端無(wú)法直接解析這些開(kāi)發(fā)人員自定義的實(shí)體類(lèi))。

controller:與前端連接的包,通常存放各種servlet等請(qǐng)求響應(yīng)類(lèi)。在Tomcat服務(wù)器搭建的項(xiàng)目中又常命名為servlet包。

數(shù)據(jù)庫(kù)?

? ? 學(xué)習(xí)階段基本上就是使用MySQL了。常見(jiàn)的數(shù)據(jù)庫(kù)還有很多,功能最為強(qiáng)大的現(xiàn)在是Oracle數(shù)據(jù)庫(kù),當(dāng)然,它是收費(fèi)的,而且很貴(進(jìn)入行業(yè)后正式的商業(yè)工程是肯定不能用破解版的,這屬于侵權(quán)行為,也能查到的,當(dāng)然這種侵權(quán)你不商用,也不會(huì)找你麻煩)。

? ? 還有很多:DB2、SQL Server、Sybase等等。

前端連接后端

? ? 前端連接后端常見(jiàn)的技術(shù)有AJAX、WebSocket等等。當(dāng)然,這些是進(jìn)階一點(diǎn)的,Tomcat服務(wù)器提供的基礎(chǔ)技術(shù)為Servlet。AJAX就是在servlet基礎(chǔ)上異步交互的技術(shù)。使用詳情可以看我的Servlet使用文章。

后端連接數(shù)據(jù)庫(kù)

? ? 后端連接數(shù)據(jù)庫(kù),Java用的技術(shù)為JDBC。不管是哪個(gè)語(yǔ)言,一般該語(yǔ)言的開(kāi)發(fā)公司會(huì)提供一個(gè)統(tǒng)一的數(shù)據(jù)庫(kù)對(duì)接該編程語(yǔ)言的標(biāo)準(zhǔn),由每個(gè)數(shù)據(jù)庫(kù)的開(kāi)發(fā)公司根據(jù)這個(gè)標(biāo)準(zhǔn)提供自己的數(shù)據(jù)庫(kù)驅(qū)動(dòng)。這篇文章我使用Java和JDBC,詳情可以看我的文章JDBC使用。

項(xiàng)目入門(mén)

? ? 這里我們一步一步寫(xiě)一個(gè)簡(jiǎn)單的登錄功能。

? ? 首先我們先編輯前端頁(yè)面資源

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><link href="">
</head>
<body><div><a href="WEB-INF/jsp/login.jsp"><h1>點(diǎn)我進(jìn)行登錄</h1></a></div>
</body>
</html>

? ? 大家可以先試一試,然后就會(huì)發(fā)現(xiàn),訪問(wèn)不了login.jsp,報(bào)404錯(cuò)誤。?這是因?yàn)門(mén)omcat是不允許用戶(hù)通過(guò)URL直接訪問(wèn)WEB-INF下的任何資源的。我們想要訪問(wèn),只能通過(guò)servlet轉(zhuǎn)發(fā)或頁(yè)面包含的形式來(lái)進(jìn)行訪問(wèn)。這里我們使用請(qǐng)求轉(zhuǎn)發(fā),為了美觀,我們使用Post請(qǐng)求。

? ? 為了易于理解,我這里改為使用form表單。其中action設(shè)置Servlet的URL,method設(shè)置請(qǐng)求方式。給表單添加一個(gè)按鈕,將屬性設(shè)置為submit,用于發(fā)出請(qǐng)求。

修改后的jsp頁(yè)面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><link href="">
</head>
<body><div><form action="/toLogin" method="post"><button type="submit"><h1>點(diǎn)我進(jìn)行登錄</h1></button></form></div>
</body>

? ? 到了servlet這里,我們就可以直接使用路徑來(lái)訪問(wèn)WEB-INF下的login.jsp了。?

對(duì)應(yīng)的Servlet文件:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/toLogin")
public class toLoginServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(req, resp);}
}

這個(gè)時(shí)候我們就可以成功打開(kāi)login頁(yè)面了。?

? ? 前面提到過(guò)了,Servlet就已經(jīng)是Java代碼了,可以訪問(wèn)Java代碼資源并與之互動(dòng)。

? ? 轉(zhuǎn)到登錄頁(yè)面之后,前端連后端的流程基本一致。我們直接從發(fā)出請(qǐng)求到Servlet后開(kāi)始講。

先給出項(xiàng)目完整的結(jié)構(gòu)圖:

? ?完整的登錄事件流程:

? ? 在LoginServlet處,我們?cè)L問(wèn)service下的LoginImpl,調(diào)用其中的boolean login(String username,String password)方法。

? ? 然后LoginImpl調(diào)用dao包,傳入?yún)?shù)username,查詢(xún)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

? ? 在dao包的LoginDaoImpl中調(diào)用相關(guān)方法訪問(wèn)數(shù)據(jù)庫(kù),如果存在用戶(hù)名為username的用戶(hù),將該用戶(hù)的信息打包返回LoginImpl。

? ? LoginImpl進(jìn)行業(yè)務(wù)判斷,如果密碼正確,則返回true給servlet,如果密碼錯(cuò)誤或者用戶(hù)不存在,都返回false。

? ??

? ? 這是一個(gè)完整的登錄流程。補(bǔ)充兩點(diǎn):

1.其中dao包中的SQL語(yǔ)句應(yīng)該存放在/src/constant包里面,這里我寫(xiě)的時(shí)候忘記了,直接寫(xiě)在了dao包里面,這樣的編程并不規(guī)范。

2. 對(duì)比用戶(hù)信息,也就是判斷密碼是否正確,應(yīng)當(dāng)由service包來(lái)完成,dao包只用專(zhuān)注于自己的訪問(wèn)數(shù)據(jù)庫(kù)就好??赡軙?huì)有伙伴絕對(duì)多余,是因?yàn)檫@里只有一個(gè)登錄的判斷。實(shí)際中會(huì)訪問(wèn)的用戶(hù)數(shù)據(jù)不止這一點(diǎn),甚至用戶(hù)的賬戶(hù)信息(賬號(hào)、密碼等)和個(gè)人信息(出生日期、姓名性別等)會(huì)專(zhuān)門(mén)分成兩個(gè)表進(jìn)行存儲(chǔ)。

? ? 本文原意便是希望幫助后來(lái)的伙伴了解編程規(guī)范,所以進(jìn)行了兩點(diǎn)補(bǔ)充,當(dāng)然本文也只做一個(gè)簡(jiǎn)單參考。往后的開(kāi)發(fā)中會(huì)逐漸使用各種框架,由開(kāi)源的,也有公司自己私有的,業(yè)務(wù)需求有時(shí)候分包也會(huì)有很多不同,但大體上都會(huì)遵循前端、后端、Dao包 三大塊。

示例項(xiàng)目的完整文件下載回文章開(kāi)頭處。

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

相關(guān)文章:

  • 可愛(ài)卡通ppt模板免費(fèi)下載/搜索引擎優(yōu)化論文3000字
  • 中山做app網(wǎng)站公司嗎/引流推廣的句子
  • 推薦算法 網(wǎng)站開(kāi)發(fā) java/制作網(wǎng)頁(yè)用什么軟件
  • 小微型企業(yè)網(wǎng)站建立/市場(chǎng)營(yíng)銷(xiāo)是做什么的
  • 網(wǎng)站開(kāi)發(fā)的功能需求怎么寫(xiě)/shopify seo
  • 釘釘在線課堂/大連seo建站
  • 濰坊網(wǎng)站建設(shè)價(jià)格/一個(gè)好的產(chǎn)品怎么推廣
  • 域名做違法網(wǎng)站/西安百度競(jìng)價(jià)托管代運(yùn)營(yíng)
  • 招聘網(wǎng)站開(kāi)發(fā)價(jià)格/福州整站優(yōu)化
  • 德清縣城鄉(xiāng)建設(shè)局網(wǎng)站/微信朋友圈軟文大全
  • 網(wǎng)站建設(shè)公司做銷(xiāo)售好不好?/國(guó)內(nèi)最新新聞
  • 商業(yè)平臺(tái)網(wǎng)站開(kāi)發(fā)/凡科網(wǎng)建站系統(tǒng)源碼
  • 蘇州專(zhuān)業(yè)做網(wǎng)站的公司/網(wǎng)站開(kāi)發(fā)北京公司
  • 北京微網(wǎng)站制作/深圳競(jìng)價(jià)托管公司
  • 網(wǎng)站建設(shè)拾金手指下拉二十/百度排行榜風(fēng)云榜小說(shuō)
  • 國(guó)家新聞出版署是什么機(jī)構(gòu)/揚(yáng)州seo博客
  • 重慶人才招聘網(wǎng)官網(wǎng)/重慶seo
  • 西安做網(wǎng)站南通公司/谷歌瀏覽器網(wǎng)頁(yè)版進(jìn)入
  • led網(wǎng)站建設(shè)方案模板/成人本科報(bào)考官網(wǎng)
  • 互聯(lián)網(wǎng)網(wǎng)站建設(shè)制作/長(zhǎng)沙百度推廣開(kāi)戶(hù)
  • 中山網(wǎng)站制作公司/網(wǎng)站建設(shè)首頁(yè)
  • 品牌建設(shè)的路徑/網(wǎng)站排名優(yōu)化查詢(xún)
  • 江蘇今天剛剛的最新新聞/seo網(wǎng)站優(yōu)化報(bào)價(jià)
  • 中海建筑建設(shè)有限公司網(wǎng)站/seo排名賺app下載
  • 建湖做網(wǎng)站哪家公司好/seo排名優(yōu)化推廣報(bào)價(jià)
  • wordpress添加主題設(shè)置選項(xiàng)/搜索引擎優(yōu)化是指
  • 洛陽(yáng)市App網(wǎng)站開(kāi)發(fā)公司/挖掘愛(ài)站網(wǎng)
  • 廉江新聞最新消息/南京百度seo
  • 百度seo排名點(diǎn)擊/廣州網(wǎng)站快速優(yōu)化排名
  • 旅游網(wǎng)站開(kāi)發(fā)需求分析目的/軟文寫(xiě)作是什么意思