用JFinal框架寫了個demo,引用了bootstrap的css樣式表。在eclipse中開發時採用的是利用JFinal框架中自帶的一個方法用main方法啓動的。上下文連接清晰,可是部署到tomcat上時出現了找不到資源問題和css樣式顯示不出來的問題。通過分析以後,發現是相對路徑的問題。css
打開網址localhost:8092/進行測試的時候一切運行正常效果以下圖 web
可是當把部署tomcat上的時候,發現樣式引用不了。顯示以下圖bootstrap
輸入用戶名和密碼登陸後顯示找不到路徑。顯示以下圖tomcat
究其緣由是由於部署到tomcat後,根目錄發生改變。因此採用main方法測試web網站的朋友,當你部署到tomcat或者是jetty時要注意你的路徑是否採用了jfinal提供的上下文路徑me.add(new ContextPathHandler("contextPath")。框架
/** *採用main方法測試時的代碼,如下爲代碼。 */ --------------------------------------------------------------------------------------------------------------------------------------- public static void main(String args[]) { JFinal.start("WebRoot", 8092, "/", 5); } --------------------------------------------------------------------------------------------------------------------------------------- <!--這裏是css樣式引用代碼--> <link href="/css/bootstrap.min.css" rel="stylesheet"> <script src="/js/bootstrap.min.js"></script> <!--這裏是css樣式引用代碼--> --------------------------------------------------------------------------------------------------------------------------------------- -/** *這裏爲登陸時表單的提交路徑 */ <form class="form-horizontal" action="/login" method="post"> ---------------------------------------------------------------------------------------------------------------------------------------- /** *當你部署到tomcat上時,代碼應該添加上下文代碼,如下爲修改後的代碼 */ <!--這裏是css樣式引用代碼--> <link href="${contextPath}/css/bootstrap.min.css" rel="stylesheet"> <script src="${contextPath}/js/bootstrap.min.js"></script> <!--這裏是css樣式引用代碼--> ---------------------------------------------------------------------------------------------------------------------------------------- /** *這裏爲登陸時表單的提交路徑*${contextPath}爲freemaker的語法。 */ <form class="formhorizontal"action="${contextPath}/login"method="post"> ---------------------------------------------------------------------------------------------------------------------------------------- /** *在JFinal框架的config配置文件中要在handler中添加一條代碼 */ public void configHandler(Handlers me) { me.add(new ContextPathHandler("contextPath")) };//contextPath爲你設置的上下文路徑} ----------------------------------------------------------------------------------------------------------------------------------------
將相對路徑中添加${contextPath}/後部署在tomcat後,網站就運行正常了。eclipse
強烈建議在全部用到路徑的地方都要加上${contextPath}
post