您的位置:首页 > 编程语言 > Java开发

JAVA EE学习-02 开发基于Mysql、Servlet、JSP的作业管理系统

2020-04-23 09:43 841 查看

功能介绍

1、老师:添加作业,添加学生。查询某次作业学生提交情况;
2、学生:查看已有作业。根据老师添加的作业,进行作业提交;

数据库

数据库school以及数据库下s_student, s_homework, s_student_homework三张表。

s_homework

s_student

s_student_homework

项目文件简单介绍

1、Model
model下建立数据映射类,student, homework, studenthomework,分别对应数据库中的三张表。
student类

package com.java.code.model;
import java.util.Date;

public class Student {

private long id;

private String name;

private Date createTime;

private Date updateTime;

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Date getCreateTime() {
return createTime;
}

public void setCreateTime(Date createTime) {
this.createTime = createTime;
}

public Date getUpdateTime() {
return updateTime;
}

public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

homework, studenthomework与此类似。
2、JDBC
使用StudentHomeworkJdbc来做数据库的连接和操作。
例如向s_student表中添加数据可以使用以下代码:

public static boolean addStudent(Student student){
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

String sqlString = "insert into s_student (id,name,create_time) values(?,?,?)";

int resultSet = 0;
try (Connection connection = DriverManager.getConnection(url, username, password)) {
try (PreparedStatement ps = connection.prepareStatement(sqlString)) {
ps.setLong(1,student.getId());
// 为sql语句中第一个问号赋值
ps.setString(2,student.getName());
// 为sql语句中第二个问号赋值
ps.setTimestamp(3,new Timestamp(student.getCreateTime().getTime()));
// 为sql语句中第三个问号赋值
resultSet = ps.executeUpdate();
// 当成功插入数据到数据库时候,这个会返回一个大于1的数字,来表明数据成功插入库之中
}
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet > 0;
}

3、Jsp
JSP通过Servlet访问数据库。当用户访问服务器时,JDBC访问数据库,获取数据,通过Servlet返回给JSP页面,然后JSP页面展示数据。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
例如homeworkSubmission.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>作业详细信息</title>
</head>
<body>
<h2 align="center" style="margin: 50px">作业详细内容</h2>
<table align="center" width="960" border="1">

<tr bgcolor="aqua">
<th width="10%">学号</th>
<th width="10%">作业编号</th>
<th width="20%">作业标题</th>
<th width="40%">作业内容</th>
<th width="20%">创建时间</th>
</tr>
<%
List<StudentHomework> list = (List<StudentHomework>)request.getAttribute("list");

if (list == null || list.size() <= 0){

}else {
for (StudentHomework sh : list) {
%>
<tr>
<td width="10%"><%=sh.getStudentId()%></td>
<td width="10%"><%=sh.getHomeworkId()%></td>
<td width="20%" style="word-break: break-all;word-wrap: break-word"><%=sh.getHomeworkTitle()%></td>
<td width="40%" style="word-break: break-all;word-wrap: break-word"><%=sh.getHomeworkContent()%></td>
<td width="20%"><%=sh.getCreateTime()%></td>
</tr>
<%
}
}
%>

</table>
</body>
</html>

页面实现


发布作业:

添加学生:

教师查看作业:

学生提交作业:

Github地址     https://github.com/Hunteryer/Java-EE-02.

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Hunteryer 发布了3 篇原创文章 · 获赞 0 · 访问量 70 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: