MVC实例应用模式
基本质量属性:
一、可用性
关于数据的保存:使用try-catch来保证程序不会崩溃。
二、可修改性
登录页面可以灵活地通过action选择跳转。
三、安全性
通过MD5加密用户信息
public class MD5 { // 全局数组 private final static String[] strDigits = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}; public MD5() { } //返回形式为数字跟字符串 private static String byteToArrayString(byte bByte) { int iRet = bByte; if(iRet < 0) { iRet +=256; } int iD1 = iRet / 16; int iD2 = iRet % 16; return strDigits[iD1] + strDigits[iD2]; } //返回形式只为数字 @SuppressWarnings("unused") private static String byteToNum(byte bByte) { int iRet = bByte; System.out.println("iRet1="+ iRet); if(iRet < 0) { iRet +=256; } return String.valueOf(iRet); } //转换字节数为16进制字串 private static String byteToString(byte[] bByte) { StringBuffer sBuffer = new StringBuffer(); for(int i = 0; i< bByte.length; i++) { sBuffer.append(byteToArrayString(bByte[i])); } return sBuffer.toString(); } public static String GetMD5Code(String strObj) { String resultString = null; try { resultString = new String(strObj); MessageDigest md = MessageDigest.getInstance("MD5"); // md.digest() 该函数返回值为存放哈希值结果的byte数组 resultString = byteToString(md.digest(strObj.getBytes())); } catch(NoSuchAlgorithmException ex) { ex.printStackTrace(); } return resultString; } }
四、易用性
用户可以快捷、简单的使用此系统。