1.Jfinal中加载c3p0出错一般测试的方法 :
C3p0Plugin c3p0Plugin =
new
C3p0Plugin(
"jdbc:mysql://localhost:3306/controller"
,
"root"
,
"root"
);不去调用文件里面的。如果可以的话说明是文件读取有问题,如果不行说明是你的配置有问题,要么就是你的jar包没导入,或者是数据库的url,账号,密码错了,或者是服务没开。如果直接写可以用的话说明是文件的路径有问题,配置文件放在项目的src根目录下才能正确的读取到,如果不是则需要在
/**
* 便于团队开发使用的PropKit
*/
PropKit.use("config.properties");
loadPropertyFile("system_config_info.txt");
* 便于团队开发使用的PropKit
*/
PropKit.use("config.properties");
loadPropertyFile("system_config_info.txt");
这些值需要写全路径。
2.
Caused by:
com.jfinal.plugin.activerecord.ActiveRecordException
: The attribute name is not exists: id
原因是数据库中的id字段不是默认的id而是其他的
两种处理方式:1.修改数据库的主键的字段名为 id
2. 在Model与数据库连接时手动指定主键 当表中的主键不是id时需要显示的声明 arp.addMapping("received_code", "实际的id字段名", Code.class);
3.getpara()出现乱码的问题
getpara()得到数据时出现了乱码问题(
办法1 : String userName=
new
String(getPara(
"userName"
).getBytes(
"iso8859_1"
),
"utf-8"
);
解决办法2 : 最官方的方法 : 前台encode后台Decode
var
helperPhone2 = encodeURI(encodeURI(helperPhone.value));
String helperPhone = URLDecoder.decode(getPara(
"helperPhone"
),
"utf-8"
);
)解决办法如上,网上的说用post但是我的action就无法收到数据了。传值时encodeing,取值是decode,但是不知道为什么要两次encodeURI才行
4.java.lang.IllegalArgumentException: Properties file not found in classpath: config.properties
我是用的JFinal框架,出现这个错误是因为系统无法识别到文件,文件的位置不对,JFinal需要放在src下
5.Log4j的配置问题
1、web.xml不用配置;
2、添加文件log4j.properties到src下面;
3、lib中复制log4j的jar包进去;
4、不需要另外配置
配置文件
log4j.rootLogger = INFO,A3,CONSOLE
//日志最低的输出级别
log4j.appender.A3.Threshold=INFO
log4j.appender.A3.encoding=UTF-8
//每天产生一个文件DailyRollingFileAppender
log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
//file 属性 指定产生日志文件的保存位置及文件名,这里是windows下的配置
// c:/logtest/logtest.log,
//公司项目在linux下的配置是/app/weblogic/applications/logs/sxvip_logs
log4j.appender.A3.File=c:/logtest/logtest.log
//当有日志时立即输出,默认是true
log4j.appender.A3.ImmediateFlush=true
log4j.appender.A3.DatePattern='_'yyyy-MM-dd
//日志布局方式
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
//日志文件中日志的格式
log4j.appender.A3.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n
//这里使用org.apache.log4j.ConsoleAppender指定要把日志输出到控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=INFO
//输出目标是 控制台
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n
6.Log4j的使用
private
static
final
Log
log
=
LogFactory.getLog(GetMessageController.
class
);
log.info("content");