1:在類中要添加日誌信息:
private static final Logger log = LogManager.getLogger(ShopCartAction.class);
log.info();//普通信息
log.error();//錯誤信息打印
log.debug();//調試信息
當運行log.info();
會將信息寫入到日誌文件中
如果打印日誌信息太多的,會導致IO操作太多,會引發性能問題。
日誌信息的作用是用來檢查錯誤使用的。
在日誌打印的時候需要添加一些輔助信息,比如在進入action 獲取參數時,
logger.info(“用户數:”+userNumber +”,goodsType:”+goodsType+”,kjNumber:”+kjNumber+”,jkNumber:”+jkNumber+”,buyYears”+buyYears);
也可以將參數標題改為中文信息。
2:參數的校驗會顯得比較重要。
比如用户在偽造數據,將一些年限修改為負數,那麼在計算價格的時候,會將價格計算成負數,導致訂單支付也出現了負價格。
如何避免這個問題呢?
首先在訂單支付的時候將總價判斷是否是大於0的數字,如果不是的話,將異常拋出。
儘量在用户加入購物車的時候將一些非法的參數進行校驗。那麼就會緩解訂單支付的壓力。
比如年限只允許1,2,3,5,10這幾個數字,
第一種辦法:通過正則表達式進行匹配,如果不符合這幾個數字,則加入購物車失敗
這種辦法的相對比較簡單,加入需求變化的話,要加入一個8的話,那麼就在源程序進行添加修改。 簡單可擴展性差
第二種辦法:可以通過數據庫連接,傳入年數,看是否返回匹配的數據,如果能返回那麼説明是有這個年限的。
這種辦法,不需要改變代碼,就能完成擴展,但是與數據庫交互,會增加服務器負擔。
我還是比較推薦第一種辦法。