MVC学生管理系统-阶段II(添加学生信息)

版权声明:仅提供学习参考使用,如若转载请说明出处谢谢! https://blog.csdn.net/weixin_44718300/article/details/89043801

项目源码 :https://download.csdn.net/download/weixin_44718300/11091042 

前期准备,主体框架,学生列表显示    请看上一篇文章

本文是对阶段一的增加部分,不建议跳跃查看 

NO01.在list表中添加一个添加学生连接

 <tr >
			<td colspan="8"><a href="add.jsp">添加</a></td>
		</tr>

NO02.添加一个add.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加学生</title>
</head>
<body>
	<form method="post" action="AddServlet">
		<table border="1">
			<tr>
				<td>姓名</td>
				<td><input type="text" name="sname"></td>
			</tr>
			<tr>
				<td>性别</td>
				<td><input type="radio" name="gender" value="男">男 <input
					type="radio" name="gender" value="女">女</td>
			</tr>
			<tr>
				<td>电话</td>
				<td><input type="text" name="phone"></td>
			</tr>
			<tr>
				<td>生日</td>
				<td><input type="text" name="birthday"></td>
			</tr>
			<tr>
				<td>爱好</td>
				<td><input type="checkbox" name="hobby" value="篮球">篮球 <input
					type="checkbox" name="hobby" value="游泳">游泳 <input
					type="checkbox" name="hobby" value="足球">足球 <input
					type="checkbox" name="hobby" value="乒乓球">乒乓球 <input
					type="checkbox" name="hobby" value="学习">学习</td>
			</tr>
			<tr>
				<td>简介</td>
				<td><textarea name="info" rows="3" cols="20"></textarea></td>
			</tr>

			<tr>
				<td colspan="2"><input type="submit" value="添加"></td>

			</tr>
		</table>
	</form>
</body>
</html>

NO03.修改Student类,添加一个有参构造(不需要ID)和一个无参构造

NO04.添加一个增加学生的Servlet

获取表单上提交过来的值然后插入数据库后显示原来的列表

package com.rick.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.rick.been.Student;
import com.rick.sercive.StudentService;
import com.rick.sercive.impl.StudentServiceImpl;

public class AddServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
//    1.获得表提交上来的数据
		String sname = request.getParameter("sname");
		String gender = request.getParameter("gender");
		String phone = request.getParameter("phone");
		String birthday = request.getParameter("birthday");
		String info = request.getParameter("info");
		//String hobby = request.getParameter("hobby");//这个方法只能拿出一个数据
		String[] h = request.getParameterValues("hobby");
		String hobby = Arrays.toString(h);//得到的h是一个地址,用Arrays.toString转换成字符串
		hobby = hobby.substring(1,hobby.length()-1);//但是得到的东西前后会有[]还得用substring去掉前后
//	  2、添加到数据库
		try {
			Date birthdaydate = new SimpleDateFormat("yyyy-mm-dd").parse(birthday);
			//在Student类中添加一个无参和一个有参构造
			Student student = new Student(sname, gender, phone, birthdaydate, hobby, info);
			StudentService service = new StudentServiceImpl();
			service.insert(student);
//	  3、跳转到列表
			//这里直接跳转到页面上,那么这个页面会重新翻译一次,上面那个request的请求存放的数据没有了
			//request.getRequestDispatcher("list.jsp").forward(request, response);
			request.getRequestDispatcher("StudentListServlet").forward(request, response);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

NO05.修改StudentDao接口,添加一个方法

//添加学生
	void insert(Student student) throws SQLException;

NO06.修改StudentDao接口的实现类StudentDaoImpl,添加一个方法

@Override
	public void insert(Student student) throws SQLException {
		QueryRunner runner = new QueryRunner(JDBCUtil.getDataSouce());
		runner.update("insert into stu values(null,?,?,?,?,?,?)",
				student.getSname(),student.getGender(),student.getPhone(),
				student.getBirthday(),student.getHobby(),student.getInfo());
	}

NO07.修改StudentService接口,添加一个方法

//添加
	void insert(Student student) throws SQLException;

NO08.修改StudentService接口的实现类StudentServiceImpl,添加一个方法

@Override
	public void insert(Student student) throws SQLException {
		StudentDao dao = new StudentDaoImpl();
		dao.insert(student);
	}

猜你喜欢

转载自blog.csdn.net/weixin_44718300/article/details/89043801