大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 利用SSM修改密碼

利用SSM修改密碼

更新時間:2022-01-14 10:29:22 來源:動力節(jié)點 瀏覽1613次

HTML代碼

<div id="dlg">
    <form id="fm">
        <div class="ditem">
            <label for="oldpass">舊密碼</label>
            <input type="password" id="oldpass" name="oldpass" class="k-textbox" minlength="6"
                   maxlength="20" required="required"/>
        </div>
        <div class="ditem">
            <label for="newpass">新密碼</label>
            <input type="password" id="newpass" name="newpass" class="k-textbox" minlength="6" maxlength="20"
                   required="required"/>
        </div>
        <div class="ditem">
            <label for="repassword">密碼確認</label>
            <input type="password" id="repassword" name="repassword" class="k-textbox" minlength="6" maxlength="20"
                   required="required"/>
        </div>

    </form>
    <div class="buttons-wrap">
        <button type="button" class="k-button" onclick="javascript: $('#dlg').data('kendoWindow').close();">關閉</button>
        <button type="button" class="k-button k-state-selected" id="save" onclick="save()">保存</button>
    </div>
</div>

使用ajax.form表單提交方式

/*初始form表單*/
    $(function () {
        frm = $('#fm');
        frm.validate({
            errorPlacement: function (error, element) {
                showReq(error.text(), element)
            }
        });
    })

在保存時添加一個事件

//修改密碼
    $("#save").click(function () {
        if (!frm.valid()) {
            return;
        }
        frm.ajaxSubmit({
            url: ctx + "/user/updatePassword",  //給后臺發(fā)送一個請求
            success: function (data) {        //從后來返回一個數(shù)據(jù)
                if (data.status === 1) {
                    showTip('密碼修改成功。', true);
                } else {
                    kendo.ui.ExtAlertDialog.show({message: data.data});
                }
            }
        });

Java后臺代碼

Controller層

/**
     * 修改密碼功能
     *
     * @return
     */
    @RequestMapping(value = "/updatePassword")
    public String updatePassword(HttpServletRequest request) {
        //從sesson中獲取當前登陸的用戶
        User loginedUser = SessionState.getLoginedUser(request);     //獲取舊密碼
        String oldPwd = ConvertUtil.StringToNull(request.getParameter("oldpass"));     //獲取新密碼
        String newPwd = ConvertUtil.StringToNull(request.getParameter("newpass"));
        ResultBean resultBean = userService.updatePassword(loginedUser, oldPwd, newPwd);
        return resultBean.toString();
    }

Service層

/**
     * 修改密碼功能
     * @param loginUser
     * @param newPass
     * @param oldPass
     */  //返回一個Bean
    ResultBean updatePassword(User loginUser , String oldPass, String newPass);

Service實現(xiàn)層

/**
     * 修改密碼功能
     *
     * @param loginUser
     * @param newPass
     * @param oldPass
     */
    public ResultBean updatePassword(User loginUser, String oldPass, String newPass) {
        User _user = userDao.findById(loginUser.getUserId());
        if (_user == null) {
            return new ResultBean(-3, "賬號不存在。");
        }
        if (!SecurityUtil.authenticatePassword(_user.getUserId(), _user.getPwd(), oldPass)) {
            return new ResultBean(-4, "密碼錯誤,請重新輸入。");
        }
        int affectRows = changePwd(_user.getUserId(), newPass, loginUser);
        if (affectRows == 1){
            return new ResultBean(1, "修改成功");
        }
        return new ResultBean(-5, "");
    }

UserDao

/**
     * 修改密碼
     * @param user
     * @return
     */
    int changePwd(User user);

UserMapper.xml

<!-- 修 改-->
    <update id="changePwd" parameterType="wms.entity.sys.User">
        UPDATE USERS
        SET
            PWD = #{pwd, jdbcType=VARCHAR},
            UPDATE_BY = #{updateBy, jdbcType=VARCHAR},
            UPDATE_DATE = #{updateDate}
        WHERE U_ID = #{userId, jdbcType=INTEGER}
    </update>

上邊封裝的工具類

package util;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.regex.Pattern;
public class ConvertUtil {
    /**
     * 檢查字符串是否為null、""或"  "
     * @param str
     *             字符串
     * @return null、""或"  "返回true,否則返回false
     */
    public static boolean isNullOrEmpty(String str){
        return !StringUtils.hasText(str);
    }
    /**
     * 將Object轉(zhuǎn)換為String,若為空,則轉(zhuǎn)換為null
     * @param obj
     *             Object
     * @return null或字符串
     */
    public static String toString(Object obj){
        if (StringUtils.isEmpty(obj))
            return null;
        else
            return obj.toString();
    }
    /**
     * 將字符串"on"轉(zhuǎn)換為"Y",否則為“N”
     * @param str
     * @return "on" -> "Y",否則為"N"
     */
    public static String toActiveString(String str){
        if (isNullOrEmpty(str))
            return "N";
        else if(str.equals("on"))
            return "Y";
        else
            return "N";
    }
    /**
     * 將以","作為分隔符的字符串轉(zhuǎn)為List<String>
     * @param str
     * @return List<String>
     */
    public static List<String> toList(String str) {
        if (isNullOrEmpty(str))
            return null;
        else {
            String[] arr = str.split(",");
            return java.util.Arrays.asList(arr);
        }
    }
    /**
     * 將空字符串轉(zhuǎn)換為null,將帶有空格的字符串trim
     * @param str
     *             待處理字符串
     * @return null或字符串
     */
    public static String StringToNull(String str){
        if (isNullOrEmpty(str))
            return null;
        else
            return str.trim();
    }
    /**
     * 字符串轉(zhuǎn)換為日期類型(Date,不是DateTime)
     * @param str 格式:yyyy-MM-dd
     * @return
     * @throws ParseException
     */
    public static Date toDate(String str) throws ParseException {
        if (isNullOrEmpty(str))
            return null;
        else {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            return sdf.parse(str);
        }
    }
    /**
     * 字符串轉(zhuǎn)換為日期類型(DateTime,不是Date)
     * @param str 格式:yyyy-MM-dd HH:mm
     * @return
     * @throws ParseException
     */
    public static Date toDateTime(String str) throws ParseException {
        if (isNullOrEmpty(str))
            return null;
        else {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            return sdf.parse(str);
        }
    }
    public static Date toDate(String str, String formater) throws ParseException {
        if (isNullOrEmpty(str))
            return null;
        else {
            SimpleDateFormat sdf = new SimpleDateFormat(formater);
            return sdf.parse(str);
        }
    }
    /**
     * 將日期轉(zhuǎn)換為指定格式的字符串
     * @param date
     * @param formater
     * @return
     */
    public static String toDateString(Date date, String formater){
        return new SimpleDateFormat(formater).format(date);
    }
    public static Double toDouble(String str){
        if (isNullOrEmpty(str)) return null;
        else return Double.parseDouble(str);
    }
    public static BigDecimal toDecimal(String str){
        if (isNullOrEmpty(str)) return null;
        else return new BigDecimal(str);
    }
    public static Integer toInteger(String str){
        if (isNullOrEmpty(str)) return null;
        else return Integer.parseInt(str);
    }
    /**
     * 判斷是否為整數(shù)
     * @param str 傳入的字符串
     * @return 是整數(shù)返回true,否則返回false
     */
    public static boolean isInteger(String str){
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(str).matches();
    }
    /**
     * 將字節(jié)數(shù)組轉(zhuǎn)換為十六進制字符串
     *
     * @param b
     *            字節(jié)數(shù)組
     * @return 十六進制字符串
     */
    public static String bytesToHexString(byte[] b){
        StringBuilder stringBuilder = new StringBuilder("");
        for (int i = 0; i < b.length; i++) {
            int v = b[i] & 0xFF;
            String hv = Integer.toHexString(v);
            if (hv.length() < 2) {
                stringBuilder.append(0);
            }
            stringBuilder.append(hv);
        }
        return stringBuilder.toString();
    }
    /**
     * 將十六進制字符串轉(zhuǎn)換字節(jié)數(shù)組
     *
     * @param hexString
     *            十六進制字符串
     * @return 字節(jié)數(shù)組
     */
    public static byte[] hexStringToBytes(String hexString) {
        hexString = hexString.toUpperCase();
        int length = hexString.length() / 2;
        char[] hexChars = hexString.toCharArray();
        byte[] d = new byte[length];
        for (int i = 0; i < length; i++) {
            int pos = i * 2;
            d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
        }
        return d;
    }
    /**
     * 將char轉(zhuǎn)換為byte
     * @param c char
     * @return byte
     */
    private static byte charToByte(char c) {
        return (byte)"0123456789ABCDEF".indexOf(c);
    }
}

ResultBean.java

package wms.entity;
import com.alibaba.fastjson.JSONObject;
import java.util.Objects;
/**
 * Created by liwm on 2015/11/30 10:36.
 * DESC:
 */
public class ResultBean {
    public ResultBean(int status, Object data){
        this.status = status;
        this.data = data;
    }
    /**
     * 狀態(tài)標記
     */
    private int status;
    /**
     * 返回的詳細結(jié)果
     */
    private Object data;
    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }
    public Object getData() {
        return data;
    }
    public void setData(Object data) {
        this.data = data;
    }
    @Override
    public String toString(){
        return String.format("{\"status\":%s,\"data\":\"%s\"}", status, data);
    }
}

以上就是關于“利用SSM修改密碼”的介紹,大家如果想了解更多相關知識,不妨來關注一下動力節(jié)點的SSM整合視頻教程,里面的課程內(nèi)容細致全面,通俗易懂,適合沒有基礎的小白學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美日本高清视频在线观看 | 国产精品亚洲综合色区韩国 | 欧美日韩生活片 | 日本一区二区三区高清福利视频 | 女人18毛片a级毛片免费 | 亚洲欧洲日本精品 | 在线h片| 久久久久免费精品国产 | 四虎精品永久在线网址 | 日本中文字幕有码 | 国内精品久久久久影院一蜜桃 | 欧美一级a俄罗斯毛片 | 亚洲精品欧洲精品 | 欧美理论片在线观看 | 一二三区免费视频 | 美国成人毛片 | 成人精品视频 | 天海翼一区二区在线观看 | 快射视频欧美 | 国产日产精品久久久久快鸭 | 精品欧美高清一区二区免费 | 中文字幕在线视频一区 | 色国产在线视频一区 | 成人毛片在线视频 | 热久久最新视频 | 天天操夜夜操天天操 | 日本熟hd| 国产第113页 | 日韩欧美亚洲一区精选 | 国产级a爱做片免费观看 | 2020久久精品国产免费 | 精品一区二区三区亚洲 | 夜夜夜夜夜夜夜工噜噜噜 | 日韩在线视频一区 | 午夜探花| 国产农村妇女毛片精品久久 | 精品综合久久久久久97超人 | 日本视频久久 | 国产成人精品久久一区二区三区 | 日本一级毛片不卡免费 | 欧美日韩国产精品综合 |