javaweb入门版学生信息管理系统-增删改查+JSP+Jstl+El
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 {@Overrideprotected 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);}}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
}
部分。。。
相关文章:

javaweb入门版学生信息管理系统-增删改查+JSP+Jstl+El
dao public class StudentDao {QueryRunner queryRunner QueryRunnerUtils.getQueryRunner();//查询全部学生信息public List<Student> selectStudent(){String sql "select * from tb_student";List<Student> students null;try {students queryRunn…...

云原生Kubernetes:K8S概述
目录 一、理论 1.云原生 2.K8S 3.k8s集群架构与组件 二、总结 一、理论 1.云原生 (1)概念 云原生是一种基于容器、微服务和自动化运维的软件开发和部署方法。它可以使应用程序更加高效、可靠和可扩展,适用于各种不同的云平台。 如果…...

nmap的使用
目录 nmap简介 主要作用 nmap原理 namp使用 options nmap列举远程机器开放端口 普通扫描 扫描范围端口 对几个端口探测 对所有端口进行探测 指定协议探测端口 扫描对应协议的所有端口 端口状态 nmap识别目标机器上服务的指纹 服务指纹 识别目标机器服务信息 …...

Python爬虫-某网酒店数据
前言 本文是该专栏的第5篇,后面会持续分享python爬虫案例干货,记得关注。 本文以某网的酒店数据为例,实现根据目标城市获取酒店数据。具体思路和方法跟着笔者直接往下看正文详细内容。(附带完整代码) 正文 地址:aHR0cHM6Ly93d3cuYnRoaG90ZWxzLmNvbS9saXN0L3NoYW5naGFp …...
了解atoi和offsetof
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 一、简介 二、深度剖析 1.atoi 2.offsetof 三、应用场景 一、简介二、深度剖析 1.atoi2.offsetof三、应用场景 一、简介 在C语言中,有许多…...

命令行编译VS工程
先输入以下命令,因为命令出错了,就会弹出帮助,如下: "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /help 反正就是Microsoft Visual Studio 的安装路径。 帮助界面如下:…...
Linux防火墙命令
开启防火墙 systemctl start firewalld关闭防火墙 systemctl stop firewalld # 暂时关闭防火墙 systemctl disable firewalld # 永久关闭防火墙(禁用开机自启) systemctl enable firewalld # 永久开启防火墙(启用开机自启)重启防火墙 systemctl restart firewalld重载规则 …...

大数据平台数据脱敏是什么意思?有哪些方案?
大数据平台包含了海量多样化数据,所以保障大数据平台数据安全非常重要,数据脱敏就是手段之一。今天我们就来简单聊聊大数据平台数据脱敏是什么意思?有哪些方案? 大数据平台数据脱敏是什么意思? 大数据平台数据脱敏简…...
前后端分离不存在会话,sessionid不一致问题
目录 1.使用拦截器解决跨域的示例: 2.使用redis,不使用session 前后端不分离项目我们可以通过session存储数据,但是前后端分离时不存在会话,每次请求sessionid都会改变,当值我们储存的数据不能取出来。 1.使用拦截器…...
Python 3+ 安装及pip配置
Python 3 安装及pip安装升级 1. 安装Python依赖2. 在Linux服务器下载3. 创建python链接4. 配置pip 服务器环境:Linux CentOS 7 内核版本3.10 Python版本:3.10.6 由于CentOS 7默认安装python2.7,使用yum可以查到最新的python3版本为3.6.8&…...
StarRocks入门到熟练
1、部署 1.1、注意事项 需要根据业务需求设计严谨的集群架构,一般来说,需要注意以下几项: 1.1.1、FE数量及高可用 FE的Follower要求为奇数个,且并不建议部署太多,通常我们推荐部署1个或3个Follower。在三个Followe…...
Zabbix Api监控项值推送:zabbix_sender
用法示例: zabbix_sender [-v] -z server [-p port] [-I IP-address] [-t timeout] -s host -k key -o value其中: -z 即 --zabbix-server,Zabbix server的主机名或IP地址。如果主机由proxy监控,则应使用proxy的主机名或IP地址-…...
Shell脚本开发:printf和test命令的实际应用
目录 Shell printf 命令 打印简单文本 Shell test 命令 1、文件测试 2、字符串比较 3、整数比较 逻辑运算: Shell printf 命令 当你使用Shell中的printf命令时,它可以帮助你格式化和输出文本。 打印简单文本 这将简单地打印字符串"Hello, …...

React笔记(三)类组件(1)
一、组件的概念 使用组件方式进行编程,可以提高开发效率,提高组件的复用性、提高代码的可维护性和可扩展性 React定义组件的方式有两种 类组件:React16.8版本之前几乎React使用都是类组件 函数组件:React16.8之后,函数式组件使…...
Hugging Face实战-系列教程4:padding与attention_mask
🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在notebook中进行 本篇文章配套的代码资源已经上传 上篇内容: Hugging Face实战-系列教程3:文本2分类 下篇内容: …...

睿趣科技:抖音开网店卖玩具怎么样
近年来,随着社交媒体平台的飞速发展,抖音作为一款短视频分享应用也迅速崭露头角。而在这个充满创业机遇的时代背景下,许多人开始探索在抖音平台上开设网店,尤其是卖玩具类商品,那么抖音开网店卖玩具究竟怎么样呢? 首先…...

简易虚拟培训系统-UI控件的应用4
目录 Slider组件的常用参数 示例-使用Slider控制主轴 示例-Slider控制溜板箱的移动 本文以操作面板为例,介绍使用Slider控件控制开关和速度。 Slider组件的常用参数 Slider组件下面包含了3个子节点,都是Image组件,负责Slider的背景、填充区…...

#include <graphics.h> #include <conio.h> #include<stdlib.h>无法打开源文件解决方案
一、问题描述 学习数据结构链表的过程中,在编写漫天星星闪烁的代码时,遇到了如下图所示的报错,#include <graphics.h> 、 #include <conio.h> 等无法打开源文件。 并且主程序中initgraph(初始化画布)、setfillcolor(…...
【C语言】数据结构的基本概念与评价算法的指标
1. 数据结构的基本概念 1.1 基本概念和术语 1.1.1 数据 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料 1.1.2 数据元素 数据元素是数据的基本单位,通常作为一个整体进行考虑和…...

[PyTorch][chapter 54][Variational Auto-Encoder 实战]
前言: 这里主要实现: Variational Autoencoders (VAEs) 变分自动编码器 其训练效果如下 训练的过程中要注意调节forward 中的kle ,调参。 整个工程两个文件: vae.py main.py 目录: vae main 一 vae 文件名: vae…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...