2018-08-21 17:42
@JM-java 如果你是在 eclipse 中运行,需要刷新下项目日志文件才出得来
如果是 linux 之下,需要将路径改成以 "/" 打头的绝对路径:
log4j.appender.file.File=/var/myproject/runLog.log
这个是 log4j 的行为,jfinal 不参与更不会干预
2018-08-21 17:26
@小圣颜路 我是将 war 文件直接用 mv xxx.war xxx.zip, 改成 zip 以后,用:
unzip xxx.zip 解压
然后配置 tomcat 指向它即可:
https://my.oschina.net/jfinal/blog/353062
不要让 tomcat 自动解压 war 做这种事情,不可靠
2018-08-21 17:23
这个肯定是配置文件有问题,你的配置文件中应该有一个 jdbcUrl,而这个配置文件使用了 windows 的记事本编辑过,而 windows 的记录本的 utf-8 编码与 linux 不同
所以 jdbcUrl 最终会少一个字符 'j',变成 "dbcUrl",必然就出错了
解决办法极其简单,在第一行添加点注释,例如:
#jdbcUrl 是干啥的
jdbcUrl=....
由于在第一行添加了别的字符,出错的是别的地方,不会是 jdbcUrl
当然,最好的解决办法是删掉这个配置文件,用 eclipse、IDEA 重新创建一个配置文件即可,windows 记事本动过的配置文件最好直接删掉,不要留,在表面上是看不出问题来的
2018-08-21 17:17
@黄天霸 参考这几个:
http://www.jfinal.com/share/492
https://www.dreamlu.net/druid/jfinal/2017/09/22/Print-executable-SQL-using-the-Druid-LogFilter.html
http://www.jfinal.com/share/324
2018-08-21 17:15
@siyuan 才注意到你的回复内涵,jfinal 的 sql 管理功能当然会支持生成问号占位符来防止 sql 注入,注意看文档,要使用 #para() 指令,那么就会像 mybatis 一样生成这样的 sql :
select * from post p where id in(?,?,..)
#para 指令的用法:
http://www.jfinal.com/doc/5-13
2018-08-21 17:09
@小圣颜路 不需要额外添加什么东西,只要把配置弄对就好, 很多碰到这种情况的都是不细心造成配置错误引起的
生产环境与开发环境毕竟有很多差别,例如 mysql 在生产环境下,是否允许 localhost 权限的登录,远程登录到服务器,用命令行手动登录一下,看看配置文件中的配置是不是真能用
这些问题本质都是与 jfinal 无关的, 在本地开发的项目,不需要任何改变就能部署到服务器,java 是跨平台的
2018-08-21 15:12
@jflyx 升级 druid 试试
2018-08-21 15:10
@Don小浩 例如,你在 tomcat 的 server.xml 中配置一下 context path 值为 "/abc", 那这时得到的就是 "/abc" ,就不会是空串了
2018-08-21 15:10
@Don小浩 "context path就是个空串" 这个很正常,如果你的 context path 被配置成空串,那它就必须是空串,否则就是错误的