成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

springboot搭建web項目完整流程,以及遇到的一些坑坑洼洼總結

2024-03-25    分類: 網站建設

一、spring boot簡介

spring boot是最近非常流行的,在spring的框架上改進的框架。該框架的目的是為了提高開發(fā)人員的速度,降低配置的難度等等,極大了簡化了開發(fā)流程。具體的詳細的說明請參考官方文檔。在日常工作中,由于需要搭建一套環(huán)境或者框架的機會非常的少,大部分都是在原有的基礎上開發(fā),所以當讓你搭建一個簡單的框架,就會出現各種各樣的困難,比如說,我在搭建的一個服務器的時候,準備了一個小的demo,原以為非常的簡單,結果遇到了各種各樣的問題,而發(fā)現網上的博客都是零零散散的講一些點,很難有一個完整的流程,包括可能會遇到的問題。這里對搭建一個簡單的項目流程做一個詳細的總結,方便日后參考,同時這一篇博客也是為了下一篇博客tengine反向代理服務器搭建做一點前置的基礎準備。

二、spring boot搭建web項目

好了廢話,不多說,下面正式開始單間一個web項目,使用的工具是eclipse來進行搭建,創(chuàng)建一個maven工程。下面開啟貼圖模式,這前面的過程都是非常的簡單,網上也有大量的參考資料,這里為了保證一個完整性,開始貼圖。

首先就是很簡單,右擊-->new-->project 選擇maven project

然后選擇一個默認的配置即可,一般包含的文件都會在里面。

這里填寫好group id其實就是包名,后面也可以更改的,還有artifiact id就是工程名稱,然后單擊完成,就創(chuàng)建一個簡單的maven工程。

具體的工程目錄如下所示

按照上面的流程建好了工程之后,可以查看到具體的工程目錄如下,這里作為一個web項目還缺少如下相關目錄用來存放web文件和配置文件。

src/main/resources //這個文件夾中存放的是配置文件例如application.properties 配置文件

src/main/webapp //這個文件夾中存放的是前端的文件html,jsp、css

這些文件夾手動添加即可,添加完成之后,具體得到的如下圖所示:

要想把這個項目跑起來,需要做一下幾個步驟:

1. 首先需要配置一下pom.xml文件,引入spring-boot的相關依賴文件 ,這個是最基本的包,里面包含了運行的相關組件,例如tomcat,以及其他的jar包

org.springframework.boot

spring-boot-starter-parent

1.5.10.RELEASE

org.springframework.boot

spring-boot-starter-web

這樣就能啟動一個spring-boot的web項目,其中內嵌了相關的tomcat服務器,接下里是至關重要的,因為如果不引入下面的jar包,在調整jsp的頁面的時候直接看到的是變成了下載的模式,筆者也是在這個地方郁悶了半天,百度上找了好多的例子,大部分都沒講到這個方面,故而在這里重點說明一下

javax.servlet

jstl

org.apache.tomcat.embed

tomcat-embed-jasper

provided

引入了這個jar之后呢,才能對jsp進行解析,編譯,到這里之后,相關的依賴基本上都算引入完成。接下來要做的是配置application.properties配置文件,這里面也是有一堆坑在這里。默認的情況下,這個配置文件是不需要配置的,服務器也可以啟動起來。但是很多同學在搭建玩項目之后,進行的跳轉的時候,不是報找不到頁面,就是解析錯誤。因為在這個配置文件中需要指定一下需要跳轉的jsp頁面的路徑,即,具體在哪個文件夾下面,添加如下配置:

默認的位置是src/main/webapp 這里可以更換,比如/page/ 那么目錄就變成了src/main/webapp/pages

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp

這里面還有一個坑,在新版本的spring boot中是按上面的配置,但是在老的版本中是如下的用法,名稱不一樣,這里需要注意一下,否則對于新學者來說,又要懵逼半天了...

spring.view.prefix=/

spring.view.suffix=.jsp

然后需要創(chuàng)建jsp的頁面了,在添加的源碼包src/main/webapp的下面添加jsp文件,注意,webapp是默認的路徑,如果想繼續(xù)分類,則可以在該文件夾下面進行添加,比如說添加一個pages文件夾,jsp文件都放在這里面,那么spring.mvc.view.prefix=/pages/ 否則會找不到對應的文件。大體的目錄結構如下所示:

|----src/main/webapp

|------index.jsp

|------pages

|----page.index

對于jsp頁面中,就寫入一點簡單的測試語句就行了

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

Insert title here

hello world!!!

name=${name } welcome!

好了,上面的步驟都完成之后,這里,只要編寫簡單的Controller即可,這里面提供了兩個跳轉路徑一個是/home,一個是/home/page,一個是攜帶返回值,一個沒有返回相應結果。

@Controller

public class HomeController {

@RequestMapping(value="/home")

public String home(){

System.out.println("redirect to home page!");

return "index";

}

@RequestMapping(value="/home/page")

@ResponseBody

System.out.println("go to the home page!");

mode.addObject("name", "zhangsan");

return mode;

}

}

然后在App類中,添加如下代碼:

@SpringBootApplication

public class App

{

public static void main( String[] args )

{

SpringApplication.run(App.class);

}

}

寫好上面的Controller之后,在App類上面右擊,選擇Run Application執(zhí)行main函數,看到控制臺輸出如下,說明spring boot啟動成功

. ____ _ __ _ _

/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \

( ( )\___ | _ | _| | _ \/ _` | \ \ \ \

\\/ ___)| |_)| | | | | || (_| | ) ) ) )

|____| .__|_| |_|_| |_\__, | / / / /

=========|_|==============|___/=/_/_/_/

:: Spring Boot :: (v1.5.10.RELEASE)

2018-03-01 17:32:42.069 INFO 64878 --- [ main] com.spring.example.App : Starting App on fhldeMacBook-Air.local with PID 64878 (/Users/fhl/Documents/workspace1/spring-boot-example/target/classes started by fhl in /Users/fhl/Documents/workspace1/spring-boot-example)

2018-03-01 17:32:42.074 INFO 64878 --- [ main] com.spring.example.App : No active profile set, falling back to default profiles: default

2018-03-01 17:32:42.175 INFO 64878 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1d8299fd: startup date [Thu Mar 01 17:32:42 CST 2018]; root of context hierarchy

2018-03-01 17:32:45.865 INFO 64878 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)

2018-03-01 17:32:45.892 INFO 64878 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2018-03-01 17:32:45.895 INFO 64878 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.27

2018-03-01 17:32:46.530 INFO 64878 --- [ost-startStop-1] org.apache.jasper.servlet.TldScanner : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

2018-03-01 17:32:46.542 INFO 64878 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2018-03-01 17:32:46.543 INFO 64878 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 4371 ms

2018-03-01 17:32:46.809 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: dispatcherServlet to [/]

2018-03-01 17:32:46.818 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: characterEncodingFilter to: [/*]

2018-03-01 17:32:46.819 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: hiddenHttpMethodFilter to: [/*]

2018-03-01 17:32:46.819 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: httpPutFormContentFilter to: [/*]

2018-03-01 17:32:46.819 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: requestContextFilter to: [/*]

2018-03-01 17:32:47.838 INFO 64878 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1d8299fd: startup date [Thu Mar 01 17:32:42 CST 2018]; root of context hierarchy

2018-03-01 17:32:48.136 INFO 64878 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/home]}" onto public java.lang.String com.spring.example.controller.HomeController.home()

2018-03-01 17:32:48.150 INFO 64878 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity

名稱欄目:springboot搭建web項目完整流程,以及遇到的一些坑坑洼洼總結
當前鏈接:http://jinyejixie.com/news29/321729.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、云服務器網站導航、關鍵詞優(yōu)化、網站排名服務器托管

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
调兵山市| 通许县| 长葛市| 老河口市| 科尔| 邵阳县| 城口县| 万源市| 红原县| 墨玉县| 富裕县| 许昌县| 武城县| 武平县| 南和县| 长寿区| 黎川县| 宁城县| 八宿县| 集安市| 临夏县| 九江市| 福贡县| 三门峡市| 通榆县| 元江| 兴安县| 石楼县| 松滋市| 保靖县| 潞西市| 叶城县| 东乡| 长治市| 东辽县| 南京市| 湖南省| 灵璧县| 南阳市| 吉林省| 同德县|