2014年10月31日 星期五

JFinal_demo_for_jsp by Tomcat

JFinal_demo_for_jsp by Tomcat

前言 : 由官網所提供的JFinal_demo_for_jsp專案,不使用資料庫鏈結方式,
    部署jfinal_demo_for_jsp到tomcat上,使其成功運行並紀錄過程問題。

作業環境 : Windows XP
開發環境 :
                   Eclipse Luna
                   jdk1.6
                   Apache Tomcat v6.0

參考資料: 
JFianl 官網
jfinal部署在tomcat上邊出現404
jfinal自帶demo中如何在_layout.html加行<base href="${CONTEXT_PATH!}/"/>
JFinal使用筆記20130215


初始畫面 及 console訊息

遇到問題 : 

  1. css/manage.css , js/jquery-1.4.4.min.js 無正常載入!
  2. 首頁點擊 連結字碼 皆出現錯誤!" HTTP Status 404 "
  載入失敗!!  其原因為路徑問題



  在所查到的資料指出是因為用tomcat 運行server 的情況下,
  原生專案 無法 明確指定該有路徑,導致 css 和 js 加載失敗 !!


jfinal js css 加載失敗











點擊首頁"此處" ,出現 HTTP Status 404




setp1  : 

在 com.demo.common package 下新增 ContextPathHandler.java
且extends Handler

import com.jfinal.handler.Handler;

代碼如下 :

    
    
    @Override
    public void handle(String target, HttpServletRequest request,
           HttpServletResponse response, boolean[] isHandled) {
       request.setAttribute("CONTEXT_PATH", request.getContextPath());
       nextHandler.handle(target, request, response, isHandled);
    }



setp2  : 

  在 DemoConfig.java 的configHandler方法 ,加上ContextPathHandler()

代碼如下:

    
    /**
    * 配置處理器
    */
    public void configHandler(Handlers me) {
      me.add(new ContextPathHandler());
    }



setp3  : 


在使用到的jsp頁面,加上以下代碼

    
    < base href="${CONTEXT_PATH}/">< /base >

抑或是 另外新增 一個jsp , 特別歸納每頁所需附加的代碼
在 include 於每頁中!!!就不用 每個jsp 都加該代碼


setp4  : 

修改jsp頁面中的tag < a href="....">,將最前面的 "/" 去掉

大致如下 代碼
 

    "css/manage.css"             // 各 css 代碼 , href 去掉最前面的 "/" 
    "js/jquery-1.4.4.min.js"     // 各 js 代碼 , src 去掉最前面的 "/" 
    href="">首頁
    href="blog">Blog管理

     //..........等等等............所有的jsp



以上 四個步驟可解決現有問題!!!

當然,方法不只一個


卒仔〞筆記 : 已成功。筆記 筆記!!!!

沒有留言:

張貼留言