用JFinal框架自带的main方法运行正常的情况下,用tomcat发布项目出现css样式表引用错误和资源找不到问题。
2014-09-21 16:42
776 查看
用JFinal框架写了个demo,引用了bootstrap的css样式表。在eclipse中开发时采用的是利用JFinal框架中自带的一个方法用main方法启动的。上下文链接清晰,但是部署到tomcat上时出现了找不到资源问题和css样式显示不出来的问题。经过分析之后,发现是相对路径的问题。
打开网址localhost:8092/进行测试的时候一切运行正常效果如下图
但是当把部署tomcat上的时候,发现样式引用不了。显示如下图
输入用户名和密码登录后显示找不到路径。显示如下图
究其原因是因为部署到tomcat后,根目录发生改变。所以采用main方法测试web网站的朋友,当你部署到tomcat或者是jetty时要注意你的路径是否采用了jfinal提供的上下文路径me.add(new ContextPathHandler("contextPath")。
将相对路径中添加${contextPath}/后部署在tomcat后,网站就运行正常了。
强烈建议在所有用到路径的地方都要加上${contextPath}
打开网址localhost:8092/进行测试的时候一切运行正常效果如下图
但是当把部署tomcat上的时候,发现样式引用不了。显示如下图
输入用户名和密码登录后显示找不到路径。显示如下图
究其原因是因为部署到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}
相关文章推荐
- 右击main 方法运行正常,启动tomcat 后,spring boot 项目 出现参数字符串是乱码的情况
- java.lang.OutOfMemoryError:Java heap space解决方法(项目中直接运行main方法,做案例,没有启动tomcat的情况)
- Idea Tomcat Struts2 hello world 项目出现 500错误 问题解决方法
- 运行Maven项目时出现invalid LOC header (bad signature)错误,Tomcat不能正常启动
- 运行Maven项目时出现invalid LOC header (bad signature)错误,Tomcat不能正常启动
- 遇到问题-----maven项目右键运行或者run as运行main方法找不到类
- IIS发布后出现“如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”错误
- 前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误。 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected est
- 遇到问题-----maven项目右键运行或者run as运行main方法找不到类
- 写了一个查询数据库的程序,不熟的Tomcat6。查询条件为英文时运行正常,为中文时出现乱码。后在tomcap的server.xml中加入useBodyEncodingForURI="true解决了问题
- android2.x的桌面项目程序在android4.0上运行后出现 java.lang.NoClassDefFoundError错误 解决方法
- Cocos2d-x环境搭建问题,Visual studio 2012与Visual studio 2013运行项目出现的错误
- 今天更新代码之后,突然出现一个问题:Tomcat启动时,总是会出现jvm fatal error错误导致tomcat无法正常启动,以下是错误信息:
- 在引用KindEditor编辑器时,运行时出现以下错误:错误46 找不到类型或命名空间名称“LitJson”(是否缺少 using 指令或程序集引用?)
- [排错]运行cocos2d自带的cocos2d-test-ios工程出现错误:找不到libcocos2d.a
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
- 在Android项目中创建一个包含main()方法的类,直接右键运行该类时会报如下错误:ShouldNotReachHere()
- 出现“找不到该项目”的错误提示解决方法
- 发布应用程序.exe,运行出现错误,找不到vcl60.bpl
- Eclipse 项目发布到Tomcat报系统找不到路径的问题解决方案!