processmodify.java

来自「这是一个可以在手机客户端运行的选课系统 这个是客户端」· Java 代码 · 共 157 行

JAVA
157
字号
package course.select;
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
import java.sql.*;
import jdbc.*;
import exception.*;

public class ProcessModify extends HttpServlet
{
	public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException
	{
		processRequest(req,resp);	
	}
	
	public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException
	{
		processRequest(req,resp);		
	}
	
	public void processRequest(HttpServletRequest req,HttpServletResponse resp) throws IOException
	{
		String user=req.getParameter("user");
		//保存提交的用户名
		String oldPassword=req.getParameter("oldPassword");
		//保存用户的原密码
		String newPassword=req.getParameter("newPassword");
		//保存用户提交的新密码
		//修改密码前必须验证原来的密码

		OutputStream os=resp.getOutputStream();
		DataOutputStream dos=new DataOutputStream(os);
		//获得向MIDlet返回信息的流
		
		try
		{
			if(isValid(user,oldPassword))
				try
				{
					ModifyPassword(user,newPassword);
					//修改密码
					dos.writeInt(1);
					//返回提示信息
				}
				catch(SQLException e)//更新数据库发生错误
				{
					throw e;
				}
		}
		catch(SQLException e)//与数据库连接错误
		{
			dos.writeInt(-3);
			//-3代表与数据库连接错误
//			返回提示信息
		}
		catch(UserNotExistException e)//用户名不存在
		{
			dos.writeInt(-1);
			//-1代表用户名不存在
			//返回提示信息
		}
		catch(PasswordWrongException e)//密码错误
		{	
			dos.writeInt(-2);
			//-2代表密码错误
			//返回提示信息
		}
		catch(DriverException e)
		{
			dos.writeInt(-3);
		}
		finally
		{
			dos.close();
		}
		
		//调试用代码
		/*
		PrintWriter out=resp.getWriter();
		out.println(user);
		out.println(oldPassword);
		out.println(newPassword);
		
		try
		{
			if(isValid(user,oldPassword))
				try
				{
					ModifyPassword(user,newPassword);
					out.println("modify successfully");
				}
				catch(SQLException e)//更新数据库发生错误
				{
					throw e;
				}
		}
		catch(SQLException e)//与数据库连接错误
		{
			out.println("connect SQLException");
		}
		catch(UserNotExistException e)//用户名不存在
		{
			out.println("UserNotExistException");	
		}
		catch(PasswordWrongException e)//密码错误
		{
			out.println("PasswordWrongException");		
		}
		catch(DriverException e)
		{
			out.println("DriverException");
		}
		finally
		{
			out.close();
		}
		*/
	}
	
	protected void ModifyPassword(String pUser,String pPassword) throws SQLException,DriverException
	{
		//修改密码
		String user=pUser;
		//保存提交的用户名
		String password=pPassword;
		//保存提交的新密码
		
		DatabaseConnection connection=new DatabaseConnection();
		//产生与数据库连接的类的实例,可能抛出SQLException
		connection.connect();
		//调用实例中的更新密码操作
		connection.updatePassword(user,password);
		connection.close();
	}
	
	protected boolean isValid(String pUser,String pPassword) throws UserNotExistException,PasswordWrongException,DriverException,SQLException
	{
		//验证用户名与密码
		String user=pUser;
		//保存提交的用户名
		String password=null;
		//保存从数据库中获得的密码
		DatabaseConnection connection=new DatabaseConnection();
		//产生与数据库连接的类的实例,可能抛出SQLException
		connection.connect();
		password=connection.getPassword(user);
		if(password==null)
			//用户名不存在
			throw new UserNotExistException();
		else
			if(!password.equals(pPassword))
				//密码错误
				throw new PasswordWrongException();
		connection.close();
		return true;
	}	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?