web项目_学生证管理系统
项目简述:
基于java web实现学生卡管理系统,用户包括学生和学生处,分别实现以下功能。
学生:
1.对本人登录密码的修改
2.申请补办学生卡
3.查看学生卡补办状态
学生处:
1.对学生信息的管理(包括对信息的增删改查)
2.受理学生证的补办申请
3.查询学生证补办记录
一、项目实现思路
在此次javaweb的项目中,我采用mysql数据库对数据进行管理,前端界面采用JSP编写,利用JavaBean实现用户与数据库之间的映射。难点在于实现学生端与学生处端的信息互动,说到底都是利用嵌入式sql语言对mysql数据库的读取、更新与在前端页面显示的问题。编写代码期间,还设置了session变量,将页面中所涉及并且需要利用的用户变量储存在session变量中。
二、数据库设计
该项目基于mysql数据库,在mysql中创建studentcard数据库,并且在studentcard中建立admin(学生处)、student(学生)、apply_info(申请信息)、log(补办日志)四张表。




数据库操作代码:
Connection conn = null;
Statement st = null;
ResultSet rs = null;
public BaseDAO()
{
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/studentcard";// 连接url字符串
String user = "root";// 数据库用户名
String password = "";// 数据库密码
this.conn=DriverManager.getConnection(url,user,password);
this.st=this.conn.createStatement();
this.rs=null;
}catch(Exception ex)
{ex.printStackTrace();
}
}
public String doUpgrade(String sql)
{ //数据库更新操作
try{
if(this.st!=null)
this.st.executeUpdate(sql);
return "";
}catch(Exception ex)
{
ex.printStackTrace();
return ex.getMessage();
}
}
public ResultSet doQuery(String sql)
{ //数据库查询操作
try{
this.rs=this.st.executeQuery(sql);
}catch(Exception ex)
{
ex.printStackTrace();
}
return this.rs;
}
三、功能展示 & 代码
1.登录

//管理员身份验证登录关键代码
sql="select * from admin where id='"+user.getUserId()+"' and password= '"+user.getUserPassword()+"'";
ResultSet rs=db.doQuery(sql);
if( rs.next())
{
String userName = rs.getString("name");
System.out.println("sessionUserName" + userName);
request.getSession().setAttribute("sessionUserId", user.getUserId());
request.getSession().setAttribute("sessionUserName", userName);
user.setPassed(true);
out.print("Success!");
response.sendRedirect("MainIndex.jsp");
}
else
{
out.print("<font color=red>用户名或口令不正确</font><br>");
}
2.查询全部学生信息 & 查询个人学生信息


//查询全部学生信息& 以表格的形式输出 关键代码
ResultSet rs=db.doQuery("select * from student");
out.println("学生信息如下:<br>");
out.println("<table border=1><thead><tr>");
out.println("<th>学号</th><th>姓名</th><th>学院</th><th>专业</th><th>密码</th></tr></thead>");
out.println("<tbody>");
while(rs.next())
{
String id=rs.getString("id");
String un=rs.getString("sname");
String co=rs.getString("college");
String dp=rs.getString("sdept");
String pd=rs.getString("password");
out.println("<tr><td>"+id+"</td>");
out.println("<td>"+un+"</td>");
out.println("<td>"+co+"</td>");
out.println("<td>"+dp+"</td>");
out.println("<td>"+pd+"</td></tr>");
}
out.println("</tbody></table>");
3.学生申请补办学生卡

//学生申请补办学生卡 & 将申请信息插入到apply_info表中
String name=request.getParameter("name");
String id=request.getParameter("id");
String college=request.getParameter("college");
String department=request.getParameter("department");
String userId = session.getAttribute("sessionUserId").toString();
if(name!=null && id!=null && college!=null && department!=null && userId.equals(id))
{ String sql="insert into apply_info(id,sname,college,sdept,state) values("+ "'"+ id+"','"+name+"','"+college+"','"+department+"','"+"未补办"+"')";
//System.out.println(sql);
String rs=db.doUpgrade(sql);
out.print("申请成功");
}
4.学生处受理学生卡补办

//完成补办
String id=request.getParameter("id");
String name = request.getParameter("name");
//System.out.println(id);
if(id != null){
String sql = "update apply_info set state = '补办完成' where id='" + id +"'";
//System.out.println(sql);
String rs1 =db.doUpgrade(sql);
String userId = session.getAttribute("sessionUserId").toString();
String userName = session.getAttribute("sessionUserName").toString();
//System.out.println("userId = "+ userId);
//System.out.println("userUserName = "+ userName);
sql="insert into log(id,name,sid,sname) values("+"'"+userId+"'"+",'"+userName+"','"+id+"','"+name+"')";
//System.out.println(sql);
String rs2 = db.doUpgrade(sql);
response.sendRedirect("Repair.jsp");
sql = "delete from apply_info where state = '补办完成'";
String rs3 = db.doUpgrade(sql);
//response.sendRedirect("Repair.jsp");
}
5.学生查看受理状态

//在apply_info表中读数据并且输出到jsp界面中,只能查看当前用户的受理补办状态
String userId = session.getAttribute("sessionUserId").toString();
System.out.println(userId);
String sql = "select * from apply_info where id = '" + userId+ "'";
ResultSet rs=db.doQuery(sql);
if(rs.next()){
String id=rs.getString("id");
String name=rs.getString("sname");
String college=rs.getString("college");
String department = rs.getString("sdept");
String state = rs.getString("state");
out.print("您的补办信息:<br>");
out.print("........................................................................<br>");
out.print("学号:"+id+"<br/>");
out.print("姓名:"+name+"<br/>");
out.print("学院:"+college+"<br/>");
out.print("专业:" + department + "<br/>");
out.print("状态:" + state + "<br>");
out.print("........................................................................");
}else{
out.print("无申请,你看什么看!");
}
6.学生处查看受理日志

//从log表中读出所有的补办日志输出到JSP页面中
ResultSet rs=db.doQuery("select * from log");
out.println("发放记录如下:<br>");
out.println("..............................................................................................<br>");
while(rs.next())
{
String userId=rs.getString("id");
String userName=rs.getString("name");
String sid=rs.getString("sid");
String sname=rs.getString("sname");
//String pd=rs.getString("password");
out.print("管理员id:" + userId + " " );
out.println("管理员name:" + userName + "<br>");
out.print("学生id:" + sid + " ");
out.println("学生name:" + sname + "<br>");
out.println("............................................................................................." + "<br>" );
}
对于其他的学生信息增、删、改、查功能不在一一赘述,代码部分与上述功能代码相似。
四、项目地址链接
项目链接请点击:Student_Card_System
web项目_学生证管理系统的更多相关文章
- Java Web项目 慧心人力资源管理系统
题目:慧心人力资源管理系统 文档下载:https://download.csdn.net/download/weixin_44893902/16336711 完整项目下载:https://downlo ...
- 第一个Java web项目:员工管理系统
要求: 做一个登陆页面,实现登录,用户名和密码都是admin,登录成功后,用session记录用户名,登录失败,请提示失败原因. 做一个简单的管理系统,实现注册,修改,查询,删除 员工的功能,注册内容 ...
- Java Web项目_部门内部留言板
t_user用户登录数据表 用户登录界面 JSP开发 通过post请求提交给Servlet处理 Servlet处理连接数据库的处理 登陆成功服务器跳转RequestDispatcher到main.js ...
- java web 项目 图书管理系统的设计与实现
java web 项目 图书管理系统的设计与实现
- 简易商品信息管理系统——首个Web项目
正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...
- 【Java Web】简易商品信息管理系统——首个Web项目
正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...
- web项目自定义路由_实现静态资源URL控制
前言: IIS会默认把:图片.JS.HTML.CSS这些文件当成静态资源处理,为了减少服务器压力,默认这些静态资源是不走URL路由规则控制的. 作为小白及初学者,本人对这些了解甚少,补充基础知识吧: ...
- Spring_day01--注入对象类型属性(重点)_P名称空间注入_注入复杂类型属性_IOC和DI区别_Spring整合web项目原理
注入对象类型属性(重点) Action要new一个service对象,Service中又要new一个Dao对象,现在把new的过程交给spring来操作 1 创建service类和dao类 (1)在s ...
- Maven创建web项目:SpringMVC+Mybatis 【转】
IDEA14创建Maven管理的SpringMVC+Mybatis,web项目 项目构建步骤 1.File->New->Project 勾选Create from archetype 点击 ...
随机推荐
- 解决JBoss只能通过localhost访问不能通过IP的问题
前序 现在EJB是真的有点落伍了么,网上找点资料都挺难的样子,而且都是很久的了..好吧,最近对EJB有点兴趣学习一下,结果下载到服务器启动后,居然不能直接通过服务器IP访问,也是醉了,默认只能通过本地 ...
- EntityFramework Code-First 简易教程(二)-------Code First约定
Code First 约定 在前一篇中,我们已经知道了EF Code-First怎样从模型类(domain classes)中创建数据库表,下面,我们开始学习默认的Code-First约定. 什么是约 ...
- JDK5新特性之 可变参数的方法
可变参数的方法:不知道这个方法该定义多少个参数 注意: > 参数实际上是数组 > 必须写在参数列表最后一个 package cn.itcast.day24.varparam; import ...
- WINDOWS SOCKET编程中accept出来的新连接是阻塞还是非阻塞
实践证明 SOCKET hNewSock=accept(hListenSock) 当hListenSock为阻塞模型时,hNewSock则为阻塞模型 否则 当hListenSock为非阻塞模型时,hN ...
- [转]vue全面介绍--全家桶、项目实例
慢慢了解vue及其全家桶的过程 原文http://blog.csdn.net/zhenghao35791/article/details/67639415 简介 “简单却不失优雅,小巧而不乏大匠”. ...
- mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)
最近在公司开发一款微信小程序,按照客户需求用饼状图显示当前设备状态(开机.故障.关机),于是就在网上寻找各种资料,找了很多mpvue使用关于echarts绘制图表,最终功夫不负有心人,找到一篇关于mp ...
- 利用单例模式设计数据库连接Model类
之前在<[php]利用php的构造函数与析构函数编写Mysql数据库查询类>(点击打开链接)写过的Mysql数据库查询类还不够完美,利用<[Java]单例模式>(点击打开链接) ...
- MP实战系列(八)之SpringBoot+Swagger2
SpringBoot一个原则,爱好编程的朋友们都知道,那就是"习惯优于配置". 今天一上来主要说的还是代码,个人比较喜欢来的实战系列的,不过有的时候还是比较偏重于理论,理论是造轮子 ...
- MyBatis之Collection
Collection翻译过来,意为"集合"的意思,既然是集合,肯定是代表多个. MyBatis以其自身,小巧易懂,闻名于JavaEE. 传统的JDBC就不说了,Hibernate记 ...
- 安装 Autoconf, Automake & Libtool
今天在使用sudo apt-get install命令安装autoconf和automake时,出现了问题,说是不能sudo apt-get install安装这些软件似乎不是最新的.由此,我通过搜索 ...