系统设计
这是一个基于 JDBC+servlet+JSP 的简单作业管理系统。
老师
- 添加作业
- 添加学生
- 查看作业
学生操作
- 提交作业
数据库设计:
JDBC+Httpservlet+JSP
JDBC 用来操控数据库。(此处只展示一下老师添加作业的代码)
public static void addHomework(Homework homework){
String dburl = "jdbc:mysql://127.0.0.1:3306/homework?&useSSL=false&serverTimezone=UTC";
String sqlString = "INSERT INTO homework values(?,?,?,?,null )";
List<Homework> list= new ArrayList<>();
try(Connection connection = DriverManager.getConnection(dburl,"root","123456");
PreparedStatement statement = connection.prepareStatement(sqlString) )
{
statement.setLong(1,homework.getId());
statement.setString(2,homework.getTitle());
statement.setString(3,homework.getContent());
statement.setDate(4, (Date) homework.getCreate_time());
boolean i= statement.execute();
if (i)
{
System.out.println("添加作业成功");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
HttpServlet 作为接口,处理请求。(仅展 addHomework)
@WebServlet("/addHomework")
public class addHomework extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");//设置编码,以防表单提交的内容乱码
Homework homework = new Homework();
homework.setTitle(req.getParameter("title"));
homework.setContent(req.getParameter("content"));
homework.setCreate_time( new java.sql.Date(new java.util.Date().getTime()));
database.addHomework(homework);
req.setAttribute("type","addHomework");
req.getRequestDispatcher("index.jsp").forward(req,resp);
}
}
JSP 用于实现Java web应用程序的用户界面部分(同样这里仅展示了submitHomework.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>提交作业</title>
</head>
<body>
<div align="center">
<form method="post" action="${pageContext.request.contextPath}/submit">
<table border="1" width="960">
<tr>
<th width="30%">学号:</th>
<td width="70%"><input type="number" name="studentId"
maxlength="20" style="font-family: Arial; width: 100%" required>
</td>
</tr>
<tr>
<th width="30%">作业号:</th>
<td width="70%"><input type="number" name="homeworkId"
maxlength="20" style="font-family: Arial; width: 100%" required>
</td>
</tr>
<tr>
<th width="30%">作业名:</th>
<td width="70%"><input type="text" name="title"
maxlength="20" style="font-family: Arial; width: 100%" required>
</td>
</tr>
<tr>
<th width="30%">作业内容</th>
<td width="70%"><textarea name="content" style="font-family: Arial; width: 100%" rows="10" required></textarea></td>
</tr>
<tr style="border: none">
<td align="center"><input type="reset" value="清空"></td>
<td align="center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
具体实现
首先先展示一下代码结构,src里包含JDBC modle server 分别来实现对数据库的操作,对数据库的映射,和servlet接口实现。
进入系统,先选择角色 ,老师的操作如下
老师创建新作业:
老师添加新学生:
老师查看作业:
学生提交作业:
作业代码
https://github.com/lzr66/HomeworkManager