用JFinal框架自帶的main方法運行正常的狀況下,用tomcat發佈項目出現css樣式表引用錯誤和資源找不到問題。

用JFinal框架寫了個demo,引用了bootstrap的css樣式表。在eclipse中開發時採用的是利用JFinal框架中自帶的一個方法用main方法啓動的。上下文連接清晰,可是部署到tomcat上時出現了找不到資源問題和css樣式顯示不出來的問題。通過分析以後,發現是相對路徑的問題。css


打開網址localhost:8092/進行測試的時候一切運行正常效果以下圖 web

用main方法實現時

    可是當把部署tomcat上的時候,發現樣式引用不了。顯示以下圖bootstrap

部署到tomcat時,css樣式失效

    輸入用戶名和密碼登陸後顯示找不到路徑。顯示以下圖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

相關文章
相關標籤/搜索