mvc分层开发实现简易学生管理系统,实现用户的登录注册,学生的增删改查,页面简单,写出完整代码
时间: 2024-03-16 14:46:35 浏览: 17
好的,我可以提供一个基于Java的MVC分层开发实现简易学生管理系统的示例代码,包括用户的登录注册和学生的增删改查功能。请注意,这只是一个简单的示例,实际项目中需要更完整的代码和更多的功能。
1. 创建MVC的三个层次(Model、View和Controller):
Student.java(Model)
```java
public class Student {
private int id;
private String name;
private int age;
private String gender;
private String major;
public Student(int id, String name, int age, String gender, String major) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.major = major;
}
// Getters and setters
// ...
}
```
StudentDAO.java(Model)
```java
public class StudentDAO {
private List<Student> students = new ArrayList<Student>();
public void addStudent(Student student) {
students.add(student);
}
public void deleteStudent(int id) {
for (Student student : students) {
if (student.getId() == id) {
students.remove(student);
break;
}
}
}
public void updateStudent(Student student) {
for (Student s : students) {
if (s.getId() == student.getId()) {
s.setName(student.getName());
s.setAge(student.getAge());
s.setGender(student.getGender());
s.setMajor(student.getMajor());
break;
}
}
}
public Student getStudentById(int id) {
for (Student student : students) {
if (student.getId() == id) {
return student;
}
}
return null;
}
public List<Student> getAllStudents() {
return students;
}
}
```
LoginView.java(View)
```java
public class LoginView {
private Scanner scanner;
public LoginView() {
scanner = new Scanner(System.in);
}
public String getUsername() {
System.out.print("Enter username: ");
return scanner.nextLine();
}
public String getPassword() {
System.out.print("Enter password: ");
return scanner.nextLine();
}
public void showLoginSuccess() {
System.out.println("Login success!");
}
public void showLoginFail() {
System.out.println("Login fail!");
}
public void showRegisterSuccess() {
System.out.println("Register success!");
}
public void showRegisterFail() {
System.out.println("Register fail!");
}
}
```
StudentView.java(View)
```java
public class StudentView {
private Scanner scanner;
public StudentView() {
scanner = new Scanner(System.in);
}
public Student getStudentInfo() {
System.out.print("Enter student id: ");
int id = scanner.nextInt();
scanner.nextLine();
System.out.print("Enter student name: ");
String name = scanner.nextLine();
System.out.print("Enter student age: ");
int age = scanner.nextInt();
scanner.nextLine();
System.out.print("Enter student gender: ");
String gender = scanner.nextLine();
System.out.print("Enter student major: ");
String major = scanner.nextLine();
return new Student(id, name, age, gender, major);
}
public void showAllStudents(List<Student> students) {
System.out.println("All students:");
for (Student student : students) {
System.out.println(student.getId() + " " + student.getName() + " " + student.getAge() + " " + student.getGender() + " " + student.getMajor());
}
}
public void showStudent(Student student) {
System.out.println("Student info:");
System.out.println(student.getId() + " " + student.getName() + " " + student.getAge() + " " + student.getGender() + " " + student.getMajor());
}
public void showAddSuccess() {
System.out.println("Add student success!");
}
public void showAddFail() {
System.out.println("Add student fail!");
}
public void showDeleteSuccess() {
System.out.println("Delete student success!");
}
public void showDeleteFail() {
System.out.println("Delete student fail!");
}
public void showUpdateSuccess() {
System.out.println("Update student success!");
}
public void showUpdateFail() {
System.out.println("Update student fail!");
}
}
```
LoginController.java(Controller)
```java
public class LoginController {
private LoginView loginView;
private UserDAO userDAO;
public LoginController(LoginView loginView, UserDAO userDAO) {
this.loginView = loginView;
this.userDAO = userDAO;
}
public void login() {
String username = loginView.getUsername();
String password = loginView.getPassword();
if (userDAO.checkUser(username, password)) {
loginView.showLoginSuccess();
} else {
loginView.showLoginFail();
}
}
public void register() {
String username = loginView.getUsername();
String password = loginView.getPassword();
if (userDAO.addUser(username, password)) {
loginView.showRegisterSuccess();
} else {
loginView.showRegisterFail();
}
}
}
```
StudentController.java(Controller)
```java
public class StudentController {
private StudentView studentView;
private StudentDAO studentDAO;
public StudentController(StudentView studentView, StudentDAO studentDAO) {
this.studentView = studentView;
this.studentDAO = studentDAO;
}
public void addStudent() {
Student student = studentView.getStudentInfo();
if (studentDAO.addStudent(student)) {
studentView.showAddSuccess();
} else {
studentView.showAddFail();
}
}
public void deleteStudent() {
System.out.print("Enter student id: ");
int id = studentView.scanner.nextInt();
studentView.scanner.nextLine();
if (studentDAO.deleteStudent(id)) {
studentView.showDeleteSuccess();
} else {
studentView.showDeleteFail();
}
}
public void updateStudent() {
Student student = studentView.getStudentInfo();
if (studentDAO.updateStudent(student)) {
studentView.showUpdateSuccess();
} else {
studentView.showUpdateFail();
}
}
public void getStudentById() {
System.out.print("Enter student id: ");
int id = studentView.scanner.nextInt();
studentView.scanner.nextLine();
Student student = studentDAO.getStudentById(id);
if (student != null) {
studentView.showStudent(student);
} else {
System.out.println("Student not found!");
}
}
public void getAllStudents() {
List<Student> students = studentDAO.getAllStudents();
studentView.showAllStudents(students);
}
}
```
2. 创建UserDAO.java(Model),用于处理用户登录和注册:
```java
public class UserDAO {
private Map<String, String> users = new HashMap<String, String>();
public UserDAO() {
users.put("admin", "admin");
}
public boolean checkUser(String username, String password) {
String pw = users.get(username);
return pw != null && pw.equals(password);
}
public boolean addUser(String username, String password) {
if (users.containsKey(username)) {
return false;
} else {
users.put(username, password);
return true;
}
}
}
```
3. 创建Main.java作为程序入口:
```java
public class Main {
public static void main(String[] args) {
LoginView loginView = new LoginView();
UserDAO userDAO = new UserDAO();
LoginController loginController = new LoginController(loginView, userDAO);
StudentView studentView = new StudentView();
StudentDAO studentDAO = new StudentDAO();
StudentController studentController = new StudentController(studentView, studentDAO);
Scanner scanner = new Scanner(System.in);
int choice;
do {
System.out.println("1. Login");
System.out.println("2. Register");
System.out.println("0. Exit");
System.out.print("Enter your choice: ");
choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
loginController.login();
if (userDAO.checkUser("admin", "admin")) {
int choice2;
do {
System.out.println("1. Add student");
System.out.println("2. Delete student");
System.out.println("3. Update student");
System.out.println("4. Get student by id");
System.out.println("5. Get all students");
System.out.println("0. Logout");
System.out.print("Enter your choice: ");
choice2 = scanner.nextInt();
scanner.nextLine();
switch (choice2) {
case 1:
studentController.addStudent();
break;
case 2:
studentController.deleteStudent();
break;
case 3:
studentController.updateStudent();
break;
case 4:
studentController.getStudentById();
break;
case 5:
studentController.getAllStudents();
break;
case 0:
break;
default:
System.out.println("Invalid choice!");
break;
}
} while (choice2 != 0);
}
break;
case 2:
loginController.register();
break;
case 0:
break;
default:
System.out.println("Invalid choice!");
break;
}
} while (choice != 0);
}
}
```