java常見問題及解決方案,java中常用的坑_Java技術開發中的坑

 2023-10-01 阅读 26 评论 0

摘要:1、(2014/05/28)struts2中使用eclipse自動獲取getter和setter方法的坑今天著實被eclipse坑了一把,平時遇到get和set方法時,我都是通過eclipse自動生成,今天在做數據查詢的時候,有一個變量首字母小寫,第二個字母大寫(即tName),我也跟

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不指定編碼類型的坑

java常見問題及解決方案。在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://hbdhgg.com/4/108916.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息