项目总结

来源:互联网 发布:php单例模式 编辑:程序博客网 时间:2024/06/06 00:01

这三天学生管理系统项目总结:
1、
工具类的编写
MD5加密,当你不想你的密码以明文保存在数据库,那么你可把从客户端传过来的参数进行MD5加密处理后再保存在数据库。在登录的时候同时应该将数据加密处理后再传入service层的函数中。
提示信息与设置跳转路径工具方法。在控制层编写的时候,由于需要登录成功或失败都需要有提示信息,并跳转到相应的页面

上面是显示提示信息并之后设置跳转的页面
这个功能 很多controller都会用到
那么我就想编写一个用来设置提示信息msg和设置跳转路径path的方法,写到BaseAction
中让其他controller继承它 既可以直接使用。这里面还用到了.properties文件,比如你登录成功,msg=从.properties获取的相应键的值,path也是。
所以综上我要写的方法参数为 modeAndView msg path,如下

/**设置提示信息 和跳转路径 * @param mv * @param msg * @param path */public void setMsgAndPath(ModelAndView mv,String msg,String path){    if(mv!=null){        if(this.getText()!=null){            String[] result = this.getText().split("\\|");            mv.addObject("msg",this.getResource(msg,result));        }else{            mv.addObject("msg",this.getResource(msg,null));        }        mv.addObject("path",this.getResource(path,null));    }}

Java 对象转换为JSONObject
我没有用JSONObject.fromObject()的方法 而是自己将Object 通过反射来获取属性数组,通过字符串拼接得到其get方法。获取值。然后jsonObject.put()。具体方法如下

public  static JSONObject convertObjToJson(Object vo) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {    JSONObject jsonObject = new JSONObject();    //JSONObject jsonObject = JSONObject.fromObject(vo);    Field[] fields = vo.getClass().getDeclaredFields();    for (int i = 0; i <fields.length ; i++) {        Field field = fields[i];        String methodName = "get"+field.getName().substring(0,1).toUpperCase()+field.getName().substring(1);        System.out.println(methodName);        Method method = vo.getClass().getDeclaredMethod(methodName);        Object value = method.invoke(vo);        if("java.util.Date".equals(field.getType().toString().substring(6))){            System.out.println("ssss"+field.getType().toString().substring(6));            jsonObject.put(field.getName(),new SimpleDateFormat("yyyy-MM-dd").format(value));        }else{            jsonObject.put(field.getName(),value);        }    }    return jsonObject;}

同时可以把List转换为JSONObject对象,这时候需要把对象利用上面的函数转化为JSONObject ,JSONArray.add()这时候可以把这个JSONArray起个name,然后把它放进JSONObject.
如下

public static JSONObject convertListToJson(String name,List<?> list) throws NoSuchMethodException, IllegalAccessException,                                                                                        InvocationTargetException {    JSONArray jsonArray = new JSONArray();    JSONObject jsonObject = new JSONObject();    Iterator it = list.iterator();    while(it.hasNext()){        jsonArray.add(convertObjToJson(it.next()));    }    jsonObject.put(name,jsonArray);    return jsonObject;}

就是主要是把对象和list都 转换为 JSONObject 而不是把list转换为JSONArray.

知识点:如何将字符串转换为Date类型
SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd”);
Date date = dateFormat.parse(“2012-12-12”);
Date类型转换为字符串
SimpleDateFormat dateFormat = new SimpleDateFormate(“yyyy年M月dd日”);
String dateString = dateFormat.format(Date date);