學生信息管理系統+動態項目部署到Tomcat上----Java實現(附帶源碼下載和Tomcat7服務器)

一、項目介紹

1.1 寫在前面

      本項目僅僅實現了對學生數據的增刪改查,當對數據的操作失敗的時候頁面會空白或者報500錯誤,沒有對錯誤的情況進行處理。歡迎大家在後續進行補充修改

1.2 實現技術

頁面顯示層----------jsp
業務邏輯層----------Servlet
數據訪問層----------DBUtils+C3P0
使用數據庫----------MySQL
服務器----------------Tomcat
使用工具-------------Eclipse+SQLyog

1.3項目結構
在這裏插入圖片描述
二、開發流程

創建數據庫

分爲兩個表,一個是管理員的信息表,另一個是學生的信息表
在這裏插入圖片描述

登錄頁面
在這裏插入圖片描述

對應LoginServlet代碼

package com.gzgs.servlet;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.gzgs.domain.User;
import com.gzgs.service.UserService;
import com.gzgs.service.impl.UserServiceImpl;

/**
 * 用來處理管理員的登錄請求的servlet
 * 
 * @author SDL
 *
 */
public class LoginServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 處理可能出現的中文亂碼問題
		request.setCharacterEncoding("UTF-8");
		response.setHeader("Content-Type", "text/html;charset=UTF-8");
		// 獲取參數
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		
		try { // 判斷登錄
			UserService userService = new UserServiceImpl();
			User user = userService.login(username, password);
			if (user != null) {
				request.setAttribute("currentPage",1);
				request.getRequestDispatcher("StudentListServlet").forward(request, response);
			} else {
				response.getWriter().write("<h3>登錄失敗,用戶名或密碼錯誤!</h3>");
			}
		} catch (SQLException e) {
			// TODO 自動生成的 catch 塊
			e.printStackTrace();
		}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

分頁信息顯示頁面

在這裏插入圖片描述

查詢所有男生信息

在這裏插入圖片描述

添加學生信息

這個可以根據自己情況進行修改
在這裏插入圖片描述

對應添加學生信息的Servlet

package com.gzgs.servlet;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.gzgs.domain.Student;
import com.gzgs.service.StudentService;
import com.gzgs.service.impl.StudentServiceImpl;

/**
 * 這個servlet用於處理用戶添加學生的請求
 * 
 * @author SDL
 *
 */
public class AddServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		try {
			// 獲取用戶傳過來的數據
			String sname = request.getParameter("sname");
			String gender = request.getParameter("gender");
			String phone = request.getParameter("phone");
			String birthday = request.getParameter("birthday"); // 1989-10-18
			String info = request.getParameter("info");
			// 由於愛好可能不止一個,所以這裏用數組來接收愛好
			String[] h = request.getParameterValues("hobby");
			// 將數組轉換爲字符串
			String hobby = Arrays.toString(h);
			hobby = hobby.substring(1, hobby.length() - 1);
			// 2. 添加到數據庫
			// 由於數據庫中出生日期的類型是Date,所以這裏需要轉一下
			Date date = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
			Student student = new Student(sname, gender, phone, hobby, info, date);
			StudentService service = new StudentServiceImpl();
			service.insert(student);
			//3. 跳轉到列表頁 這裏注意不能直接跳轉到list_page.jsp頁面,否則會顯示不出新增的學生信息
			//servlet除了能跳jsp之外。 還能跳servlet
			request.setAttribute("currentPage",1);//傳遞打開的頁碼參數
			request.getRequestDispatcher("StudentListServlet").forward(request, response);
		} catch (Exception e) {
			// TODO 自動生成的 catch 塊
			e.printStackTrace();
		}

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

修改吳亦凡的學生信息

在這裏插入圖片描述

對應修改信息的Servlet的代碼

package com.gzgs.servlet;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.gzgs.domain.Student;
import com.gzgs.service.StudentService;
import com.gzgs.service.impl.StudentServiceImpl;

/**
 * 這個servlet用於處理用戶的跟新學生信息的請求
 * @author SDL
 *
 */
public class UpdateServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		try {
			//1. 獲取客戶端提交上來的數據
			int sid = Integer.parseInt(request.getParameter("sid"));
			String sname = request.getParameter("sname"); //sname:zhangsan
			String gender = request.getParameter("gender");
			String phone = request.getParameter("phone");
			String birthday = request.getParameter("birthday"); // 1989-10-18
			String info = request.getParameter("info");
			//String hobby = request.getParameter("hobby");//hobby : 游泳,寫字, 足球。
			String[] h = request.getParameterValues("hobby");
			//		[籃球,足球,寫字] --- 籃球,足球,寫字
			String hobby = Arrays.toString(h);
			hobby = hobby.substring(1, hobby.length() - 1);
			//2. 添加到數據庫
			//string -- date
			Date date = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
			Student student = new Student(sid ,sname, gender, phone, hobby, info, date);
			
			//2. 更新數據庫數據
			StudentService service = new StudentServiceImpl();
			service.update(student);
			
			//3. 跳轉界面
			request.setAttribute("currentPage",1);//設置傳遞的頁碼參數
			request.getRequestDispatcher("StudentListServlet").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

三、完整項目源碼下載

下載鏈接:https://download.csdn.net/download/weixin_45680962/12484282

下載之後部署到tomcat上,然後再瀏覽器就可以訪問了哦!

項目有很多可以改進的地方,歡迎大家指點,有疑問的話也歡迎留言哈哈哈哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章