JFinal專案開發菜鳥入門教程01
打算開發自己的後臺管理系統, 然後搜尋什麼最容易上手, 得到一個結果, JFinal開發迭代比較快, 開源, 開發週期短等很多優點.
所以就選擇了這個框架.
既然認定了這個框架, 就開始學習, 下面就開始記錄自己的JFinal成長軌跡. 我的微信公眾號: 史慧君, 歡迎和我交流.
1. 下載Jfinal各種jar包:
2. 我用的mac開發, 首先安裝Mac版本的Eclipse, 下載之後安裝的時候, 記得安裝J2EE版本.
下載地址: http://www.eclipse.org/downloads/eclipse-packages/
3. 新建JFinal Demo專案
注意:Target runtime 一定要選擇<None>
修改 Default Output Folder,推薦輸入 WebRoot\WEB-INF\classes
修改 Content directory,推薦輸入 WebRoot
[注意]:此處也可以使用預設值
WebContent, 但上一步中的 WebRoot\WEB-INF\classes 則需要 改成 WebContent\WEB-INF\classes 才能對應上。
4. 新增JFinal相應的jar包檔案,
將 jfinal-xxx.jar 與jetty-server-8.1.8.jar 拷貝至專案 WEB-INF\lib 下即可。
注意:jetty-server-8.1.8.jar是開發時使用的執行環境,生產環境不需要此檔案。
5. 在web.xml中新增下面的程式碼.
<filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>demo.DemoConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
6. 在專案 src 目錄下建立 demo 包,並在 demo 包下建立 DemoConfig 檔案, 內容如下
public class DemoConfig extends JFinalConfig{
@Override
public void configConstant(Constants me) {
// TODO Auto-generated method stub
me.setDevMode(true);
me.setViewType(ViewType.JSP);
}
@Override
public void configRoute(Routes me) {
// TODO Auto-generated method stub
// me.add("/hello/method", HelloController.class);
// me.add("/", HelloController.class);
me.add(new FrontRoutes());
}
@Override
public void configEngine(Engine me) {
// TODO Auto-generated method stub
}
@Override
public void configPlugin(Plugins me) {
// TODO Auto-generated method stub
// loadPropertyFile("your_app_config.txt");
// C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"));
// me.add(c3p0Plugin);
// ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);me.add(arp);
// arp.addMapping("user",User.class);
}
@Override
public void configInterceptor(Interceptors me) {
// TODO Auto-generated method stub
}
@Override
public void configHandler(Handlers me) {
// TODO Auto-generated method stub
}}
注意:DemoConfig.java 檔案所在的包以及自身檔名必須與 web.xml 中的 param-value 標 籤內的配置相一致(在本例中該配置為 demo.DemoConfig)。
7. 在
demo 包下建立 HelloController 類檔案, 內容如下:
public class HelloController extends Controller {
public void index() {
// renderText("Hello JFinal World!");
User user = new User();
user.userName = "junzaivip";
user.passWord = "123456";
renderJson("Hello", user.userName);
renderText("公眾號:史慧君");
}
public void method() {
renderText("This is get Key!");
}
public static void main(String[] args) {
JFinal.start("WebRoot", 12555, "/", 5);// 自己設定埠
}
}
注意: JFinal.start("WebRoot", 12555, "/", 5)是自己修改的埠, 因為官方預設的是80埠, 所以必須修改一下, 才能使用, 避免埠衝突.
8. 啟動專案:
在右側視窗中的 Main class 輸入框中填入: com.jfinal.core.JFinal , 點選Apply應用專案, 然後點選 Debug 按鈕啟動專案即可.
且在arguments新增下面的程式碼:(目的是為了避免埠衝突)
-XX:PermSize=64M -XX:MaxPermSize=256M
WebRoot 12555 / 5
8. 然後在瀏覽器就可以看到效果啦.