新人工作日记(2)

来源:互联网 发布:计算机c语言二级考试 编辑:程序博客网 时间:2024/05/17 03:47
2015.11.27
   0.今天做了代码的最后规范。明确业务逻辑放在service层。重用功能封装成方法。比如对象中创建时间的设置
String pattern="YYYY-MM-dd";
SimpleDateFormat sdf=new SimpleDateFormat(pattern);
Date date=new Date();
String Time=sdf.format(date);
  这段代码返回当前时间的字符串。
 1. 对于不同请求方式的不同处理:如GET()可直接用@requestParam 注解获取其中参数。或者通过对请求体进行解析然后分别取值如下代码:
    requestBody = URLDecoder.decode(requestBody , "UTF-8") ;
    此后可以通过反射的形式通过调用工具类中的方法生成对象。如:P p=JsonUtils.readValue(requestBody, TeacherPeriod.class);
    注意!用POST提交的数据必须用上面的方式获取对象。
    Get方法时也可以通过创建空对象,然后调用下列方法设置其参数,如:String id=Utils.getValue(requestBody, "id");
  经过上面的步奏,获得对应的对象。再调用底层方法完成数据操作。如 save (model);


 2.易错点:大小写问题最容易犯错导致参数传递影响。建议统一驼峰原则。其中根据POST数据创建对象时传递的JSON串中的参数一定要和对应的实体类参数一一对应,
同时严格大小写。
Map<String, String> params = new HashMap<String, String>();
        params.put("tid", "周杰");
        params.put("periodid", "20");
        params.put("date", "2016-12-11");
        params.put("remark", "啊啊啊!!");
        params.put("status", "1");
        params.put("id", "40288017513cbefb01513cc2f3780001");
        JSONObject json = new JSONObject();
        Set<String> keySet = params.keySet();
        for(String key:keySet)
        {
            json.put(key, params.get(key));


        }


3.对于Session的操作有时会出现a different object with the same identifier value was already associated with the session。的异常。
原因是相同的ID的对象同时存在于 session中,只需要调用evict(Object)方法定点清除。
0 0