学生信息管理系统+动态项目部署到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上,然后再浏览器就可以访问了哦!

项目有很多可以改进的地方,欢迎大家指点,有疑问的话也欢迎留言哈哈哈哈

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