JFinal访问路径问题

pandyyan 发布于 2013/04/22 15:14
阅读 4K+
收藏 4

@JFinal , @绝望的八皮 , @缪斯的情人 各位好,想请教个问题:

后台使用JFinal搭建,前端url怎么写访问路径?是绝对路径,还是相对路径?我有个小项目之前一直用jetty测试,今天部署到tomcat中后,发现所有的url路径都错了,之前(jetty)的写法是/user/login,部署到tomcat中需要改为user/login,把前面的斜线去掉,jetty调试时只需访问http://localhost:8089/ ,部署到tomcat后需要访问http://localhost:8089/JFProject 请问这个问题怎么解决?谢谢~~

加载中
0
绝望的八皮
绝望的八皮

路径的问题用ContextPathHandler解决。我的经验是最好写绝对路径

/**
 * Provide a context path to view if you need.
 * <br>
 * Example:<br>
 * In JFinalFilter: handlers.add(new ContextPathHandler("CONTEXT_PATH"));<br>
 * in freemarker: <img src="${BASE_PATH}/images/logo.png" />
 */
public class ContextPathHandler extends Handler {

pandyyan
pandyyan
用这种方式设置绝对路径简洁、方便~
0
大喵哥
大喵哥
tomcat 配置指定appBase="webapps/JFProject "  应该这样就可以了吧
0
戴威
戴威
String path = request.getContextPath();  
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";  

0
绝望的八皮
绝望的八皮

 context配置的问题

tomcat conf/server.xml

<Context path="" docBase="/usr/local/www/JFProject " debug="0" reloadable="false" crossContext="false" />



0
pandyyan
pandyyan

引用来自“喵了个咪”的答案

String path = request.getContextPath();  
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";  

改成绝对路径应该没有问题,关键是我前端使用的easyui,包含大量的这种url,我都是写的/user/login这种格式,而且jetty测试都是没有问题的,就是换成tomcat就出问题了,@JFinal 有没有改动最少的方法能把这个问题解决掉呢? jetty和tomcat之间存在兼容问题?@缪斯的情人

0
pandyyan
pandyyan

引用来自“绝望的八皮”的答案

 context配置的问题

tomcat conf/server.xml

<Context path="" docBase="/usr/local/www/JFProject " debug="0" reloadable="false" crossContext="false" />



我用myeclipse之间部署项目,myeclipse中能不能做下设置达到同样的效果呢?谢谢~~

0
pandyyan
pandyyan

引用来自“Singer”的答案

tomcat 配置指定appBase="webapps/JFProject "  应该这样就可以了吧
我用myeclipse之间部署项目,myeclipse中能不能做下设置达到同样的效果呢?谢谢~~
pandyyan
pandyyan
回复 @Singer : 因为第一次组内推广使用@JFinal ,每个人都让他们去修改tomcat配置,感觉他们会觉得这是JFinal的问题,第一印象就觉得不靠谱,期待更好的解决方式!!
大喵哥
大喵哥
Myeclipse的tomcat 你指定外部的tomcat 别用它自带的 外部的tomcat你自己修改配置就好了!
0
缪斯的情人
缪斯的情人

没其他说的,最方便的是改下tomcat的server.xml

<Context path="" docBase="/JFProject "  />

pandyyan
pandyyan
谢谢,还是决定改为绝对路径了,安全可靠~
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部