热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【JAVA程序设计】(C00086)基于Servlet+jsp的学生信息管理系统

基于Servletjsp的学生信息管理系统项目简介项目获取开发环境项目技术相关代码运行截图项目简介基于Servletjsp的学生信息管理系统;功能简单,



基于Servlet+jsp的学生信息管理系统


  • 项目简介
  • 项目获取
  • 开发环境
  • 项目技术
  • 相关代码
  • 运行截图


项目简介

基于Servlet+jsp的学生信息管理系统;
功能简单,适合学习以及大作业等,jsp页面,form表单提交数据
学生登录注册,增改查相关信息
使用MVC设计模式开发

项目获取

源码获取地址


开发环境

运行环境:推荐jdk1.8;
开发工具:eclipse以及idea(推荐);
操作系统:windows 10 8G内存以上(其他windows以及macOS支持,但不推荐);
浏览器:Firefox(推荐)、Google Chrome(推荐)、Edge;
数据库:MySQL8.0(推荐)及其他版本(支持,但容易异常尤其MySQL5.7(不含)以下版本);
数据库可视化工具:Navicat Premium 15(推荐)以及其他Navicat版本
是否maven项目:否

项目技术

后端:mysql、jdbc、servlet
前端:jsp

相关代码
  • 实体类(Student.java)

package bean;
public class Student {
private int id; //主键
private String username;//用户名
private String password;//密码
private String sno; //学号
private String sex; //性别
private String age; //年龄
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}

  • dao层(StudentDao.java)

package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import bean.Student;
import util.DBUtil;
public class StudentDao {
public String login(String username,String password, HttpServletRequest request){
String sql = "select * from student where username='"+username+"'";
Connection conn = DBUtil.getConn();
Statement state = null;
ResultSet rs = null;
Student user = new Student();
Boolean flag = false;
try {
state = conn.createStatement();
rs = state.executeQuery(sql);
while(rs.next())
{
flag = true;
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(state, conn);
}
if(!flag){
return "用户名不存在";
}else{
if(user.getPassword().equals(password)){
//存到session中
request.getSession().setAttribute("userinfo", user);
return "验证成功";

}else{
return "密码错误";
}
}
}
/**
* 新增
*/

public boolean insert(Student user){
boolean f = false;
String sql = "insert into student(username,password,sno,sex,age) values('"+user.getUsername()+"'"
+ ",'"+user.getPassword()+"','"+user.getSno()+"','"+user.getSex()+"','"+user.getAge()+"')";

Connection conn = DBUtil.getConn();
Statement state = null;
int a = 0;
try {
state = conn.createStatement();
System.out.println(sql);
a = state.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(state, conn);
}
if (a > 0) {
f = true;
}
return f;
}

/**
* 单个通过id查询
*/

public Student getDrugById(Integer id){
Student d = new Student();
String sql = "select * from student where id="+id;

Connection conn = DBUtil.getConn();
Statement state = null;
ResultSet rs = null;
try {
state = conn.createStatement();
rs = state.executeQuery(sql);
while(rs.next())
{
d.setId(rs.getInt("id"));
d.setAge(rs.getString("age"));
d.setSex(rs.getString("sex"));
d.setPassword(rs.getString("password"));
d.setUsername(rs.getString("username"));
d.setSno(rs.getString("sno"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(state, conn);
}
return d;
}

/**
* 修改*/

public boolean update(String []strlist,String []strlist1,Integer id) {
String sql = "update student set ";
for(int i&#61;0;i<strlist.length;i&#43;&#43;)
{
if(i!&#61;strlist.length-1)
sql&#43;&#61;strlist[i]&#43;"&#61;&#39;" &#43; strlist1[i] &#43; "&#39;,";
else sql&#43;&#61;strlist[i]&#43;"&#61;&#39;" &#43; strlist1[i] &#43; "&#39; where id&#61;" &#43; id &#43; "";
}
Connection conn &#61; DBUtil.getConn();
Statement state &#61; null;
boolean f &#61; false;
int a &#61; 0;
try {
state &#61; conn.createStatement();
a &#61; state.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(state, conn);
}

if (a > 0) {
f &#61; true;
}
return f;
}

/**
* 查找所有
*/

public List<Student> getAllByPage(){
List<Student> list &#61; new ArrayList<>();
String sql &#61; "select * from student ";

Connection conn &#61; DBUtil.getConn();
Statement state &#61; null;
ResultSet rs &#61; null;
try {
state &#61; conn.createStatement();
rs &#61; state.executeQuery(sql);
while(rs.next())
{
Student d &#61; new Student();
d.setId(rs.getInt("id"));
d.setAge(rs.getString("age"));
d.setSex(rs.getString("sex"));
d.setPassword(rs.getString("password"));
d.setUsername(rs.getString("username"));
d.setSno(rs.getString("sno"));
list.add(d);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(state, conn);
}
return list;
}
}

运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述






推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
author-avatar
多米音乐_34053121
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有