今天在维护JFinal项目的时候,通过jetty访问项目路径报出如下错误:
查阅相关文档资料,了解到jetty在访问不到或没有权限访问访问的url路径下资源时会报出403错误,也就是禁止访问。
以下是笔者在JFinal项目中相关路由配置的代码:
package config;
import Controller.IndexController;
import Controller.UserController;
import com.jfinal.config.Routes;
public class WebRoutes extends Routes{
@Override
public void config() {
// TODO Auto-generated method stub
add("/", IndexController.class,"/");
add("/user",UserController.class,"/user");
}
}
根据上述代码可知当url中包含/user时会定位到Usercontroller类中,根据JFinal官方文档还能得知默认会访问该类中的index方法,第三个参数表明会加载至编译路径下的user文件夹中,很明显这里user文件夹加载不到了。查看项目配置路径的几处,发现在config类中有如下代码:
很明显第一个参数路径错了,换成WebRoot之后问题解决。