久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

springboot搭建web項(xiàng)目完整流程,以及遇到的一些坑坑洼洼總結(jié)

2024-03-25    分類: 網(wǎng)站建設(shè)

一、spring boot簡介

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

二、spring boot搭建web項(xiàng)目

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

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

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

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

具體的工程目錄如下所示

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

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

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

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

要想把這個(gè)項(xiàng)目跑起來,需要做一下幾個(gè)步驟:

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

org.springframework.boot

spring-boot-starter-parent

1.5.10.RELEASE

org.springframework.boot

spring-boot-starter-web

這樣就能啟動一個(gè)spring-boot的web項(xiàng)目,其中內(nèi)嵌了相關(guān)的tomcat服務(wù)器,接下里是至關(guān)重要的,因?yàn)槿绻灰胂旅娴膉ar包,在調(diào)整jsp的頁面的時(shí)候直接看到的是變成了下載的模式,筆者也是在這個(gè)地方郁悶了半天,百度上找了好多的例子,大部分都沒講到這個(gè)方面,故而在這里重點(diǎn)說明一下

javax.servlet

jstl

org.apache.tomcat.embed

tomcat-embed-jasper

provided

引入了這個(gè)jar之后呢,才能對jsp進(jìn)行解析,編譯,到這里之后,相關(guān)的依賴基本上都算引入完成。接下來要做的是配置application.properties配置文件,這里面也是有一堆坑在這里。默認(rèn)的情況下,這個(gè)配置文件是不需要配置的,服務(wù)器也可以啟動起來。但是很多同學(xué)在搭建玩項(xiàng)目之后,進(jìn)行的跳轉(zhuǎn)的時(shí)候,不是報(bào)找不到頁面,就是解析錯誤。因?yàn)樵谶@個(gè)配置文件中需要指定一下需要跳轉(zhuǎn)的jsp頁面的路徑,即,具體在哪個(gè)文件夾下面,添加如下配置:

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

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp

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

spring.view.prefix=/

spring.view.suffix=.jsp

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

|----src/main/webapp

|------index.jsp

|------pages

|----page.index

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

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

pageEncoding="UTF-8"%>

Insert title here

hello world!!!

name=${name } welcome!

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

@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函數(shù),看到控制臺輸出如下,說明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項(xiàng)目完整流程,以及遇到的一些坑坑洼洼總結(jié)
當(dāng)前鏈接:http://www.js-pz168.com/news29/321729.html

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

廣告

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

搜索引擎優(yōu)化
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
人偷久久久久久久偷女厕| 日韩免费观看高清完整版| 日韩美女在线视频| 中文字幕一区二区三区在线播放 | 精品中文字幕一区| 一区二区三区四区五区精品| 日韩亚洲电影在线| 亚洲久草在线视频| 国产精品自拍毛片| 鲁鲁视频www一区二区| 欧美三级在线看| 国产精品乱子久久久久| 麻豆成人综合网| 国产精品麻豆免费版| 色94色欧美sute亚洲线路二 | 亚洲精品视频在线| 国产毛片一区二区| 女女同性女同一区二区三区91| 欧美日韩久久不卡| 亚洲免费av网站| 国产麻豆精品95视频| 久久另类ts人妖一区二区| 3d动漫精品啪啪1区2区免费| 亚洲欧美日韩人成在线播放| 国产精品中文字幕日韩精品| 欧美日韩三区四区| 精品国产成人在线影院| 午夜成人在线视频| 91麻豆福利精品推荐| 91成人免费在线视频| 国产精品成人一区二区艾草 | 精品视频色一区| 亚洲欧美中日韩| 国产成人综合网| 神马影院一区二区| 国产亚洲一本大道中文在线| 麻豆91精品91久久久的内涵| 久久久久久久久久久久久久一区| 欧美一区二区三区四区视频| 亚洲丶国产丶欧美一区二区三区| 99久久国产免费免费| 欧美日韩一二三| 亚洲综合一区二区| 91视频免费在线观看| 欧美日韩国产123区| 亚洲一区在线观看网站| 99国产在线| 91精品久久久久久久99蜜桃| 午夜久久电影网| 国产精品9999久久久久仙踪林| 91精品国产91热久久久做人人| 偷拍一区二区三区四区| 国内精品一区二区| 精品久久人人做人人爱| 久久se这里有精品| 日韩视频在线观看国产| 国产精品久久看| 成人精品国产福利| 欧美日韩激情一区二区三区| 亚洲成人高清在线| 九色91视频| 国产日韩欧美a| 粉嫩高潮美女一区二区三区| 在线精品亚洲一区二区不卡| 亚洲综合自拍偷拍| 精品久久sese| 国产清纯白嫩初高生在线观看91| 国产91精品入口| 欧美无人高清视频在线观看| 午夜精品久久一牛影视| 麻豆av一区二区三区久久| 国产亚洲自拍一区| 不卡的av在线| 欧美一级在线观看| 极品瑜伽女神91| 一本色道久久综合亚洲91| 亚洲一区二区三区四区在线免费观看 | 久久精品magnetxturnbtih| 2017欧美狠狠色| 成人永久免费视频| 91麻豆精品国产综合久久久久久| 蜜臀久久久99精品久久久久久| 亚洲永久激情精品| 亚洲影视在线播放| 欧美一区二区三区四区夜夜大片 | 久久视频在线观看中文字幕| 日本一区二区不卡视频| 91丨porny丨最新| 欧美xxxxx裸体时装秀| 国产成人免费xxxxxxxx| 欧美美女网站色| 久久99久久99精品免视看婷婷| 日本电影欧美片| 人人爽香蕉精品| 日本高清不卡aⅴ免费网站| 亚洲第一激情av| 亚洲一区二区三区在线观看视频| 亚洲一区二区三区视频在线 | 亚洲一卡二卡三卡四卡无卡久久 | 欧美色精品在线视频| 蜜臀av性久久久久蜜臀av麻豆 | 极品日韩久久| 国产精品国产三级国产专播品爱网| 不卡日韩av| 中文字幕欧美激情一区| 国产精品久久久久久久免费大片| 亚洲国产成人自拍| 国产伦精品一区二区三区照片91| 国产精品―色哟哟| 精品毛片久久久久久| 亚洲人成伊人成综合网小说| 麻豆成人小视频| 一区二区三区蜜桃| 亚洲精品9999| 日本不卡视频一二三区| 欧美在线免费观看亚洲| 精品系列免费在线观看| 正在播放一区二区| 成人avav影音| 国产视频一区二区在线| 国产精品二区三区| 亚洲日本免费电影| 天堂资源在线亚洲视频| 丝袜亚洲精品中文字幕一区| 在线观看日韩精品| 国产成人一区在线| 久久亚洲精品国产精品紫薇 | 国产调教视频一区| 狠狠色综合色区| 亚洲夂夂婷婷色拍ww47| 伊人情人网综合| 国产乱码精品一区二区三区忘忧草| 欧美一区二区精美| 91丨九色丨国产| 亚洲欧美乱综合| 色婷婷综合中文久久一本| 精品一区二区三区香蕉蜜桃| 日韩欧美黄色影院| 99精品国产高清一区二区| 亚洲摸摸操操av| 91成人国产精品| 成人一道本在线| 国产精品美女久久久久久久| 日韩理论片在线观看| 麻豆国产欧美日韩综合精品二区 | 最近日韩中文字幕| 一区二区高清视频| 国产精品一区三区| 中文字幕欧美激情| 亚洲激情一区二区| 国产精品一卡二| 国产欧美一区二区在线| 日韩影视精品| 国产乱妇无码大片在线观看| 国产日本亚洲高清| 日本一区免费在线观看| 激情综合色播激情啊| 久久久久久久免费视频了| 欧美乱偷一区二区三区在线| 老鸭窝一区二区久久精品| 久久一夜天堂av一区二区三区| 久久久精品动漫| 久久99精品久久久久久动态图 | 日韩av网站在线观看| 日韩视频永久免费| 久久精品女人的天堂av| 毛片一区二区三区| 久久精品一区二区三区四区| 日韩免费三级| 国产成人久久精品77777最新版本| 中文字幕成人在线观看| 一本一道久久a久久精品| 成人激情动漫在线观看| 亚洲激情图片一区| 666欧美在线视频| 国产青春久久久国产毛片| 日本视频免费一区| 久久色.com| 一本高清dvd不卡在线观看 | 蜜臀a∨国产成人精品| 久久综合久久综合九色| 日韩国产伦理| 国产成人在线观看| 一区二区三区四区在线免费观看| 欧美群妇大交群的观看方式| 国产一区二区三区四区hd| 麻豆精品久久精品色综合| 欧美国产激情二区三区| 欧美亚洲另类激情小说| 国产精品大全| 久久99久久99| 亚洲色图.com| 欧美一区二区观看视频| 日韩午夜视频在线观看| 成人国产精品免费观看动漫| 香蕉成人啪国产精品视频综合网| 欧美精品一区二区三区一线天视频| 亚洲自拍偷拍二区| av在线不卡一区| 久久99国产精品麻豆|