Idea如何使用Maven配置Jetty插件请参考:
http://blog.youkuaiyun.com/m0_37949305/article/details/79243860
配置完Jetty插件后,我们要来配置Jfinal
(1)使用maven配置Jfinal所需的包
打开pom.xml文件
在dependencys里添加如下配置信息并保存
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jetty-server</artifactId>
<version>8.1.8</version>
<scope>provided</scope>
</dependency>
(2)创建存放源文件的java文件夹跟包路径com.study
右键main,依次选择New-Directory创建java文件夹
创建完毕后,右键创建出来的java文件夹,
依次选择Mark Directory as - Sources Root (意思是将java文件夹设置成源文件夹/根目录)
具体操作如下
设置完毕后新建包路径,com.study
右键java文件夹,依次选择 New - Package
填写包路径为com.study
之后文件结构如下图所示
(3)在com.study路径下创建config跟controller包并创建控制器类 HelloController和配置类 HelloConfig
在controller包里创建控制器类 HelloController ,HelloController 继承 Controller
具体代码如下:
package com.study.controller;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
/**
* 默认路径
*/
public void index() {
render("/index.jsp");
}
/**
* 指定路径,route里的url+/hello
*/
public void HelloJFinal() {
renderText("Hello JFinal World......");
}
}
注意:package是包路径,如果不一致,记得改为自己的。 在config包里创建配置类 HelloConfig
,HelloConflg 继承 JFinalConfig 并重写JFinalConfig 里的六个方法
使用configRoute(...)配置访问路由,
如下代码配置了将 "/hello" 映射到HelloController这个控制器,
通过以下的配置,http://localhost:8090/hello 将访问 HelloController.index() 方法,
而 http://localhost:8090/hello/HelloJFinal 将访问到 HelloController.HelloJFinal() 方法。
具体代码如下:
package com.study.config;
import com.jfinal.config.*;
import com.jfinal.template.Engine;
import com.study.controller.HelloController;
public class HelloConfig extends JFinalConfig {
@Override
public void configConstant(Constants constants) {
constants.setDevMode(true);
}
@Override
public void configRoute(Routes routes) {
routes.add("/hello", HelloController.class);
}
@Override
public void configEngine(Engine engine) {
}
@Override
public void configPlugin(Plugins plugins) {
}
@Override
public void configInterceptor(Interceptors interceptors) {
}
@Override
public void configHandler(Handlers handlers) {
}
}
(4)配置web.xml;文件
具体配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.study.config.HelloConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<param-value>com.study.config.HelloConfig</param-value>
是设置配置类的路径,这里我们的配置类路径为:com.study.config.HelloConfig
(如有不同记得根据自己的进行修改)
(5)运行
保存所有文件后,使用Jetty
运行Maven web项目
运行完毕后在地址栏上输入http://localhost:8090/hello 将访问 HelloController.index()
方法
具体页面如下:
输入http://localhost:8090/hello/HelloJFinal 将访问到 HelloController.HelloJFinal() 方法。
具体页面如下: