用JFinal框架自带的main方法运行正常的情况下,用tomcat发布项目出现css样式表引用错误和资源找不到问题。

用JFinal框架写了个demo,引用了bootstrap的css样式表。在eclipse中开发时采用的是利用JFinal框架中自带的一个方法用main方法启动的。上下文链接清晰,但是部署到tomcat上时出现了找不到资源问题和css样式显示不出来的问题。经过分析之后,发现是相对路径的问题。


打开网址localhost:8092/进行测试的时候一切运行正常效果如下图

用main方法实现时

    但是当把部署tomcat上的时候,发现样式引用不了。显示如下图

部署到tomcat时,css样式失效

    输入用户名和密码登录后显示找不到路径。显示如下图

找不到资源

    究其原因是因为部署到tomcat后,根目录发生改变。所以采用main方法测试web网站的朋友,当你部署到tomcat或者是jetty时要注意你的路径是否采用了jfinal提供的上下文路径me.add(new ContextPathHandler("contextPath")。

/**
*采用main方法测试时的代码,以下为代码。
*/

---------------------------------------------------------------------------------------------------------------------------------------

public static void main(String args[])
{
JFinal.start("WebRoot", 8092, "/", 5);
}

---------------------------------------------------------------------------------------------------------------------------------------

<!--这里是css样式引用代码-->

<link href="/css/bootstrap.min.css" rel="stylesheet">

<script src="/js/bootstrap.min.js"></script>

<!--这里是css样式引用代码-->

---------------------------------------------------------------------------------------------------------------------------------------

-/**
*这里为登录时表单的提交路径
*/

<form class="form-horizontal" action="/login" method="post">

----------------------------------------------------------------------------------------------------------------------------------------

/**
*当你部署到tomcat上时,代码应该添加上下文代码,以下为修改后的代码
*/

<!--这里是css样式引用代码-->

<link href="${contextPath}/css/bootstrap.min.css" rel="stylesheet">

<script src="${contextPath}/js/bootstrap.min.js"></script>

<!--这里是css样式引用代码-->

----------------------------------------------------------------------------------------------------------------------------------------

/**
*这里为登录时表单的提交路径*${contextPath}为freemaker的语法。
*/

<form class="formhorizontal"action="${contextPath}/login"method="post">

----------------------------------------------------------------------------------------------------------------------------------------

/**
*在JFinal框架的config配置文件中要在handler中添加一条代码
*/

public void configHandler(Handlers me)
{
me.add(new ContextPathHandler("contextPath"))
};//contextPath为你设置的上下文路径}

----------------------------------------------------------------------------------------------------------------------------------------



将相对路径中添加${contextPath}/后部署在tomcat后,网站就运行正常了

强烈建议在所有用到路径的地方都要加上${contextPath}




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值