代码实现JSP+MySQLL完成家庭理财管理系统
时间: 2023-07-29 21:10:44 浏览: 86
基于Java+JSP +MYSQL家庭理财系统毕业设计实现+源码毕业设计实现+源码.rar
5星 · 资源好评率100%
好的,以下是一个简单的 JSP+MySQL 实现家庭理财管理系统的代码示例:
1. 创建数据库和数据表
首先,需要在 MySQL 中创建一个名为 finance 的数据库,并在其中创建一个名为 record 的数据表,用于存储收支记录。数据表中需要包含以下字段:
- id:主键,自增长
- type:记录类型,包括收入和支出两种
- category:记录分类,比如餐饮、交通、娱乐等
- amount:金额
- date:日期
- remark:备注
以下是创建数据表的 SQL 语句:
```
CREATE DATABASE finance;
USE finance;
CREATE TABLE record (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
type VARCHAR(10) NOT NULL,
category VARCHAR(20) NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
date DATE NOT NULL,
remark VARCHAR(100)
);
```
2. 编写 JSP 页面
接下来,需要编写 JSP 页面,用于展示收支记录和添加新的记录。以下是一个简单的 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>
<h1>家庭理财管理系统</h1>
<h2>添加新的记录</h2>
<form action="addRecord.jsp" method="post">
<label>类型:</label>
<select name="type">
<option value="income">收入</option>
<option value="expense">支出</option>
</select><br>
<label>分类:</label>
<input type="text" name="category"><br>
<label>金额:</label>
<input type="text" name="amount"><br>
<label>日期:</label>
<input type="date" name="date"><br>
<label>备注:</label>
<textarea name="remark"></textarea><br>
<input type="submit" value="添加">
</form>
<h2>收支记录</h2>
<table border="1">
<tr>
<th>ID</th>
<th>类型</th>
<th>分类</th>
<th>金额</th>
<th>日期</th>
<th>备注</th>
</tr>
<%-- 在这里查询数据库,并展示收支记录 --%>
</table>
</body>
</html>
```
3. 编写 Servlet
最后,需要编写 Servlet,用于处理添加记录的请求。以下是一个简单的 Servlet 示例:
```
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddRecordServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private final String URL = "jdbc:mysql://localhost:3306/finance";
private final String USERNAME = "root";
private final String PASSWORD = "password";
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String type = request.getParameter("type");
String category = request.getParameter("category");
BigDecimal amount = new BigDecimal(request.getParameter("amount"));
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("date"));
} catch (ParseException e) {
e.printStackTrace();
}
String remark = request.getParameter("remark");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
String sql = "INSERT INTO record (type, category, amount, date, remark) VALUES (?, ?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, type);
pstmt.setString(2, category);
pstmt.setBigDecimal(3, amount);
pstmt.setDate(4, new java.sql.Date(date.getTime()));
pstmt.setString(5, remark);
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
response.sendRedirect("index.jsp");
}
}
```
在这个 Servlet 中,首先从请求参数中获取收支记录的各个字段,然后连接数据库并将记录插入到数据表中。最后,重定向到首页。
以上就是一个简单的 JSP+MySQL 实现家庭理财管理系统的示例代码。实际应用中,还需要考虑更多的功能和安全性问题。
阅读全文