如果不知道什么時候才能學到SpringBoot,可以看一下我這一篇Java學習路徑。非常適合新人" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > 想要用java做一個網(wǎng)站,小型的就可以了,不知道該學哪些知識?求大佬指點?

想要用java做一個網(wǎng)站,小型的就可以了,不知道該學哪些知識?求大佬指點?

時間:2024-01-13 17:36:01 | 來源:網(wǎng)站運營

時間:2024-01-13 17:36:01 來源:網(wǎng)站運營

想要用java做一個網(wǎng)站,小型的就可以了,不知道該學哪些知識?求大佬指點?:SpringBoot+Spring Data JPA 作為自己的項目還是挺方便的。

如果不知道什么時候才能學到SpringBoot,可以看一下我這一篇Java學習路徑。非常適合新人參考(雖然是2018年寫的,但是現(xiàn)在絕對還適用?。?br>

如果題主不知道從哪可以學習,沒有資料??梢钥匆幌挛揖S護的一個開源庫:

https://github.com/ZhongFuCheng3y/3y

如果沒接觸過JavaWeb,還是得先學一下Servlet。下面我貼出SpringBoot+SpringData JPA的簡單搭建教程,希望對題主有幫助。

一、從零搭建環(huán)境

本次我使用的是IDEA編輯器來搭建SpringBoot和Spring Data JPA環(huán)境
首先,我們在IDEA新建項目的時候,選擇Spring Initializr,然后next就行了。







然后填寫一些項目的資料(其實這些資料也無關緊要,自己看著填就好了),隨后點擊next







隨后在勾選的時候,我就隨手勾選了個LomBok(其他的沒勾選,反正后面我們可以在pom文件下配置嘛)。可以看出,本次SpringBoot的版本為2.1.3。







然后IDEA就會幫我們創(chuàng)建出Maven管理下SpringBoot的項目啦,此時一般我們會指定自己的下載好的Maven,重寫它的settings.xml文件







然后Maven就一直在下載相關的依賴啊,必要的插件啊(我等了差不多10分鐘吧,這個時間可以去倒杯Java喝喝.haha),等Maven下載完之后,我們的項目就成了下面那個樣子了(:原生的是application.properties文件的,我改了一下后綴,我比較喜歡yml格式的):







二、完善pom文件

現(xiàn)在pom文件只有SpringBoot和LomBok的依賴,想要完成CURD的功能,我們需要用到Spring Web模塊、Spring Data JPA以及MySQL驅動依賴,所以我們得在pom文件下加入這些依賴:

<!--Web必要的--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><!--spring data jpa--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!-- MySQL的java驅動 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>pom文件的完整依賴圖如下:







三、配置yml文件

既然我們用到了SpringData JPA和MySQL,我們得為其進行配置最基礎的信息。比如說數(shù)據(jù)庫的用戶名和密碼,相對應的庫,以及SpringData JAP的策略。

#服務端容器的配置server: port: 8887#數(shù)據(jù)庫配置spring: datasource: username: 填寫自己的 password: 填寫自己的 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://填寫自己的機器:3306/填寫自己的庫?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC # JPA配置 jpa: hibernate: ddl-auto: update show-sql: true # formatSQL得這樣寫 properties: hibernate: format_sql: trueyml文件完整圖如下:







數(shù)據(jù)庫的信息填寫成自己的就行了。

四、寫一個User實體

我畢業(yè)設計其中就有對用戶的管理,我們用戶實體設計如下(大家的當然可以跟我的不一樣了,我這只是樣例):

package com.zhongfucheng.example.demo.domain;import lombok.Data;import org.hibernate.annotations.GenericGenerator;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;import java.io.Serializable;import java.util.Date;/** * 存儲用戶的信息 * * @author ozc * @version 1.0 */@Entity // jpa的注解,需要加@Table(name = "table_user") // 指定數(shù)據(jù)庫的表名@Data // lombok public class User implements Serializable { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid") private String userId; private String userNickname; private String userPassword; private String userEmail; private Integer actiState; //激活成功與激活失敗常量 public static final int ACTIVATION_SUCCESSFUL = 1; public static final int ACTIVATION_UNSUCCESSFUL = 0; private String actiCode; private Date tokenExptime;}再補充一句:因為我們有了LomBok的Data注解,并且在IDEA已經(jīng)下好的LomBok的插件,所以我們可以不用寫set、get方法。

User實體圖如下:







五、寫一個UserRepository

UserRepository是dao層的東西了,相當于UserDao/UserMapper,只是叫法不一樣而已。比如在Struts2喜歡將名字取成xxxAction,而在SpringMVC喜歡將名字取成xxxxController。

一般地,我們將UserRepository繼承JpaRepository就可以有對應的增刪改查方法:

import com.zhongfucheng.example.demo.domain.User;import org.springframework.data.jpa.repository.JpaRepository;/** * UserDao 操作數(shù)據(jù)庫 * @author ozc * @version 1.0 */public interface UserRepository extends JpaRepository<User, String> {}UserRepository圖如下:







ok,我們的UserRepository已經(jīng)寫好了,至于為啥我們傳入<User, String>,點進去看一下就明白了:







六、寫一個UserService

我們就查user表所有的記錄出來就好了,代碼如下:

// 接口public interface UserService { List<User> getAllUser();}// 實現(xiàn)@Servicepublic class UserServiceImpl implements UserService { @Autowired private UserRepository userRepository; @Override public List<User> getAllUser() { return userRepository.findAll(); }}UserService圖如下:







為啥會有findAll()方法?因為我們的UserRepository 繼承了JpaRepository

七、寫一個UserController

UserController調(diào)用一下service的方法,看是否能返回成功,如果能返回成功,那說明我們的環(huán)境已經(jīng)是ok的了。

UserController代碼如下:

@RestControllerpublic class UserController { @Autowired private UserService userService; /** * 得到所有用戶 */ @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"}) public void getAllUser () { List<User> allUser = userService.getAllUser(); for (User user : allUser) { System.out.println(user); } }}Controller代碼圖如下:







八、測試一下看是否能返回數(shù)據(jù)

進入DemoApplication,右鍵,啟動我們的SpringBoot項目:







在瀏覽器輸入我們的url:http://localhost:8887/user。然后我們從后臺查看,打印出查詢的SQL語句,已經(jīng)后臺已經(jīng)打印表已有的記錄。







一、搭建管理系統(tǒng)

1.1. 搭建頁面

在上一篇的最后,我們可以通過http://localhost:8887/user接口拿到我們User表所有的記錄了。我們現(xiàn)在希望把記錄塞到一個管理頁面上(展示起來)。

作為一個后端,我HTML+CSS實在是丑陋,于是我就去找了一份BootStrap的模板。首先,我進到bootStrap的官網(wǎng),找到基本模板這一塊:







我們在里邊可以看到挺多的模板的,這里選擇一個控制臺頁面:







于是,就把這份模板下載下來,在本地中運行起來試試看。官方給出的鏈接是下載整一份文檔,我們找到想要的頁面即可:







于是我們將這兩份文件單獨粘貼在我們的項目中,發(fā)現(xiàn)這HTML文件需要bootstrap.css、bootstrap.js、jquery的依賴(原來用的是相對路徑,其實我們就是看看相對路徑的文件在我們這有沒有,如果沒有,那就是我們需要的)。這里我們在CDN中找找,導入鏈接就行了。







于是我們就將所缺的依賴替換成BootCDN的依賴,最重要的幾個依賴如下:

<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>如無意外的話,我們也能在項目中正常打開頁面。

1.1.2 把數(shù)據(jù)塞到頁面上

把數(shù)據(jù)塞到頁面上,有兩種方案:要么就后端返回json給前端進行解析,要么就使用模板引擎。而我為了便捷,是不想寫JS代碼的。所以,我使用freemarker這個模板引擎。

在SpringBoot下使用freemarker也是非常簡單,首先,我們需要加入pom文件依賴:

<!--freemarker--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>隨后,在application.yml文件中,加入freemarker的配置:

# freemarker配置 freemarker: suffix: .ftl request-context-attribute: request expose-session-attributes: true content-type: text/html check-template-location: true charset: UTF-8 cache: false template-loader-path: classpath:/templates這里我簡單解釋一下:freemarker的文件后綴名為.ftl,程序從/templates路徑下加載我們的文件。

于是乎,我將本來是.html的文件修改成.ftl文件,并放在templates目錄下:







接下來將我們Controller得到的數(shù)據(jù),塞到Model對象中:

/** * 得到所有用戶 */ @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"}) public String getAllUser ( Model model) { List<User> allUser = userService.getAllUser(); model.addAttribute("users", allUser); return "/index"; }圖片如下:







在ftl文件中,我們只要判斷數(shù)據(jù)是否存在,如果存在則在表格中遍歷出數(shù)據(jù)就行了:

<#if users?? && (users?size > 0)> <#list users as user> <tr> <td>${user.userId}</td> <td>${user.userNickname}</td> <td>${user.userEmail}</td> <td>${user.actiState}</td> <td><a href="http://localhost:8887/deleteUser?id=${user.userId}">刪除</a></td> </tr> </#list> <#else> <h3>還沒有任何用戶</h3> </#if>圖片如下:







刪除的Controller代碼如下:

/** * 根據(jù)ID刪除某個用戶 */@GetMapping(value = "/deleteUser", produces = {"application/json;charset=UTF-8"})public String deleteUserById (String id,Model model) { userService.deleteUserById(id); return getAllUser(model);}我們再找?guī)讖堊约合矚g的圖片,簡單刪除一些不必要模塊,替換成我們想要的文字,就可以得到以下的效果了:







至于圖片上的評論管理、備忘錄管理的做法都如上,我只是把文件再復制一次而已(期中沒有寫任何的JS代碼,懶)。

在編寫的期中,要值得注意的是:靜態(tài)的文件一般我們會放在static文件夾中。

項目的目錄結構如下:







---------------------------------白嫖黨注意

涵蓋Java后端所有知識點的開源項目(已有6K star):https://github.com/ZhongFuCheng3y/3y

如果大家想要實時關注我更新的文章以及分享的干貨的話,微信搜索Java3y

PDF文檔的內(nèi)容均為手打,有任何的不懂都可以直接來問我(公眾號有我的聯(lián)系方式)。

收藏等于白嫖,點贊才是真情!

收藏等于白嫖,點贊才是真情!

收藏等于白嫖,點贊才是真情!



關鍵詞:指點,知識,小型

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉