Java技术开发中的坑

1、(2014/05/28)struts2中使用eclipse自动获取getter和setter方法的坑

    今天着实被eclipse坑了一把,平时遇到get和set方法时,我都是通过eclipse自动生成,今天在做数据查询的时候,有一个变量首字母小写,第二个字母大写(即tName),我也跟平常一样在struts2的action中用eclipse自动生成getter和setter方法,然后调试,发现无论传给tName什么参数,它接收的都是null,当时,我很纳闷,试了很就发现还是不成功,就把参数换成tname去试,这次却能接收到参数,于是,我就猜测是不是struts2的属性对大小写有什么要求,在百度上找了一下,果然,网上说struts2的set后面必须是大写字母,否则就会失效,看到这个后,我就把settName()改成了setTName(),这次果真接收到数据了。

2、(2014/05/29)jdbc链接mysql不指定编码类型的坑

    在struts2中通过getter和setter接收参数,对于中文的参数,传入时先进性URL编码,接收时用URLDecoder进行解码,之后将接收到的参数拼接到SQL语句中,打印出来的日志信息中中文是正常显示的,例如:select * from tableName where name='中国';可是怎么样也查询不出来数据,也不报错,数据是通过JDBC取的,然后就将PreparedStatement执行的SQL语句打印出来,发现执行的语句却是select * from tableName where name='???';,在网上查询资料,看到一条关于指定数据库连接编码的信息,这才想起来我的连接没有指定编码,connInfoMap.put("url","jdbc:mysql://"+array[0]+":3306/"+array[3]);,把它改成connInfoMap.put("url","jdbc:mysql://"+array[0]+":3306/"+array[3]+"?useUnicode=true&characterEncoding=UTF-8");测试通过了。


转载于:https://my.oschina.net/javagoboy/blog/387900

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值