JFinal ÊÇ»ùÓÚ Java ÓïÑԵļ«ËÙ WEB + ORM ¿ò¼Ü£¬ÆäºËÐÄÉè¼ÆÄ¿±êÊÇ¿ª·¢Ñ¸ËÙ¡¢´úÂëÁ¿ÉÙ¡¢Ñ§Ï°¼òµ¥¡¢¹¦ÄÜÇ¿´ó¡¢ÇáÁ¿¼¶¡¢Ò×À©Õ¹¡¢Restful¡£ÔÚÓµÓÐJavaÓïÑÔËùÓÐÓÅÊÆµÄͬʱÔÙÓµÓÐruby¡¢python¡¢phpµÈ¶¯Ì¬ÓïÑԵĿª·¢Ð§ÂÊ£¡ÎªÄú½ÚÔ¼¸ü¶àʱ¼ä£¬È¥ÅãÁµÈË¡¢¼ÒÈ˺ÍÅóÓÑ :)
ÎÒ¿´ÁËÖ®ºóºÜÊǼ¤¶¯£¬ÔÚÕâÀïºÍ´ó¼Ò·ÖÏíÒ»ÏÂÎÒµÄѧϰ¹ý³Ì£º
ÔÚѧϰ֮ǰÎÒÃÇÐèÒªÅäÖÃһϻ·¾³£¬1£º·þÎñÆ÷ÎÒ²ÉÓõÄjetty¡£2£ºÒýÈëjfnalµÄjar°ü¡£3£ºÇ°¶ËʹÓõÄbeetl¡£
import com.jfinal.config.*;
import com.jfinal.core.JFinal;
public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me) {
me.setDevMode(true);
}
public void configRoute(Routes me) {
//ÕâÀïµÄ·¾¶¶ÔÓ¦µÄÊÇÏàÓ¦ÀàÀïÃæ¶ÔÓ¦µÄ·½·¨Ãû¡£
me.add("/index", HelloController.class) ;
//me.add("/index/method", HelloController.class);
me.add("/hello/index", BybyController.class);
me.add("/login", UserController.class);//ÕâÀï×¢ÒâÔÚjfinalÖÐĬÈÏÊÇ·ÃÎÊindex·½·¨ £¬µ«ÊÇÈç¹ûÎÒÃÇÏëÒª·ÃÎÊÆäËûµÄ£¬±ØÐë´¥·¢Ëü¡££¨action£©
}
public void configPlugin(Plugins me) {}
public void configInterceptor(Interceptors me) {}
public void configHandler(Handlers me) {}
public static void main(String[] args) {
//Ö±½ÓÔÚÕâ¸öÒ³ÃæÆô¶¯£¬ÔÚä¯ÀÀÆ÷ÖÐÊäÈëlocalhost/index ½øÐзÃÎÊ
JFinal.start("WebRoot", 80, "/", 5);
}
}//ÔÚtomcatÖнøÐвâÊÔ£¬ÒÔ¼°ÔÚjettyÖнøÐÐwebÖнøÐÐÅäÖÃÖ´ÐС£
import com.jfinal.core.ActionKey;
import com.jfinal.core.Controller;
public class UserController extends Controller{
@ActionKey("/login")//ÕâÀï¿ÉÒÔ½øÐзÃÎÊlogin·½·¨
public void login(){
renderText("login.html");
}
}
import com.jfinal.core.Controller;
public class HelloController extends Controller {
public void index() {
//renderText("Hello JFinal World.");//Õâ¸ö·½·¨ÔòÖ±½Ó°ÑÄÚÈÝÏÔʾÔÚÒ³ÃæÉÏ
render("/login.html");//ÕâÀïÊǽøÐÐÒ³ÃæµÄÌø×ª
}
public void method(){
renderText("the test");
}
}
½ñÌì¾ÍÏȽøÐÐcontrollerµÄѧϰ¡£