在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">
<%@ taglib? uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<meta http-equiv="Content-Type" content="text/html; gb2312">
<html>
<head>
<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" οnsubmit="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">
???????????
??????????? <input type="submit" name="Submit2" value="修改">
??? ????
?????????? <input type="reset" name="Submit3" value="重置">
?????????
??????????
<body>
<form name="form" method="post" action="UpdataServlet?param=3" οnsubmit="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">
???????????
??????????? <input type="submit" name="Submit2" value="修改">
??? ????
?????????? <input type="reset" name="Submit3" value="重置">
?????????
??????????
</td>
?????????? </tr>
?</table>
</form>
?
</body>
</html>
?????????? </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);??
??}
?}
??//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;
????????? }
?
??? {
??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;
?}
??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;
?}