本文为eclipse开发java
注意上图中:Target runtime 必定要选择<None>web
特别注意:此处的 Default out folder必需要与 WebRoot\WEB-INF\classes 目录彻底一致才可使用 JFinal 集成的 Jetty 来启动项目。浏览器
注意上图:此处也可使用默认值WebContent, 但上一步中的WebRoot\WEB-INF\classes则须要改为WebContent\WEB-INF\classes才能对应上。tomcat
将 jfinal-xxx.jar与jetty-server-8.1.8.jar拷贝至项目WEB-INF\lib下便可。注意:jetty-server-8.1.8.jar是开发时使用的运行环境,生产环境不须要此文件。app
所须要的 jar 包能够在 jfinal.com 首页下载 jfinal-version-all.zip 文件,该文件中包含了所需的经常使用 jar 包,以及 jar 包使用说明。框架
将以下内容添加至web.xmleclipse
<filter> <filter-name>jfinal</filter-name>//应该就是添加过滤器都通过demo.DemoConfig,而后根据地址映射找到对应的controller执行 <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>
在项目src目录下建立demo包,并在demo包下建立DemoConfig文件, 内容以下:webapp
package demo; import com.jfinal.config.Constants; import com.jfinal.config.Handlers; import com.jfinal.config.Interceptors; import com.jfinal.config.JFinalConfig; import com.jfinal.config.Plugins; import com.jfinal.config.Routes; import com.jfinal.template.Engine; public class DemoConfig extends JFinalConfig{ @Override public void configConstant(Constants me) { // TODO Auto-generated method stub me.setDevMode(true); } @Override public void configEngine(Engine me) { // TODO Auto-generated method stub } @Override public void configHandler(Handlers me) { // TODO Auto-generated method stub } @Override public void configInterceptor(Interceptors me) { // TODO Auto-generated method stub } @Override public void configPlugin(Plugins me) { // TODO Auto-generated method stub } @Override public void configRoute(Routes me) { // TODO Auto-generated method stub me.add("/hello", HelloController.class);//这里应该就是地址的映射 me.add("/hello2", HelloController2.class); } }
注意:DemoConfig.java文件所在的包以及自身文件名必须与web.xml中的param-value标签内的配置相一致(在本例中该配置为demo.DemoConfig)。maven
在demo包下建立HelloController HelloController2类文件, 内容以下:ide
1 package demo; 2 3 import com.jfinal.core.Controller; 4 5 public class HelloController extends Controller{ 6 public void index(){ 7 renderText("hahhahahhahahh"); 8 } 9 } 10 11 12 13 package demo; 14 15 import com.jfinal.core.Controller; 16 17 public class HelloController2 extends Controller{ 18 public void index(){ 19 renderText("hahhahahhahahh22222"); 20 } 21 }
使用一个任意的main方法代替。在任意一个类文件中添加一个main启动集成的jetty以下图所示:
1 package demo; 2 3 import com.jfinal.core.JFinal; 4 5 public class DemoStart { 6 public static void main(String[] args) { 7 JFinal.start("WebRoot", 80, "/", 5); 8 } 9 }
上面代码中的四个参数与前面介绍中的同样,注意根据本身的项目结构进行更改。上面的第一个参数”src/main/webapp” 适用于标准的maven项目,若是是非maven的老式java web 项目,第一个参数一般是”WebRoot”或”WebContent”。
注意:由于在建立web项目的时候可能用自动加上tomcat的jar包,可是这种启动方法会报错,解决办法就是去掉。
右键 remove
第二种启动:jfinal是属于普通的web项目的,因此原有的项目启动和部署知识所有有效。可是须要去掉对jetty-server-8.1.8.jar 的依赖。
打开浏览器在地址栏中输入: http://localhost/hello,http://localhost/hello2,输出内容 证实项目框架搭建