修改密码

在updateservlet.java中写了方法,修改用户密码,代码不成功求大神指教,代码如下:

updateadminpw.jsp

<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<%@ taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<meta http-equiv="Content-Type" content="text/html; gb2312">
<html>
<head>

<title></title>
<script language="javascript">
 function on_submit()
 {//验证数据的合法性
  if (form.pas.value == "")
    {
     alert("原密码不能为空,请输入用户名!");
     form1.pas.focus();
     return false;
    }
    if (form.newpas.value == "")
    {
     alert("用户密码不能为空,请输入密码!");
     form1.newpas.focus();
     return false;
    }
    if (form.repas.value == "")
    {
     alert("用户确认密码不能为空,请输入密码!");
     form.repas.focus();
     return false;
    }
   if (form.newpas.value != form.repas.value)
    {
    alert("密码与确认密码不同");
    form.newpas.focus();
     return false;
    }
 }
</script>
</head>
<body>
<form name="form" method="post" action="UpdataServlet?param=3" onsubmit="return on_submit()">
          <table width="43%"  border="1" cellspacing="0" cellpadding="0" bordercolor="#FFFFFF" bordercolordark="#819BBC" bordercolorlight="#FFFFFF" align="center">
          <tr align="center" bgcolor="#EFF6FE">
              <td height="28"  colspan="2"><strong><font size="+3">管理员修改密码</font></strong></td>
            </tr>  
   
   <tr align="center">
     <td height="29" bgcolor="#EFF6FE" >原密码</td>
     <td><input name="pas" type="password" size="20"  id="pas"></td>
      </tr>
   <tr align="center">
              <td width="36%" height="29" bgcolor="#EFF6FE" >新密码</td>
              <td width="64%"><input name="newpas" type="password" size="20"  id="newpas"   ></td>
            </tr>
            <tr align="center">
              <td width="36%" height="29" bgcolor="#EFF6FE" >确认密码</td>
              <td width="64%"><input name="repas" type="password" size="20"  id="repas"   ></td>
            </tr>
        
            <tr>
         <td height="53" colspan="3">
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input type="submit" name="Submit2" value="修改">
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
           <input type="reset" name="Submit3" value="重置">
         
           &nbsp;&nbsp;&nbsp;&nbsp;
           &nbsp;</td>
           </tr>
 </table>
</form>
 
</body>
</html>
 
 
 
updateservlet.java
if(param.equalsIgnoreCase("3")){
  //String num=request.getParameter("num");
  //String newpas=request.getParameter("newpas");
  request.getSession().getAttribute("num"); 
  String pas=request.getParameter("pas");
  String newpas=request.getParameter("newpas");
  String repas=request.getParameter("repas");
  AdminDao adminDao=new AdminDao();
  if(pas==""||newpas==""||repas==""){
   request.getRequestDispatcher("updateadminpw.jsp").forward(request, response);
  }
  boolean value=adminDao.check2(connection,num,pas);
  if(value){
   if(newpas == repas){
    int value1=adminDao.update(connection, newpas,num);
    if(value1<0){
     RequestDispatcher dispatcher = request.getRequestDispatcher("loginfaild.jsp");
    dispatcher.forward(request, response);
  }else{
   RequestDispatcher dispatcher=request.getRequestDispatcher("cg.jsp");
   dispatcher.forward(request, response);
  }
    }else{
     response.setHeader("refresh","0.05;URL=updateadminpw.jsp");
    }
  }
   else{
   request.getRequestDispatcher("loginfaild1.jsp").forward(request, response);  
  }
 }
 
 
调用的方法check2和update在adnimDao.java
public boolean check2(Connection connection, String num,String pas)
    {
  boolean value = false;
  PreparedStatement statement = null;
  ResultSet resultSet = null;
  String sql = "select pas from adm where num = ?";
  try
  {
   // 获得PreparedStatement对象,并填充
   statement = connection.prepareStatement(sql);
   statement.setString(1,num);
   statement.setString(2,pas);
   resultSet = statement.executeQuery();
   while(resultSet.next())
   {
    value = true;
   }
   return value;
  }
  catch (SQLException e)
  {
  }
  finally
  {
   try
   {
    if(resultSet != null) resultSet.close();
    if(statement != null) statement.close();
   }
   catch (SQLException e)
   {
   }
  }
  return value;
          }
 
 
public int update(Connection connection,String newpas,String num){
  int value=-1;
  PreparedStatement statement=null;
  String sql="update adm set pas= ? where num=?";
  try{
   statement=connection.prepareStatement(sql);
   statement.setString(1,newpas);
   statement.setString(2,num);
   value=statement.executeUpdate();
   }
       catch (SQLException ex)
       {
           ex.printStackTrace();
       }
finally
{
        try
 {
  if(statement != null) statement.close();
 }
 catch (SQLException ex)
 {
 }
}
       return value;
 }
 
posted @ 2018-09-26 13:26  beauty兔兔  阅读(207)  评论(0编辑  收藏  举报