JSP学生信息管理系统
作者:岑泉鄅 发布时间:2024-03-20 22:28:27
标签:JSP,管理系统,信息管理
本文实例为大家分享了JSP学生信息管理系统源码,JSP+Servlet+Javabean+JDBC+MySQL,供大家参考,具体内容如下
1.service层,进行数据库操作
package com.service;
/**
* 负责学生信息的所有数据库操作,增删改查
*/
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.model.stuInfo;
public class stuInfoService {
private Connection conn;
private PreparedStatement pstmt;//执行sql语句
public stuInfoService() {
conn = new com.conn.conn().getCon();
}
public boolean addStu(stuInfo stu) {//插入学生数据
try {
pstmt = conn.prepareStatement("insert into studentinfo"
+ "(Nickname,truename,sex,birthday,major,course,interest,remark) "
+ "values(?,?,?,?,?,?,?,?)");
pstmt.setString(1, stu.getNickname());
pstmt.setString(2, stu.getTruename());
pstmt.setByte(3, stu.getSex());
pstmt.setString(4, stu.getbirthday());
pstmt.setString(5, stu.getmajor());
pstmt.setString(6, stu.getcourses());
pstmt.setString(7, stu.getinterests());
pstmt.setString(8, stu.getremark());
pstmt.executeUpdate();
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
//查询所哟学生信息
public List<stuInfo> queryAllStu() {//查询学生数据
List<stuInfo> stus = new ArrayList<stuInfo>();//每一个学生的信息作为list集合的每一个元素存储在list集合中
try {
pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNickname(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setSex(rs.getByte(4));
if (rs.getDate(5) != null)
stu.setbirthday(rs.getDate(5).toString());
stu.setmajor(rs.getString(6));
if (rs.getString(7) != null)
stu.setcourse(rs.getString(7).split("&"));
if (rs.getString(8) != null)
stu.setinterest(rs.getString(8).split("&"));
stu.setremark(rs.getString(9));
stus.add(stu);
}
return stus;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
//查询单个学生信息
public stuInfo queryStubyID(int id) {
// List stus = new ArrayList();
try {
pstmt = conn
.prepareStatement("select * from studentinfo where id=?");
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNickname(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setSex(rs.getByte(4));
if (rs.getDate(5) != null)
stu.setbirthday(rs.getDate(5).toString());
stu.setmajor(rs.getString(6));
if (rs.getString(7) != null)
stu.setcourse(rs.getString(7).split("&"));
if (rs.getString(8) != null)
stu.setinterest(rs.getString(8).split("&"));
stu.setremark(rs.getString(9));
// stus.add(stu);
return stu;
}
return null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
//更新学生信息
public boolean updateStu(stuInfo stu) {
try {
pstmt = conn
.prepareStatement("update studentinfo set Nickname=? , truename=? , sex=? ,birthday=? ,"
+ " major=? ,course=? , interest=?, remark=? where id=?");
pstmt.setString(1, stu.getNickname());
pstmt.setString(2, stu.getTruename());
pstmt.setByte(3, stu.getSex());
pstmt.setString(4, stu.getbirthday());
pstmt.setString(5, stu.getmajor());
pstmt.setString(6, stu.getcourses());
pstmt.setString(7, stu.getinterests());
pstmt.setString(8, stu.getremark());
pstmt.setInt(9, stu.getId());
pstmt.executeUpdate();
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
//删除学生信息
public Boolean deleteStu(int id) {
try {
pstmt = conn.prepareStatement("delete from studentinfo where id=?");
pstmt.setInt(1, id);
pstmt.executeUpdate();
return true;
} catch (Exception e) {
e.getStackTrace();
return false;
}
}
}
2.InputStuInfoServlet,添加学生信息的Servlet
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.model.stuInfo;
import com.service.stuInfoService;
public class inputStuInfoServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public inputStuInfoServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");//get到表单所有的控件的值
String nickname=request.getParameter("nickname");
String truename=request.getParameter("truename");
byte sex=Byte.parseByte(request.getParameter("sex"));
String birthday=request.getParameter("birthday");
String major=request.getParameter("major");
System.out.println(major);
//String course=request.getParameter("course");
String courses[]=request.getParameterValues("course");
String interests[]=request.getParameterValues("interest");
String remark=request.getParameter("remark");
//放到Javabean中暂时保存
stuInfo stu=new stuInfo();
stu.setNickname(nickname);
stu.setTruename(truename);
stu.setbirthday(birthday);
if(birthday.equals(""))
stu.setbirthday(null);
if(courses!=null)
stu.setcourse(courses);
if(interests!=null)
stu.setinterest(interests);
stu.setremark(remark);
stu.setmajor(major);
stu.setSex(sex);
if(new stuInfoService().addStu(stu))//插入学生数据的方法
response.sendRedirect("../inputStuInfo_success.jsp");
else
response.sendRedirect("../inputStuInfo.jsp");//插入数据库失败则返回初始输入页面
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
3.stuInfo,保存学生信息的Javabean
package com.model;
//Javabean相当于是一个中间件,用于类与类之间,各层之间的中转数据的一个中转站
public class stuInfo {
private int id;
private String nickname;
private String truename;
private byte sex;
private String birthday;
private String major;
private String[] course = { "" };
private String courses = "";
private String[] interest = { "" };
private String interests = "";
private String remark;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getTruename() {
return truename;
}
public void setTruename(String truename) {
this.truename = truename;
}
public byte getSex() {
return sex;
}
public void setSex(byte sex) {
this.sex = sex;
}
public String getbirthday() {
return birthday;
}
public void setbirthday(String birthday) {
this.birthday = birthday;
}
public String getmajor() {
return major;
}
public void setmajor(String major) {
this.major = major;
}
public String[] getcourse() {
return course;
}
public void setcourse(String[] course) {
this.course = course;
}
public String getcourses() {
if(course!=null)
{courses="";
for(int i=0;i<course.length;i++)
courses+=course[i]+"&";
}
courses=courses.substring(0,courses.length()-1);
return courses;
}
public void setcourses(String courses) {
this.courses = courses;
}
public String[] getinterest() {
return interest;
}
public void setinterest(String[] interest) {
this.interest = interest;
}
public String getinterests() {
if(interest!=null)
{interests="";
for(int i=0;i<interest.length;i++)
interests+=interest[i]+"&";
}
interests=interests.substring(0,interests.length()-1);
return interests;
}
public void setinterests(String interests) {
this.interests = interests;
}
public String getremark() {
return remark;
}
public void setremark(String remark) {
this.remark = remark;
}
}
4.DB connect 类
package com.conn;
import java.sql.Connection;
import java.sql.DriverManager;
public class conn {
public Connection getCon() {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/Stu_info_System?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn.getMetaData().getURL());
return conn;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
0
投稿
猜你喜欢
- 尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有
- 数据库连接池概念:其实就是一个容器(集合),存放数据库连接的容器。概念:其实就是一个容器(集合),存放数据库连接的容器。 &n
- 前面我讲解了如何将树莓派(Raspberry Pi)打造成无线路由,感觉每次通过命令ssh管理显麻烦,于是自己动手编写Web界面,主要是使用
- 用新云还不是很熟,一点点学习中。今天遇到一个文章列表前有小圆点的问题,把去除方法记一下。文章列表前有小圆点有这么几种情况:1、li的默认样式
- 这是一款非常轻量级的纯原生JS的瀑布流插件——Macy.js,如今图片和视频网站非常多,非常适应瀑布流这样的布局方式来呈现给用户。这款流布局
- Python2.7: 使用Pyhook模块监听鼠标键盘事件-获取坐标。因该模块对Python3 有兼容性问题,故采用python2.7解释器
- 1、变量的定义定义变量语法格式:variable_name = variable_namevariable_name表示变量名;variab
- 环境:主服务器:centos 5.2 mysql 5.1.35 源码 IP:192.168.1.22从服务器:centos 5.2 mysq
- 从三个方面来说,主要有方面的措施:对象的引用计数机制、垃圾回收机制、内存池机制。一、对象的引用计数机制Python内部使用引用计数,来保持追
- 前言本文主要使用 cpu 版本的 tensorflow 2.4 版本完成文本的 word embedding 训练,并且以此为基础完成影评文
- 最近我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的 MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇
- opencv中也提供了一种类似于Keras的神经网络,即为ann,这种神经网络的使用方法与Keras的很接近。关于mnist数据的解析,读者
- 参考项目描述Python 标准库DougHellmann 著 / 刘炽 等 译搜索引擎BingPyt
- 在自然语言处理(NLP)领域,文本相似度计算是一个常见的任务。本文将介绍如何使用Python计算文本之间的相似度,涵盖了余弦相似度、Jacc
- 参考: Smashing magzine翻译+整理: Demix当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节。然而代码并不是马
- 一、Beautiful Soup的安装Beautiful Soup是Python的一个HTML或XML的解析库,使用它可以很方便地从网页中提
- 本文实例讲述了Python常见MongoDB数据库操作。分享给大家供大家参考,具体如下:MongoDB 是一个基于分布式文件存储的数据库。由
- 一般而言,有两种连接sql server 的方式,一是利用 sql server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;
- 本文实例讲述了Python求导数的方法。分享给大家供大家参考。具体实现方法如下:def func(coeff): sum=
- python 实现pacs功能 推送下拉影像dcmtk关联pacs技术笔记:简介1、dcmtk关联pacs的参数介绍2、dcmtk命令介绍3