javaweb入门版学生信息管理系统-增删改查+JSP+Jstl+El

news2024/11/27 22:46:01

dao


public class StudentDao {
    QueryRunner queryRunner = QueryRunnerUtils.getQueryRunner();
    //查询全部学生信息
    public List<Student> selectStudent(){
        String sql = "select * from tb_student";
        List<Student> students = null;
        try {
            students =queryRunner.query(sql, new BeanListHandler<>(Student.class));
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return students;
    }
    //根据学生姓名查询信息
    public List<Student> selectName(String username){
        String sql = "select * from tb_student where sname = ? ";
        List<Student> list = null;
        try {
            list = queryRunner.query(sql, new BeanListHandler<>(Student.class), username);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    //添加一条学生信息
    public int insert(String username,int age,String sex,String email){
        int rows = 0;
        String sql = "insert into tb_student(sname,sage,ssex,semail) values(?,?,?,?)";
        try {
            rows = queryRunner.update(sql, username, age, sex, email);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rows;
    }
    //删除一条学生信息
    public int delete(int id){
        String sql = "delete from tb_student where sid = ?";
        int rows = 0;
        try {
            rows = queryRunner.update(sql, id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rows;
    }
    //修改学生信息
    public int update(int id,String username,int age,String sex,String email){
        String sql = "update tb_student set sname=?,sage=?,ssex=?,semail=? where sid = ?";
        int rows = 0;
        try {
            rows = queryRunner.update(sql, username, age, sex, email, id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rows;
    }
}

 

<%@ page import="com.etime.entity.Student" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
    <title>学生信息</title>
</head>
<body>
<div align="center">
    <h1>学生信息</h1>
    <%--添加学生--%>
    <a href="insertStudent.jsp"><button>新增</button></a>
    <%--显示全部学生信息--%>
    <a href="StudentServlet?type=student"><button>查看全部</button></a>
    <%--搜索学生信息--%>
    <form action="StudentServlet" method="get">
        <input type="hidden" name="type" value="selectName">
        <input type="text"  name="selectText" placeholder="请输入要查询的人的姓名"><input type="submit" value="搜索">
    </form>
    <%--展示学生信息--%>
    <table border="2" cellpadding="0" cellspacing="0" align="center">
        <tr></tr>
        <tr>
            <th>学号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>性别</th>
            <th>邮箱</th>
            <th>操作</th>
        </tr>
        <%-- 优化版--%>
        <c:forEach var="stu" items="${list}">
            <tr>
                <td>${stu.sid}</td>
                <td>${stu.sname}</td>
                <td>${stu.sage}</td>
                <td>${stu.ssex}</td>
                <td>${stu.semail}</td>
                <td>
                    <a href="updateStudent.jsp?id=${stu.sid}&name=${stu.sname}&age=${stu.sage}&sex=${stu.ssex}&email=${stu.semail}">
                        <input type="button" value="修改"></a>
                    <a href="StudentServlet?type=delete&id=${stu.sid}">
                        <input type="button" value="删除"></a>
                </td>
            </tr>
        </c:forEach>
    </table>
    <a href="PaginationServlet?type=first"><button>首页</button></a>
    <a href="">上一页</a>
    1/12
    <a href="">下一页</a>
    <a href="PaginationServlet?type=last">尾页</a>
</div>
</body>
</html>

 servlet

package com.etime.servlet;

import com.etime.dao.StudentDao;
import com.etime.entity.Student;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

@WebServlet(name = "StudentServlet", value = "/StudentServlet")
public class StudentServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //防止乱码
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        String type = request.getParameter("type");
        //获取学生数据
        StudentDao studentDao = new StudentDao();
        if ("student".equals(type)) {
            List<Student> studentList = studentDao.selectStudent();
            request.setAttribute("list", studentList);
            request.getRequestDispatcher("showStudent.jsp").forward(request, response);
            //获取字符流,将数据显示出来
            /* PrintWriter writer = response.getWriter();
            writer.print("<h1>学生信息</h1>");
            for (Student student : studentList) {
                writer.println(student + "<br>");
            }
            writer.close();*/
        } else if ("selectName".equals(type)) {
            String selectText = request.getParameter("selectText");
            List<Student> list = studentDao.selectName(selectText);
            request.setAttribute("list", list);
            request.getRequestDispatcher("showStudent.jsp").forward(request, response);
        } else if ("insertStudent".equals(type)) {
            String name = request.getParameter("name");
            int age = Integer.parseInt(request.getParameter("age"));
            String sex = request.getParameter("sex");
            String email = request.getParameter("email");
            int i = studentDao.insert(name, age, sex, email);
            if (i != 0) {
                request.setAttribute("state", "添加成功!");
                request.getRequestDispatcher("index.jsp").forward(request, response);
                //response.sendRedirect("showStudent.jsp");
            } else {
                request.setAttribute("state", "添加失败!");
                request.getRequestDispatcher("index.jsp").forward(request, response);
                //response.sendRedirect("insertStudent.jsp");
            }
        } else if ("delete".equals(type)) {
            int id = Integer.parseInt(request.getParameter("id"));
            int i = studentDao.delete(id);
            if (i != 0) {
                request.setAttribute("state", "删除成功!");
                request.getRequestDispatcher("index.jsp").forward(request, response);
            } else {
                request.setAttribute("state", "删除失败");
                request.getRequestDispatcher("index.jsp").forward(request, response);
            }
        } else if ("newUpdate".equals(type)){
            String name = request.getParameter("name");
            //int age = Integer.parseInt(request.getParameter("age"));
            String age = request.getParameter("age");
            String sex = request.getParameter("sex");
            String email = request.getParameter("email");
            int id = Integer.parseInt(request.getParameter("id"));
            int i = studentDao.update(id, name, Integer.parseInt(age), sex, email);
            if (i != 0) {
                request.setAttribute("state", "修改成功!");
                request.getRequestDispatcher("index.jsp").forward(request, response);
            } else {
                request.setAttribute("state", "修改失败!");
                request.getRequestDispatcher("index.jsp").forward(request, response);
            }
        }

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

部分。。。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/968643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习笔记之最优化理论与方法(五)凸优化问题(上)

机器学习笔记之最优化理论与方法——凸优化问题[上] 引言凸优化问题的基本定义凸优化定义&#xff1a;示例 凸优化与非凸优化问题的区分局部最优解即全局最优解凸优化问题的最优性条件几种特殊凸问题的最优性条件无约束凸优化等式约束凸优化非负约束凸优化 引言 本节将介绍凸优…

Swift 技术 视频播放器滚动条(源码)

一直觉得自己写的不是技术&#xff0c;而是情怀&#xff0c;一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的&#xff0c;希望我的这条路能让你们少走弯路&#xff0c;希望我能帮你们抹去知识的蒙尘&#xff0c;希望我能帮你们理清知识的脉络&#xff0…

数学建模--非多项式拟合法的Python实现

目录 1.算法异同区别 2.算法核心步骤 3.算法核心代码 4.算法效果展示 1.算法异同区别 #*************************************************************************************************************# 方法区别探究 1.对于多项式拟合你需要大致知道这些点的分布&#xf…

对Excel表中归类的文件夹进行自动分类

首先把excel表另存为.txt文件&#xff08;注意&#xff1a;刚开始可能是ANSI格式&#xff0c;需要转成UTF-8格式&#xff09;&#xff1b;再新建一个.txt文件&#xff0c;重命名成.bat文件(注意&#xff1a;直接创建的如果是是UTF-8格式&#xff0c;最好转成ANSI格式&#xff0…

WEBGL(5):绘制线

1 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …

零基础教程:使用yolov8训练自己的目标检测数据集

1.前言 Ultralytics YOLOv8 是一款前沿、最先进&#xff08;SOTA&#xff09;的模型&#xff0c;基于先前 YOLO 版本的成功&#xff0c;引入了新功能和改进&#xff0c;进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用&#xff0c;使其成为各种物体检测与跟踪、实例…

1782_Adobe Reader X实现pdf分页保存

全部学习汇总&#xff1a; GitHub - GreyZhang/windows_skills: some skills when using windows system. 看了一本pdf电子书&#xff0c;觉得其中几页很值得分享。如果分享整本书当然是不错的选择&#xff0c;但是分享整本书很可能会导致一个结局——内容太多别人不会去看&…

rz命令无法正常使用?

使用rz命令上传文件时出现如下问题&#xff1a; 这里用的是mobaxterm终端 改用xshell,secureCRT即可正常使用&#xff1a;

Ubutnu允许ssh连接使用root与密码登录

文章目录 1. 修改sshd_config2. 设置root密码3. 重启SSH服务 1. 修改sshd_config 修改/etc/ssh/sshd_config文件&#xff0c;找到 #Authentication&#xff0c;将 PermitRootLogin 参数修改为 yes。如果 PermitRootLogin 参数被注释&#xff0c;请去掉首行的注释符号&#xff…

人大金仓国产数据库在线下载体验测试版本安装方法

在线下载人大金仓数据库体验测试版本方法 下载地址如下&#xff1a; https://www.kingbase.com.cn/rjcxxz/index.htm #下载windows版本地址参考 https://blog.csdn.net/qq_57052445/article/details/130427207https://www.kingbase.com.cn/sqwjxz/index.htm此处需要下载获取…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍

文章目录 openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍59.1 数据库59.2 表空间59.3 模式59.4 用户和角色59.5 事务管理 openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍 59.1 数据库 数据库用于管理各类数据对象&#xff0c;与其他数据库隔离。创建数据…

1781_通用型归并排序函数的C语言实现

全部学习汇总&#xff1a; GitHub - GreyZhang/c_basic: little bits of c. 近期在学习C语言数据结构&#xff0c;看到了排序。我看得是一本国外的书籍&#xff0c;直接网上寻找到的一个英文版。内容比较简洁&#xff0c;讲解也算是调理清晰。 关于排序算法&#xff0c;书中只…

DT vray(焦散 间接照明 图像照明)

折射属性 焦散 材质覆盖 基于图像的照明 双面材质 间接照明 开启GI 光子映射 边上 Irradiance Maps 渲染平滑几何体

项目文章 |首次发现太平洋亚历山大藻(甲藻)快速生长中H3K4me3修饰

发表单位&#xff1a;中国海洋大学海洋遗传育种教育部重点实验室 发表日期&#xff1a;2022年11月30日 期刊 &#xff1a;Frontiers in Marine Science &#xff08;IF2022: 5.247&#xff09; 2022年11月30日中国海洋大学海洋遗传育种教育部重点实验室在Frontiers in Marin…

java八股文面试[多线程]—— as-if-serial

什么是as-if-serial 我不管你编译器和执行器怎么处理指令&#xff0c;怎样的进行指令重排&#xff0c;我要求的单线程所执行的结果不能受影响&#xff0c;我不管你年轻时候犯了什么错&#xff0c;你在人生的过程是怎样来的&#xff0c;我只管你结果是不是成功的。在计算机中&a…

Linux系统中调试GDB调试方法入门分享

本篇讲解使用GDB调试Linux应用程序&#xff0c;以下以 hellowld.c 为例介绍 GDB 的调试入门&#xff1a; 编写代码 #include <stdio.h>int main(int argc, char **argv) {int i;int result 0;if(1 > argc){printf("Helloworld.\n");}printf("Hello W…

DEtection TRansformer (DETR) 与 You Only Look Once (YOLO)

曾经想过计算机如何分析图像&#xff0c;识别并定位其中的物体吗&#xff1f;这正是计算机视觉领域的目标检测所完成的任务。DEtection TRansformer&#xff08;DETR&#xff09;和You Only Look Once&#xff08;YOLO&#xff09;是目标检测的两种重要方法。YOLO已经赢得了作为…

Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法

文章目录 环境说明必要配置一、Pangolin源码和库文件下载依赖安装和编译安装 二、Eigen3源码和库文件下载编译安装 三、Opencv源码和库文件下载编译安装 四、DBoW2 和 g2o五、boost源码和库文件下载编译安装 六、libssl-dev七、ORB-SLAM3源码和库文件下载编译安装 数据集测试参…

Python 字典排序超级简单

再Python中不可避免地要对字典进行排序&#xff0c;有时候字典里放着还是数组&#xff0c;对数组的某个位置元素进行排序&#xff0c;这样有点不容易 转换下思路&#xff0c;可以将字典放在Pandas中的DataFrame中&#xff0c;这样就可以迅速排序了。 import pandas as pd# 原…