『壹』 新手,springBoot項目寫完之後,別人怎麼通過http的網址訪問到我的網址,也就是如何上線,網址已經購買好了
將項目打包發布到伺服器就可以了啊
『貳』 springmvc工程啟動成功 什麼也訪問不了
在某些情況下,有可能你會有這種需求:在Spring/SpringMVC項目中,當Spring/SpringMVC啟動完成後,你需要執行一個方法來完成某些事件(比如創建網站地圖,比如從訂閱Redis伺服器等),這個時候,可以使用Tomcat/Servlet容器提供的事件回調機制來完成,但是這樣有個問題是:無法使用Spring提供的Annotation,解決方法是:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.storezhang.web;
import com.storezhang.util.TimeUtils;
import com.storezhang.video.util.SiteMapUtils;
import java.util.Timer;
import java.util.TimerTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Service;
/**
* 啟動監聽器
*
* @author Storezhang
*/
@Service
public class StartupListener implements ApplicationListener<ContextRefreshedEvent> {
@Autowired
private SiteMapUtils sites;
@Override
public void onApplicationEvent(ContextRefreshedEvent evt) {
if (evt.getApplicationContext().getParent() == null) {
createSitemap();
}
}
private void createSitemap() {
Timer timer = new Timer("createSitemap", true);
timer.schele(new TimerTask() {
@Override
public void run() {
System.out.println("--->Create sitemap...");
sites.createSiteMap();
System.out.println("--->Success create sitemap...");
}
}, 1 * TimeUtils.MIN);
}
}
後續研究:
applicationontext和使用MVC之後的webApplicationontext會兩次調用上面的方法,如何區分這個兩種容器呢?
但是這個時候,會存在一個問題,在web 項目中(spring mvc),系統會存在兩個容器,一個是root application context ,另一個就是我們自己的 projectName-servlet context(作為root application context的子容器)。
這種情況下,就會造成onApplicationEvent方法被執行兩次。為了避免上面提到的問題,我們可以只在root application context初始化完成後調用邏輯代碼,其他的容器的初始化完成,則不做任何處理,修改後代碼
如下:
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if(event.getApplicationContext().getParent() == null){//root application context 沒有parent,他就是老大.
//需要執行的邏輯代碼,當spring容器初始化完成後就會執行該方法。
}
}
『叄』 springmvc環境搭建好了怎麼訪問
項目創建
1
目前進行軟體開發中,不再是創建簡單的java動態項目,而是創建目前比較流行的maven項目。通過創建maven項目可以提高項目的開發效率防止依賴包沖突等一系列問題,可以參考下面的經驗創建maven項目。
9如何創建maven項目
2
maven項目創建完成後,需要在pom的配置文件中,增加對springmvc等jar包的引入;如果創建的是普通動態web項目,需要手動將springMVC需要的jar包添加到系統構建中。
3
在pom文件中,創建一個dependencies依賴配置。然後從maven遠程倉庫或者是中央倉庫中搜索spring-webmvc依賴包,找到plugin配置文件,將這個文件粘貼到剛才創建的依賴中。即可完成對依賴包的引入。
4
查看依賴包是否引入成功,可以點擊maven項目名稱,打開java Resources java資源,在java資源中有個Libraries;展開Libraries,這里有jdk版本和Maven Dependencies(maven依賴),展開maven依賴就可以看到springmvc的jar被引入到項目中。
END
項目配置
1
作為web應用,在WEB-INF下有一個web.xml文件配置。作為web應用,都需要在這里進行配置。maven工程的web.xml文件存放在Deployed Resources部署資源-->webapp-->WEB-INF-->web.xml。
2
打開web.xml文件,需要在這里進行對攔截器的配置。對於攔截器一般都需要配置的是servlet和servlet-mapping兩個文件,因為這里使用的是springmvc的攔截器。所以在servlet-class中選擇springmvc中的分派攔截器。
3
根據springmvc的約定,在web中配置的攔截器的名稱是hello。所以在web-inf文件下需要創建一個hello-servlet的配置文件。這里主要是對框架的一些配置。主要包括控制器包配置;返回頁面的前綴和後綴。
4
創建測試的控制器。創建控制器的包要在hello-servlet中配置。控制器的類上要加上Controller的註解,類中的方法便是一個請求,在方法頭上要加上requestMapping的配置。
5
創建返回的頁面。根據hello-servlet中配置的頁面的前綴和後綴,所以在web-inf文件夾下創建jsp文件夾,根據控制器返回的字元串,需要創建user文件夾,然後在user文件夾下創建add.jsp文件。
END
運行項目
1
運行項目需要在pom文件中增加對jetty插件的引入。在pom文件中,新增節點build-->plugins-->plugin增加jetty插件。
2
運行項目。maven運行項目的時候需要使用maven命令執行。在pom.xml文件上行點擊右鍵,選擇Run as運行--如果是第一次運行,選擇第三個選項。在命令框中輸入命令jetty:run即可運行,如果想跳過測試可以加命令-skipping test。
3
在控制台中如果沒有錯,而且日誌列印出jetty運行成功。說明啟動正常,打開瀏覽器輸入一個servlet控制器查看訪問是否正常。如果頁面沒有報錯而且顯示的是創建的jsp頁面,說明配置正常完成。
『肆』 我使用springboot內置的tomcat部署項目,為什麼直接輸入localhost:8081/hello就可以訪問
spring boot內置了tomcat中間件
所以啟動後直接就綁定本機8081埠,簡化了部署環境的問題,讓開發人員重點放在編碼上
『伍』 Tomcat部署springmvc項目無法訪問url
可以試一下改成具體的文件名
『陸』 java sts 搭建了springboot 項目為什麼訪問不到後台路徑呀
你的地址要加上index才能訪問的到啊,因為你的沒有默認訪問地址啊
『柒』 創建Spring boot入門項目 在項目中,如何用瀏覽器所寫代碼
Springboot項目啟動後自動打開瀏覽器訪問。
在Springboot項目中每次啟動完項目,手動在瀏覽器輸入訪問地址太麻煩了。在啟動類中加入下方代碼,就可高效地在控制台中單擊URL訪問項目了。此外,還可以設置打開系統默認瀏覽器,並載入指定的頁面,在application.yml文件中配置相關的參數,至此,可愉快地啟動項目,等待瀏覽器自動載入我們指定的頁面。
『捌』 springboot配置啟動後自動打開瀏覽器訪問項目
你好!
Springboot裡面有個ApplicationReadyEvent事件,該事件表示application應該初始化完成,可以准備接收請求。
想要在啟動後打開瀏覽器,可以將執行代碼放到這個事件當中。
@EventListener({ApplicationReadyEvent.class})
voidapplicationReadyEvent(){
System.out.println("應用已經准備就緒...啟動瀏覽器");
Stringurl="http://localhost:8080";
Runtimeruntime=Runtime.getRuntime();
try{
runtime.exec("rundll32url.dll,FileProtocolHandler"+url);
}catch(IOExceptione){
e.printStackTrace();
}
}
希望對你有幫助!
『玖』 springboot打成jar包後如何訪問資料庫
spring boot訪問資料庫有很多方法,比較常見的就是用mybatis訪問資料庫。
你需要先學習mybatis知識,建議看一下輕量級java web(ssm)這本書,講得很詳細,
掌握mybatis之後,訪問資料庫就非常方便了,不管你是否打成jar包,訪問資料庫都是一樣的。
『拾』 如何通過域名訪問阿里雲部署的springboot項
1、首先你要有個域名,阿里雲可以買
2、域名需要做解析,解析到你阿里雲的ip上
3、阿里雲控制台的防火牆和阿里雲伺服器(Linux)本身的防火牆都要打開 80 埠
4、springboot項目啟動時設置埠為 80 (獲取通過nginx轉發也可以)