获取数据库内容放入下拉框中

获取数据库里的数据放入下拉框中,使下拉框显示的内容是数据库里的内容

功能分析:

  1. 设计并实现数据库
  2. 插入相关数据
  3. 在登陆页面点击注册按钮时跳到Servlet中
  4. 在Servlet中连接数据库
  5. 查询内容放入session中传给jsp页面
  6. 在jsp页面接受session内容并使用for循环输出

效果图演示

登陆页面
在这里插入图片描述
点击注册按钮之后(下拉框的数据是从SQLServer数据库里获取的数据)
在这里插入图片描述
看了上述演示有没有一点心动的感觉呢???

下面跟随我一起来探究一下代码吧

数据库

(我的数据库名为Select,数据表名为people
数据库内容展示
在这里插入图片描述
在正式看代码之前还是要先看一下**目录结构**的
在这里插入图片描述

代码演示

index.jsp代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><form action="" method="post">账号:<input type="text" name="name"><br>密码:<input type="password" name="pwd"><br><input type="submit" value="登录"><a href="toRegister">注册</a></form></body>
</html>

util包里的DBUtil.java代码

package com.zsh.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class DBUtil {public static Connection getConn(){String url = "jdbc:sqlserver://localhost:1433;databaseName=Select";String user = "sa";String pwd = "1";Connection conn = null;try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn = DriverManager.getConnection(url, user, pwd);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeConn(Connection conn, PreparedStatement ps, ResultSet rs){if(conn!=null){try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(ps!=null){try {ps.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(rs!=null){try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

bean包里的Department.java代码

package com.zsh.bean;public class Department {private int id;private String name;private String mark;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getMark() {return mark;}public void setMark(String mark) {this.mark = mark;}public Department() {super();// TODO Auto-generated constructor stub}public Department(int id, String name, String mark) {super();this.id = id;this.name = name;this.mark = mark;}}

servlet包里的ToRegisterServlet.Java代码

package com.zsh.servlet;import java.io.IOException;
import java.io.PrintWriter;
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 javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.zsh.bean.Department;
import com.zsh.util.DBUtil;public class ToRegisterServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html");Connection conn = DBUtil.getConn();PreparedStatement ps = null;ResultSet rs = null;String sql = "select * from people";List<Department> depts = new ArrayList<Department>();try {ps = conn.prepareStatement(sql);rs = ps.executeQuery();while(rs.next()){Department dept = new Department();dept.setId(rs.getInt(1));dept.setName(rs.getString(2));depts.add(dept);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{DBUtil.closeConn(conn, ps, rs);}HttpSession session = request.getSession();session.setAttribute("deptList", depts);response.sendRedirect("register.jsp");}}

register.jsp代码

<%@page import="com.zsh.bean.Department"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'register.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><form action="register" method="post">部门:<select name="dep"><%List<Department> depts = (List)session.getAttribute("deptList");for(Department dept : depts){%><option value="<%=dept.getId()  %>"><%=dept.getName() %></option><%}%><option></option></select><input type="submit" value="注册"></form></body>
</html>

仔细观看了解上述代码之后快去实现它吧。

获取更多关注我呦!!!

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

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

相关文章

【OpenCV 例程200篇】56. 低通盒式滤波器

【OpenCV 例程200篇】56. 低通盒式滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制&#xff0c;是常用的图像预处理…

数据只读且无法修改

对输入框的数据进行只读不可修改的设置。 功能分析&#xff1a; 无论你是删除增加点击选中等所有操作对输入框的数据无影响&#xff0c;输入框的数据只会是原始的数据不可修改&#xff0c;一切操作无效。 先看效果图&#xff08;数据不可更改&#xff09; 要实现此效果一共有…

【OpenCV 例程200篇】57. 低通高斯滤波器

【OpenCV 例程200篇】57. 低通高斯滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制&#xff0c;是常用的图像预处理…

IDEA包的分层显示

使IDEA的项目和包分层显示&#xff0c;结构更加清晰。 未设置分层显示之前的包结构 设置了分层显示之后的包结构 那么如何设置呢&#xff0c;让我们一起来看看吧&#xff01; 设置包结构分层方法 第一步&#xff08;点击像设置一样的图标出先如下菜单&#xff09; 第二部 …

【OpenCV 例程200篇】58. 非线性滤波—中值滤波

【OpenCV 例程200篇】58. 非线性滤波—中值滤波 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制&#xff0c;是常用的图像…

【OpenCV 例程200篇】59. 非线性滤波—双边滤波

【OpenCV 例程200篇】59. 非线性滤波—双边滤波&#xff08;Bilateral filter&#xff09; 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图…

部门信息管理系统

实现对部门信息的分类管理&#xff0c;对不同部门人员的管理&#xff08;增删改查&#xff09;&#xff0c;新用户的注册和登陆等 功能分析&#xff1a; 实现用户的登陆实现用户的注册&#xff08;注册不同的部门和职位&#xff09;登陆之后会显示所有员工和经理的信息实现对…

【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波

【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波&#xff08;Joint bilateral filter&#xff09; 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件…

租车系统

为了资源的节约有效利用&#xff0c;使车辆发挥更大的作用&#xff0c;我在此做了一个租车系统。 功能分析&#xff1a; 1&#xff1a;登录功能 2&#xff1a;后台管理功能 3&#xff1a;车辆管理功能 4&#xff1a;用户管理功能 5&#xff1a;前台用户功能 6&#xff1a;查看…

【OpenCV 例程200篇】61. 导向滤波(Guided filter)

【OpenCV 例程200篇】61. 导向滤波&#xff08;Guided filter&#xff09; 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑…

使用MATLAB GUI创建图形用户界面GUI

MATLAB是众多理工科学生及工程师经常使用的一款数学软件&#xff0c;除了可以实现数据处理&#xff0c;矩阵运算、函数绘制等功能外&#xff0c;MATLAB还可以实现图形用户界面的设计。 下面介绍如何让小白也能用GUI创建最基本的用户界面&#xff0c;并帮助大家学会在今后的…

【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽

【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 空间域锐化滤波&#xff08;高通滤波&#xff09; 图像模糊通过平滑&#xff08;加权平均&a…

AJAX基本用法

在工作中和一些大项目制作的时候&#xff0c;许多人都会选择使用前后端分离技术即AJAX进行项目的制作&#xff0c;使用AJAX不仅能提高效率而且更容易修改&#xff0c;使我们制作项目的时候更加的得心应手。 在此给大家讲解一下AJAX的用法&#xff0c;一共有五个核心内容&#…

【OpenCV 例程200篇】63. 图像锐化之 Laplacian 算子

【OpenCV 例程200篇】63. 图像锐化之 Laplacian 算子 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 空间域锐化滤波&#xff08;高通滤波&#xff09; 图像模糊通过平滑&#xff08;加权平…

秒表计时器

使用Jquery制作了一个漂亮的秒表计时器。 效果图 原始样式 点击开始之后 点击停止再点击清零之后 有没有一种心动的感觉呢&#xff0c;下面看代码。 代码演示 首先注意哦&#xff1a;引入相对应的Jquery架包。 代码 <!DOCTYPE html> <html><head>&l…

【OpenCV 例程200篇】64. 图像锐化——Sobel 算子

【OpenCV 例程200篇】64. 图像锐化——Sobel 算子 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 空间域锐化滤波&#xff08;高通滤波&#xff09; 图像模糊通过平滑&#xff08;加权平均…

sklearn特征工程

本文转载 使用sklearn做单机特征工程 目录 1 特征工程是什么&#xff1f; 2 数据预处理   2.1 无量纲化     2.1.1 标准化     2.1.2 区间缩放法     2.1.3 标准化与归一化的区别   2.2 对定量特征二值化   2.3 对定性特征哑编码   2.4 缺失值计算   …

秒表倒计时

使用JavaScript实现秒表的倒计时。 我设置的是五分钟倒计时&#xff0c;倒计时时间是可以自己随意设置的。 效果图 代码演示 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><style>…

【OpenCV 例程200篇】65. 图像锐化——Scharr 算子

【OpenCV 例程200篇】65. 图像锐化——Scharr 算子 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 空间域锐化滤波&#xff08;高通滤波&#xff09; 图像模糊通过平滑&#xff08;加权平均…

【转】常用的风控算法模型评价指标

1. 基本概念 FNTPTNFP TP —— True Positive &#xff08;真正, TP&#xff09;被模型预测为正的正样本&#xff1b;可以称作判断为真的正确率 TN —— True Negative&#xff08;真负 , TN&#xff09;被模型预测为负的负样本 &#xff1b;可以称作判断为假的正确率 FP ——…