在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;
}