JavaWeb学生信息管理系统
提取码: 7sm3 https://www.aliyundrive.com/s/f6tULruwfUx
直接放上代码 ·
知识储备:java、mysql、Servlet、HTML、Jquery、Jscript、
我的个人制作过程大概如下:
数据库的创建——数据库的连接——Dao层——Service层——Servlet程序——页面设计。
思路:首先我们要有被管理的对象——Student。那么我们首先要创建Student数据库表。
与此同时创建Student类。
package com.atchensong.pojo;public class Student {private Integer id;private String username;private int age;private String gender;private double score;public Student() {}public Student(Integer id, String username, int age, String gender, double score) {this.id = id;this.username = username;this.age = age;this.gender = gender;this.score = score;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}@Overridepublic String toString() {return "Student{" +"id=" + id +", username='" + username + '\'' +", age=" + age +", gender='" + gender + '\'' +", score=" + score +'}';}
}
接下来通过JdbcUtils尝试与数据库连接,并查找数据库中的数据。
配置文件-jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/stu_info?characterEncoding=utf8
username=root
password=111111
initialSize=5
maxActive=10
JdbcUtils
package com.atchensong.utils;import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;/*** @author Chensong* @description* @create 2022-02-17 8:56*/
public class JdbcUtils {private static String driver = null;private static String url = null;private static String username = null;private static String password = null;static {try {InputStream inputStream = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");Properties properties = new Properties();properties.load(inputStream);driver = properties.getProperty("driver");url = properties.getProperty("url");username = properties.getProperty("username");password = properties.getProperty("password");//1.驱动需要加载一次Class.forName(driver);} catch (IOException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}}//2.获取连接public static Connection getConnection() throws SQLException {return DriverManager.getConnection(url, username, password);}//3.释放连接public static void release(Connection connection, Statement statement, ResultSet resultSet) {if (resultSet != null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}}if (statement != null)try {statement.close();} catch (SQLException e) {e.printStackTrace();}if (resultSet != null)try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}
确保连接好之后,我们接下来进入页面层面。首先应该实现登录功能。那么登录功能是管理员来登录的,所以应该用管理员的账号与密码。那么在数据库中创建manager表。只需要给上用户名和密码就可以了。
与此同时创建Manager类。
package com.atchensong.pojo;public class Manager {private String username;private String password;public Manager() {}public Manager(String username, String password) {this.username = username;this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "Manager{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}
}
编写Dao层实现java程序与数据库的数据交互。
首先创建BaseDao。实现与数据库交互最底层的功能。这段儿代码也可以当作一个模板,适用于其他项目的编写。
package com.atchensong.dao.impl;import com.atchensong.utils.JdbcUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;public abstract class BaseDao {//使用DbUtils操作数据库private QueryRunner queryRunner = new QueryRunner();/** update()方法用来执行:Insert\Update\Delete语句** @return 如果返回-1,说明执行失败</br>返回其他表示影响的行数* */public int update(String sql, Object... args) {Connection connection = null;try {connection = JdbcUtils.getConnection();return queryRunner.update(connection, sql, args);} catch (SQLException e) {e.printStackTrace();} finally {JdbcUtils.release(connection, null, null);}return -1;}/*** 查询返回一个javaBean的sql语句* type 返回的对象类型* sql 执行的sql语句* args sql对应的参数值* <T> 返回的类型的泛型** */public <T> T queryForOne(Class<T> type, String sql, Object... args) {Connection connection = null;try {connection = JdbcUtils.getConnection();return queryRunner.query(connection, sql, new BeanHandler<T>(type), args);} catch (SQLException e) {e.printStackTrace();} finally {JdbcUtils.release(connection, null, null);}return null;}public <T> List<T> queryForList(Class<T> type, String sql, Object... args) {Connection conn = null;try {conn = JdbcUtils.getConnection();return queryRunner.query(conn, sql, new BeanListHandler<T>(type), args);} catch (SQLException e) {e.printStackTrace();} finally {JdbcUtils.release(conn, null, null);}return null;}public Object queryForSingleValue(String sql, Object... args) {Connection connection = null;try {connection = JdbcUtils.getConnection();return queryRunner.query(connection, sql, new ScalarHandler(), args);} catch (SQLException e) {e.printStackTrace();}return null;}
}
创建ManagerDao接口
package com.atchensong.dao;import com.atchensong.pojo.Manager;public interface ManagerDao {public Manager queryUserByUsernameAndPassword(String username, String password);}
创建Manager实现类。
package com.atchensong.dao.impl;import com.atchensong.dao.ManagerDao;
import com.atchensong.pojo.Manager;public class ManagerDaoImpl extends BaseDao implements ManagerDao {@Overridepublic Manager queryUserByUsernameAndPassword(String username, String password) {String sql = "select * from `manager` where username=? and password = ?";return queryForOne(Manager.class, sql, username, password);}
}
创建Service层:
package com.atchensong.service;import com.atchensong.pojo.Manager;public interface ManagerService {/** 登录业务* */public Manager login(Manager manager);
}
package com.atchensong.service.impl;import com.atchensong.dao.ManagerDao;
import com.atchensong.dao.impl.ManagerDaoImpl;
import com.atchensong.pojo.Manager;
import com.atchensong.service.ManagerService;public class ManagerServiceImpl implements ManagerService {ManagerDao managerDao = new ManagerDaoImpl();@Overridepublic Manager login(Manager manager) {return managerDao.queryUserByUsernameAndPassword(manager.getUsername(), manager.getPassword());}
}
确保能够成功运行以后,我们开始实现页面与java程序的交互。这时要用到Servlet知识。
创建实现登录功能的Servlet代码
package com.atchensong.web;import com.atchensong.pojo.Manager;
import com.atchensong.service.ManagerService;
import com.atchensong.service.impl.ManagerServiceImpl;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class LoginServlet extends HttpServlet {ManagerService managerService = new ManagerServiceImpl();@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username = req.getParameter("username");String password = req.getParameter("password");Manager login = managerService.login(new Manager(username, password));if (login == null) {req.setAttribute("msg", "用户名或密码输入错误");req.setAttribute("username", username);req.getRequestDispatcher("/index.jsp").forward(req, resp);System.out.println("登录失败");} else {System.out.println("登录成功");req.getRequestDispatcher("/login_success.jsp").forward(req, resp);}}
}
顺便附上登录页面
<%--Created by IntelliJ IDEA.User: 张宸菘Date: 2022/5/3Time: 15:59To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--<!DOCTYPE html>--%><html>
<head><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><title>管理员登录</title><link type="text/css" rel="stylesheet" href="static/css/index.css"><link type="text/css" rel="stylesheet" href="static/css/iconfont.css"><script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
</head>
<body>
<h1>学 生 管 理 系 统</h1>
<div class="box clearfix"><div class="msg-title">${ empty requestScope.msg ? "请输入用户名和密码:" :requestScope.msg}</div><form action="http://localhost:8080/stu_management/loginServlet" method="post"><div class="box1 iconfont clearfix"><div class="user icon-yonghuming"></div><input type="text" name="username" class="username" value="${requestScope.username}"></div><div class="box2 iconfont clearfix"><div class="pass icon-mima"></div><input type="password" name="password" class="password"><br><input type="submit" value="提交" class="submit"></div></form>
</div>
</body>
</html>
还没有完。在web.xml中配置servlet程序地址。
完成上述工作以后,启动Tomcat,尝试登录操作。
之后的:增删改查操作同登录操作一样:先在Dao层实现与数据库的连接,并编写对应 的方法,在通过Service层调用Dao层的方法。之后编写Servlet程序,配置Servlet程序。
另外:下载过后的小伙伴都说报错404
下边儿说一下解决方法:
下载过后,打开项目
一、右击模块名称 -> open Moudle Settings
二、右击stu_management -> Add->Web
发现web文件夹已经被标记
三、配置tomcat
运行即可
JavaWeb学生信息管理系统相关推荐
- Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)
项目源码及数据库: 链接:https://pan.baidu.com/s/1ktUyxbOI9lljWr-HRTRIiQ?pwd=1024 提取码:1024 目录 一.项目介绍 二.运行效果 1.登录 ...
- Javaweb学生信息管理系统(源码)
关注微信公众号:小诸葛的博客 回复101获取项目源码 1.项目名称:学生成绩管理系统 主要管理学生信息及成绩.教师信息.考试信息等. 2.系统环境: ...
- JavaWeb学生信息管理系统_查询V1.0
项目简介 1)在MySQL数据库中创建一个StudentGradeTable数据表,添加字段FlowId,Type,IdCard,ExamCard,StudentName,Location,Grade ...
- 基于C++的学生信息管理系统的实现
在完成一学期的C++语言学习之后,写一个学生信息管理系统来丰富自己的实战经验. 课设内容的要求有主菜单模块.输入模块.查询模块.更新模块.排序模块.统计模块和输出模块,并且通过主菜单模块调用各个子模块 ...
- java web信息管理系统_Java web学生信息管理系统
[实例简介] 基于Jsp&servlet;+JavaBean的学生信息管理系统,实现了学生成绩.课程.教师的管理 [实例截图] [核心代码] Javaweb学生信息管理系统 └── Java ...
- JavaWeb 入门 最简单的学生信息管理系统
最近在学习JavaWeb,整理一下.写了个很简单的学生信息管理系统.系统只包括简单的对学生信息进行增删改查.系统采用三层设计模式. 先展示一下系统的业务处理逻辑图: 逻辑如图所示,获取前端用户交互信息 ...
- JavaWeb之简单的学生信息管理系统(二)
JavaWeb之简单的学生信息管理系统(一) JavaWeb之简单的学生信息管理系统(二) JavaWeb之简单的学生信息管理系统(三) 今日任务:实现学生管理系统的查找和添加功能! 一. 查询学生信 ...
- 基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者没有积分想获取项目,欢迎指教: 企鹅:869192208 文章目录 一.开发背景 二. 需求分析 三.开发环境 四.运行效果 ...
- 基于 Servlet+jsp+mysql 开发 javaWeb 养老院信息管理系统
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者没有积分想获取项目,欢迎指教: 企鹅:869192208 文章目录 一.开发背景 二. 需求分析 三.开发环境 四.运行效果 ...
最新文章
- Happy birthday! Hubble
- new housing price at shanghai
- [SoapUI] Jenkins 配置不同环境(TP, LIVE)
- 在左表或右表的连接字段上建立索引对左、内连接的查询效率的优化情况分析
- jmeter压力测试_用Jmeter实现对接口的压力测试
- Maven学习(六)————企业Maven项目最佳实践
- 线程---生产者消费者问题
- 《Python编程从入门到实践》记录之求模运算符
- 中职计算机专业学Excel,2013年中职计算机应用专业中文Excel电子表格处理实际操作练习.doc...
- Java程序设计24学时轻松掌握_24小时轻松掌握系列——Java程序设计 24学时轻松掌握...
- 快手视频下载和转发工具
- 用HTML和CSS制作简单的静态网页
- 关于GPS定位高德开放平台SDK深度应用
- /usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.8
- python用函数绘制椭圆_Python学习笔记——opencv绘制椭圆
- 微信小程序万里目_微信小程序加盟千万别忘了几个基本要求
- 初识动态规划(一)简单入门动态规划与上手操作
- 解开关于人工智能的六个迷思
- 3D角色 毛发制作 XGen关于导向的基本操作
- Nine Knights