簡單的基於SpringBoot的登錄界面實現


1、創建SpringBoot項目

  • 第一種方式:在SpringBoot官方提供的Web頁面創建(地址:https://start.spring.io)界面如下:

springboot

在上面界面中填入project、語言、SpringBoot的版本、項目元信息(group、Artifact),然后在Dependencies中輸入”web”,點擊搜索結果中”SpringBoot”后面的加號,最后點擊Generate-Ctrl下載項目文件。

  • 第二種方式:命令行方式創建(參考小馬哥的書“SpringBoot編程思想”)

使用Maven Archetype插件,首先在需要創建項目的文件夾中打開命令行窗口,命令如下:

mvn archetype:generate -DgroupId=thinking-in-spring-boot -DartifactId=first-spring-boot-application -Dversion=1.0.0-SNAPSHOT -DinteractiveMode=false -Dpackage=thinking.in.spring.boot

命令解釋:

archetype:generate 插件目標

groupId:your groupId

artifactId:your artifactId

version:your version

package:your package

interactiveMode當參數為false表示非交互式構建,也就是常說的“靜默方式”

運行結果如下:

startup

當然這要基於你本地已經安裝了maven.

2、將項目導入編譯器

這不比較簡單,在此就不再寫了。

3、編輯POM.xml文件,引入項目所需要的包

這里也有一個小技巧,是跟小馬哥學習來的。就是按住CTRL鍵左擊

spring-boot-starter-parent的版本號,如下圖所示:
1
進入spring-boot-starter-parent-2.2.1.RELEASE.pom,然后繼續點擊版本號,如下圖所示
2
然后里面就可以看到各種依賴的包,例如mysql,CRTL+f 搜索你需要添加的依賴,可以知道支持的版本號。
這里需要注意下,如果引入的依賴版本之間有沖突,會報錯。

4、配置訪問路徑和項目根路徑

這里也有兩種方式,具體如下:

  • 配置文件方式

在application.properties配置文件中加入配置

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
  • 代碼編程方式

啟動類加入如下代碼:

@Bean
public InternalResourceViewResolver setupViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
*//** 設置視圖路徑的前綴 *//*
resolver.setPrefix("/WEB-INF/views/");
*//** 設置視圖路徑的后綴 *//*
resolver.setSuffix(".jsp");
return resolver;
}
這里面有一個問題,就是如果將resolver.setSuffix屬性為.html,訪問不到頁面。如果要使用html要采用別的配置方式。
配置項目根路徑:
在application.properties配置文件中加入配置
server.servlet.context-path=/你的根路徑

5、編輯crontroller

編輯controller,將訪問根目錄的reuest跳轉到具體的頁面,代碼如下:

@Controller
@RequestMapping("/")
public class IndexPageController {

@RequestMapping("/")
public String index(){
return "login";
}
}
這里有一個問題需要注意下,就是controller的映射地址應該在@RequestMapping里面配置,而不應該加在@Controller里面,我就是因為把映射地址寫在@Controller里面報錯了,錯誤如下:
a87e6514b209a9dced4433b2a756c3af

6、編輯登錄界面

登錄頁面的位置看你的訪問路徑設置,如果是/WEB-INF/views/就在/WEB-INF/views/文件夾下面窗機看login.jsp,我的路徑src\main\webapp\WEB-INF\views\login.jsp

7、啟動類添加@SpringBootApplication注解

@SpringBootApplication注解有如下三個元注解

@Configuration

allow to register extra beans in the context or import additional configuration
classes

允許在上下文中注冊額外的bean或導入額外的配置類

@ComponentScan

enable @Component scan on the package where the application is located (see the
best practices)

在引導類所在的包內掃描對象

@EnableAutoConfiguration 

啟用Spring Boot的自動配置機制

8、啟動項目,訪問登錄界面

在啟動類空白處右擊選擇Run,讓項目啟動一會兒,打開瀏覽器輸入訪問路徑http://localhost:8080/你配置的根路徑

3

tomcat發布項目端口默認是8080,但是也可以在application.properties中配置項目端口。

9、遇到的幾個問題

  • mysql驅動過時的問題

項目啟動時候報錯 Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.

這是因為mysql的最新driver已經變為 com.mysql.cj.jdbc.Driver。只需要在application.properties中修改mysql的driver配置就可以

#spring.datasource.driver-class-name = com.mysql.jdbc.Driver

spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver

  • 附上配置springboot項目的官方文檔
https://spring.io/guides/gs/centralized-configuration/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM