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

时间:2023-03-08 22:05:47

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

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

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

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

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

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

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>

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

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);
}