jsp表单通过servlet更新数据库的信息并显示,保存的信息位置发生了移位

比如本来是改的密码从1改到111,结果保存的时候,不同输入框的内容位置全部乱掉了,比如输入框A的内容保存到了输入框B上
图片说明
图片说明

我刚接触JSP,请问大大们这是什么原因?
下面是servlet的代码:

 package com.gkd.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.gkd.service.UpdateService;
import com.gkd.vo.UserVo;

/**
 * Servlet implementation class UpdateServlet
 */
@WebServlet("/UpdateServlet")
public class UpdateServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public UpdateServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");

        String idNum = request.getParameter("idNum");
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        String phoneNum = request.getParameter("phoneNum");
        String address = request.getParameter("address");
        String sex = request.getParameter("sex");
        String area = request.getParameter("area");
        String credit = request.getParameter("credit");
        String flg = request.getParameter("flg"); 

        UserVo userVo = new UserVo(idNum, password, userName, phoneNum, address, area, sex, credit);

        UpdateService updateService = new UpdateService();

        UserVo userVo1 = updateService.findUserById(idNum);

        if("preupd".equals(flg)){

            request.setAttribute("userVo", userVo1);
            request.setAttribute("password", userVo1.getPassword());
            request.setAttribute("userName", userVo1.getUserName());
            request.setAttribute("phoneNum", userVo1.getPhoneNum());
            request.setAttribute("address", userVo1.getAddress());
            request.setAttribute("area", userVo1.getArea());
            request.setAttribute("sex", userVo1.getSex());
            request.setAttribute("credit", userVo1.getCredit());    
            request.getRequestDispatcher("/grxx.jsp").forward(request, response);

        }else if("update".equals(flg)){

            boolean b = updateService.saveInfo(userVo);
            String s=null;
            if(b)
            {
                s="修改成功!";
            }
            else
            {
                s="修改失败!";
            }
            request.setAttribute("reminder", s);
            request.setAttribute("userVo", userVo);
            request.setAttribute("password", userVo.getPassword());
            request.setAttribute("userName", userVo.getUserName());
            request.setAttribute("phoneNum", userVo.getPhoneNum());
            request.setAttribute("address", userVo.getAddress());
            request.setAttribute("area", userVo.getArea());
            request.setAttribute("sex", userVo.getSex());
            request.getRequestDispatcher("/grxx.jsp").forward(request, response);
        }       
    }

}

这三个顺序要一致

            String idNum = request.getParameter("idNum");
    String userName = request.getParameter("userName");
    String password = request.getParameter("password");
    String phoneNum = request.getParameter("phoneNum");
    String address = request.getParameter("address");
    String sex = request.getParameter("sex");
    String area = request.getParameter("area");
    String credit = request.getParameter("credit");
    String flg = request.getParameter("flg"); 


            request.setAttribute("userVo", userVo1);
        request.setAttribute("password", userVo1.getPassword());
        request.setAttribute("userName", userVo1.getUserName());
        request.setAttribute("phoneNum", userVo1.getPhoneNum());
        request.setAttribute("address", userVo1.getAddress());
        request.setAttribute("area", userVo1.getArea());
        request.setAttribute("sex", userVo1.getSex());
        request.setAttribute("credit", userVo1.getCredit());    



                    request.setAttribute("reminder", s);
        request.setAttribute("userVo", userVo);
        request.setAttribute("password", userVo.getPassword());
        request.setAttribute("userName", userVo.getUserName());
        request.setAttribute("phoneNum", userVo.getPhoneNum());
        request.setAttribute("address", userVo.getAddress());
        request.setAttribute("area", userVo.getArea());
        request.setAttribute("sex", userVo.getSex());


            改完之后还不行的话就把这个顺序也该一致了
            UserVo userVo = new UserVo(idNum, password, userName, phoneNum, address, area, sex, credit);

围观一下 谢谢大佬提供的代码