dao层:
package dao;
import util.Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Dao
{
private static String name;
private static String ID;
private static String sname;
private static String sID;
private static String course;
private static String Class;
private static String password;
private static int score;
private static int number;
private static int mnumber=0;
boolean a;
boolean b;
public PreparedStatement stmt;
public ResultSet rs;
public boolean isB() {
return b;
}
public void setB(boolean b) {
this.b = b;
}
public static void setScore(int score) {
Dao.score = score;
}
public static int getMnumber() {
return mnumber;
}
public static void setMnumber(int mnumber) {
Dao.mnumber = mnumber;
}
public static String getName() {
return name;
}
public static void setName(String name) {
Dao.name = name;
}
public static String getID() {
return ID;
}
public static void setID(String iD) {
ID = iD;
}
public static String getSname() {
return sname;
}
public static void setSname(String sname) {
Dao.sname = sname;
}
public static String getsID() {
return sID;
}
public static void setsID(String sID) {
Dao.sID = sID;
}
public static String getCourse() {
return course;
}
public static void setCourse(String course) {
Dao.course = course;
}
public static String getcLass() {
return Class;
}
public static void setClass(String class1) {
Class = class1;
}
public static int getScore() {
return score;
}
public boolean isA() {
return a;
}
public void setA(boolean a) {
this.a = a;
}
public static String getPassword() {
return password;
}
public static void setPassword(String password) {
Dao.password = password;
}
public static int getNumber() {
return number;
}
public static void setNumber(int number) {
Dao.number = number;
}
}
bean层:
package bean;
import util.Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import dao.Dao;
public class Bean
{
Util util=new Util( );
Dao dao=new Dao( );
@SuppressWarnings("static-access")
public void updatePassword(Connection con) throws SQLException
{
String str="update studentlogin set 密码=? where 学号=?";
dao.stmt=con.prepareStatement(str);
dao.stmt.setString(1, dao.getPassword( ));
dao.stmt.setString(2, dao.getsID( ));
dao.stmt.execute( );
dao.stmt.close( );
}
@SuppressWarnings("static-access")
public int Spassword(Connection con) throws Exception
{
String str="select * from studentlogin where 学号=?";
dao.setA(false);
dao.setB(false);
dao.stmt=con.prepareStatement(str);
dao.stmt.setString(1, dao.getsID( ));
dao.rs=dao.stmt.executeQuery( );
while(dao.rs.next( ))
{
dao.setB(true);
System.out.println(dao.rs.getString("密码"));
if(dao.rs.getString("密码").equals(dao.getPassword( )))
{
dao.setA(true);
}
}
if(dao.isA()==true)
{
return 2;
}
else if(dao.isB()==false&&dao.isA()==false)
{
dao.setPassword(dao.getsID( ));
addLogin(util.getConnection( ));
return 1;
}
else
{
return 0;
}
}
@SuppressWarnings("static-access")
public boolean Jpassword(Connection con) throws SQLException
{
String str="select * from management where 学号=?";
dao.setA(false);
dao.stmt=con.prepareStatement(str);
dao.stmt.setString(1, dao.getsID( ));
dao.rs=dao.stmt.executeQuery( );
while(dao.rs.next( ))
{
if(dao.rs.getString("密码").equals(dao.getPassword( )))
{
dao.setA(true);
}
}
if(dao.isA()==true)
{
return true;
}
else
{
return false;
}
}
@SuppressWarnings("static-access")
public void AddStudent(Connection con) throws SQLException
{
String str="insert into student (姓名,学号,班级,课程,分数) values(?,?,?,?,?)";
dao.stmt=con.prepareStatement(str);
dao.stmt.setString(1, dao.getSname( ));
dao.stmt.setString(2, dao.getsID( ));
dao.stmt.setString(3, dao.getCourse( ));
dao.stmt.setString(4, dao.getcLass());
dao.stmt.setInt(5, 0);
dao.stmt.execute( );
dao.stmt.close( );
}
@SuppressWarnings("static-access")
public void addLogin(Connection conn) throws SQLException
{
String str="insert into studentlogin (学号,密码) values(?,?)";
dao.stmt=conn.prepareStatement(str);
dao.stmt.setString(1, dao.getsID( ));
dao.stmt.setString(2, dao.getPassword( ));
dao.stmt.execute( );
dao.stmt.close( );
}
@SuppressWarnings("static-access")
public void deleteStudent(Connection conn) throws SQLException
{
String str="delete from student where 姓名=?";
dao.stmt=conn.prepareStatement(str);
dao.stmt.setString(1, dao.getSname( ));
dao.stmt.execute( );
dao.stmt.close( );
}
@SuppressWarnings("static-access")
public void updateScore(Connection conn) throws SQLException
{
String str="update student set 分数=? where 姓名=?";
dao.stmt=conn.prepareStatement(str);
dao.stmt.setInt(1, dao.getScore( ));
dao.stmt.setString(2, dao.getSname( ));
dao.stmt.execute( );
dao.stmt.close( );
}
@SuppressWarnings("static-access")
public boolean searchStudent(Connection conn) throws SQLException
{
if(dao.getName( )==null)
{
System.out.println("我运行了!");
String str="select * from student where 学号=?";
dao.setA(false);
dao.stmt=conn.prepareStatement(str);
dao.stmt.setString(1, dao.getsID( ));
dao.rs=dao.stmt.executeQuery( );
while(dao.rs.next( ))
{
dao.setA(true);
dao.setName(dao.rs.getString("姓名"));
dao.setCourse(dao.rs.getString("课程"));
dao.setScore(dao.rs.getInt("分数"));
}
if(dao.isA( )==false)
{
return false;
}
else
{
return true;
}
}
else
{
String str="select * from student where 姓名=?";
dao.setA(false);
dao.stmt=conn.prepareStatement(str);
dao.stmt.setString(1, dao.getName( ));
dao.rs=dao.stmt.executeQuery( );
while(dao.rs.next( ))
{
dao.setA(true);
dao.setCourse(dao.rs.getString("课程"));
dao.setScore(dao.rs.getInt("分数"));
}
if(dao.isA( )==false)
{
return false;
}
else
{
return true;
}
}
}
}
Server层:
package server;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.Bean;
import dao.Dao;
import util.Util;
@WebServlet("/Addstudent")
public class Addstudent extends HttpServlet
{
public static final long serialVersionUID=1L;
public Addstudent ( )
{
super( );
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
doPost(req,resp);
}
@SuppressWarnings("static-access")
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("UTF-8");
Dao dao=new Dao( );
Util util=new Util( );
Bean bean=new Bean( );
PrintWriter outs=resp.getWriter( );
String name= req.getParameter("name");
String course= req.getParameter("course");
String Class= req.getParameter("Class");
dao.setSname(name);
dao.setCourse(course);
dao.setClass(Class);
try
{
bean.AddStudent(util.getConnection( ));
outs.println("<script type='text/javascript'>"+"alert('完善成功')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Student.jsp'</script>");
outs.close( );
}
catch (Exception e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
package server;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 bean.Bean;
import dao.Dao;
import util.Util;
@WebServlet("/Searchscore")
public class Searchscore extends HttpServlet
{
public static final long serialVersionUID=1L;
public Searchscore ( )
{
super( );
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
doPost(req,resp);
}
@SuppressWarnings("static-access")
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("UTF-8");
PrintWriter outs=resp.getWriter( );
String ID=req.getParameter("ID");
String name=(String)req.getParameter("name");
Bean bean=new Bean( );
Dao dao=new Dao( );
Util util=new Util( );
dao.setsID(ID);
dao.setName(name);
try {
if(bean.searchStudent(util.getConnection( ))==false)
{
outs.println("<script type='text/javascript'>"+"alert('没有找到')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Search.jsp'</script>");
outs.close( );
}
else
{
req.getRequestDispatcher("/Result.jsp").forward(req, resp);
}
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
package server;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 bean.Bean;
import dao.Dao;
import util.Util;
@WebServlet("/serverDelete")
public class serverDelete extends HttpServlet
{
public static final long serialVersionUID=1L;
public serverDelete ( )
{
super( );
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
doPost(req,resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("UTF-8");
String name= req.getParameter("name");
int score=Integer.parseInt((String)req.getParameter("score"));
Dao dao=new Dao( );
Util util=new Util( );
Bean bean=new Bean( );
dao.setSname(name);
dao.setScore(score);
if(dao.getMnumber()!=2)
{
try {
bean.deleteStudent(util.getConnection( ));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
PrintWriter outs=resp.getWriter( );
outs.println("<script type='text/javascript'>"+"alert('删除成功')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Mstudent.jsp'</script>");
outs.close( );
}
else
{
try {
bean.updateScore(util.getConnection( ));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
PrintWriter outs=resp.getWriter( );
outs.println("<script type='text/javascript'>"+"alert('修改成功')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Score.jsp'</script>");
outs.close( );
}
}
}
package server;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 bean.Bean;
import dao.Dao;
import util.Util;
@WebServlet("/Loginserver")
public class ServerLogin extends HttpServlet
{
public static final long serialVersionUID=1L;
public ServerLogin ( )
{
super( );
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
doPost(req,resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("UTF-8");
PrintWriter outs=resp.getWriter( );
String ID=req.getParameter("ID");
String password=(String)req.getParameter("password");
Bean bean=new Bean( );
Dao dao=new Dao( );
Util util=new Util( );
dao.setsID(ID);
dao.setPassword(password);
if(dao.getsID().equals("001"))
{
dao.setID(ID);
try {
if(bean.Jpassword(util.getConnection( ))==false)
{
outs.println("<script type='text/javascript'>"+"alert('用户名或密码错误,请重新输入!')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Login.jsp'</script>");
outs.close( );
}
else
{
req.getRequestDispatcher("/Manegement.jsp").forward(req, resp);
}
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (ServletException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
else
{
dao.setsID(ID);
int i=0;
try {
i = bean.Spassword(util.getConnection( ));
} catch (Exception e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
try {
if(i==0)
{
outs.println("<script type='text/javascript'>"+"alert('用户名或密码错误,请重新输入!')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Login.jsp'</script>");
outs.close( );
}
else if(i==2)
{
req.getRequestDispatcher("/Student.jsp").forward(req, resp);
}
else
{
outs.println("<script type='text/javascript'>"+"alert('您为新用户,初始密码及您的学号,您刚才输入的密码作废,请重新登录')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Login.jsp'</script>");
outs.close( );
}
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
package server;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 bean.Bean;
import dao.Dao;
import util.Util;
@WebServlet("/Updatepassword")
public class Updatepassword extends HttpServlet
{
public static final long serialVersionUID=1L;
public Updatepassword ( )
{
super( );
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
doPost(req,resp);
}
@SuppressWarnings("static-access")
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("UTF-8");
PrintWriter outs=resp.getWriter( );
String opassword=(String)req.getParameter("Opassword");
String upassword=(String)req.getParameter("Upassword");
String apassword=(String)req.getParameter("Apassword");
Bean bean=new Bean( );
Dao dao=new Dao( );
Util util=new Util( );
dao.setPassword(opassword);
try {
if(bean.Spassword(util.getConnection( ))!=2)
{
outs.println("<script type='text/javascript'>"+"alert('密码输入错误')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Update.jsp'</script>");
outs.close( );
}
else
{
dao.setPassword(upassword);
if(apassword.equals(dao.getPassword( )))
{
try {
bean.updatePassword(util.getConnection( ));
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
outs.println("<script type='text/javascript'>"+"alert('修改成功')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Student.jsp'</script>");
outs.close( );
}
else
{
outs.println("<script type='text/javascript'>"+"alert('两次输入的不同请重新输入')</script>");
outs.println("<script type='text/javascript'>"+"window.location.href='Update.jsp'</script>");
outs.close( );
}
}
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
util层:
package util;
import java.sql.Connection;
import java.sql.DriverManager;
public class Util
{
final String URL="jdbc:mysql://localhost:3306/course?&useSSL=false&serverTimezone=UTC";
final String Name="root";
final String Password="woshinidie668";
private Connection con;
public Connection getConnection() throws Exception
{
if(con == null)
{
// 指出连接数据库所需要的驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库连接成功!");
// 建立与数据库之间的连接
con = DriverManager.getConnection(URL,Name,Password);
System.out.println("数据库连接成功!");
}
return con;
}
}