javaWeb与mysql快速入门实现学生管理系统(增删改查等功能)
(一)创建javaweb工程项目
需要查看的可以看我之前写的下载链接 连接mysql需要用到驱动,这是官方下载链接
下载完把jar包粘贴到WebContent -> Web-INF-> lib下
粘贴完会看到Libraries会自动导入库
(二)先创建DBUtils类实现JDBC连接的构建,解释说明代码。(底下有完整代码)
/**
*
*/
package edu.mju.stuwork.utils;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.ResultSet;
public class DBUtils {
private static final String CONN_STR
= "jdbc:mysql://localhost:3306/stu?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC";
private static final String USER = "root";
private static final String PWD = "123456";
public static Connection getConn() {
Connection conn =null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(CONN_STR, USER, PWD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void releaseRes(Connection conn,PreparedStatement pstmt, ResultSet rset){
try {
if(rset!=null) rset.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
(三)写Student对象类(包含 ID Name Mark 三个属性)
/**
*
*/
package edu.mju.stuwork.domain;
/**
* @author ASUS
*学生信息
*/
public class Student {
private int stuNo;
private String stuName;
private double stuMark;
public int getStuNo() {
return stuNo;
}
public void setStuNo(int stuNo) {
this.stuNo = stuNo;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public double getStuMark() {
return stuMark;
}
public void setStuMark(double stuMark) {
this.stuMark = stuMark;
}
}
(四)再写一个Dao包,其作用是操作Student实体以及数据库的增删改查功能
- 写StudentDao的接口
package edu.mju.stuwork.dao;
import edu.mju.stuwork.domain.Student;
/**
* * DAO: Data Access Object
* 其负责某个实体所有的数据库增删改查操作
* @author ASUS
*
*/
public interface StudentDao {
void addStu(Student stu);
}
2.写一个实现增加学生信息功能
package edu.mju.stuwork.dao;
import edu.mju.stuwork.domain.Student;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import edu.mju.stuwork.utils.DBUtils;
public class StudentDaoJDBCImpl implements StudentDao {
private static final String SQL_ADD_STU
= "insert into tbl_student values(?,?,?)";
@Override
public void addStu(Student stu) {
Connection conn = DBUtils.getConn();
PreparedStatement pstmt =null;
try {
pstmt = conn.prepareStatement(SQL_ADD_STU);
pstmt.setInt(1, stu.getStuNo());
pstmt.setString(2, stu.getStuName());
pstmt.setDouble(3, stu.getStuMark());
pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
DBUtils.releaseRes(conn, pstmt, null);
}
}
}
(五)写个测试类
package edu.mju.stuwork.test;
import edu.mju.stuwork.dao.StudentDao;
import edu.mju.stuwork.dao.StudentDaoJDBCImpl;
import edu.mju.stuwork.domain.Student;
import edu.mju.stuwork.utils.DBUtils;
public class Tester {
public static void main(String[] args) {
//System.out.println(DBUtils.getConn());
Student stu = new Student();
stu.setStuNo(9512);
stu.setStuName("mary");
stu.setStuMark(87.5);
StudentDao stuDao = new StudentDaoJDBCImpl();
stuDao.addStu(stu);
}
}
运行完,去mysql查看,数据是否存入。
(六)写一个Service包,调用Dao包
接口
package edu.mju.stuwork.service;
import edu.mju.stuwork.domain.Student;
public interface StudentService {
void regStudent(Student stu);
}
实现接口
package edu.mju.stuwork.service;
import edu.mju.stuwork.dao.StudentDao;
import edu.mju.stuwork.dao.StudentDaoJDBCImpl;
import edu.mju.stuwork.domain.Student;
public class StudentServiceImpl implements StudentService{
@Override
public void regStudent(Student stu) {
StudentDao stuDao = new StudentDaoJDBCImpl();
stuDao.addStu(stu);
}
}
(七)创建servlet:在包里右键然后选择Other,搜索servlet,点击next
输入Class name 点击Next
点击Edit 更改映射地址 改为stuMgr
再点击Next要有 doGet 和 doPost, 最后完成
在Servlet中doGet方法写进代码,服务器与网页进行连接、获取参数
package edu.mju.stuwork.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import edu.mju.stuwork.domain.Student;
import edu.mju.stuwork.service.StudentService;
import edu.mju.stuwork.service.StudentServiceImpl;
/**
* Servlet implementation class StuMgrServlet
*/
@WebServlet("/stuMgr")
public class StuMgrServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public StuMgrServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Student stu = new Student();
stu.setStuNo(Integer.parseInt(request.getParameter("stuno")));
stu.setStuName(request.getParameter("stuname"));
stu.setStuMark(Double.parseDouble(request.getParameter("stumark")));
// System.out.println(stu);
StudentService stuService = new StudentServiceImpl();
stuService.regStudent(stu);
System.out.println("save stu info is ok!");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
(八)最后创建一个Html
在WebContent右击然后Other,搜索Html文件,然后创建。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
body{
padding:30px;
font-size:24px;
}
div{
margin-bottom:10px;
}
button{
font-size:24px;
}
input{
font-size:22px;
padding:5px;
}
</style>
</head>
<body>
<h3>新生登记</h3>
<form action="stuMgr" method="post">
<div>
<label>学生学号:</label>
<input type="text" name="stuno">
</div>
<div>
<label>学生姓名:</label>
<input type="text" name="stuname">
</div>
<div>
<label>学生成绩:</label>
<input type="text" name="stumark">
</div>
<button>登记保存</button>
</form>
</body>
</html>
需要注意下:
(九)最后网页在服务器运行下,查看网页输入的数据能否添加到数据库中
步骤:网页右击选择Run As再选择Run on Server
点击Next,选择你要运行的工程
Finish
保存成功
数据库查看