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

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

功能分析:

  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;是常用的图像预处理…

python基础课程3(看代码看注释)--数据库基本操作(mysql)

#人生苦短&#xff0c;我用python #推荐一个python数据结构可视化工具&#xff0c;网址&#xff1a;http://www.pythontutor.com ##课表&#xff1a;1.mysql数据库的基本操作&#xff1b;2.用python操作基本数据库&#xff1b;3.编写python爬虫并保存到数据库###数据库&#xf…

我的Go+语言初体验——(7)Go+ 分数型有理数数据类型

我的Go语言初体验——&#xff08;7&#xff09;Go 分数型有理数数据类型 “我的Go语言初体验” | 征文活动进行中… 更多内容&#xff0c;请参阅&#xff1a; 我的Go语言初体验——&#xff08;7&#xff09;Go 分数型有理数数据类型 Go 语言使用后缀 ‘r’ 表示有理数&…

IDEA包的分层显示

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

python基础课程4(看代码看注释)--爬虫爬取网页信息

#主要用的python库&#xff1a;安装必要的库requests&#xff1a;用来获取页面信息&#xff1b; BeautifulSoup&#xff1a;用来获取页面结构的详细信息 #先获取链接&#xff0c;再到一个列表&#xff0c;进入标签&#xff0c;然后到class。。。。。就可以了&#xff08;省略&a…

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

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

python基础课程5(看代码看注释)--numpy

#人生苦短&#xff0c;我用python #给文件设置配置环境路径&#xff1a;file->Settings->project mylesson->project interpreter #numpy:除了字符串、列表、元组、字典之外还有一种数据结构就是数组&#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;登陆之后会显示所有员工和经理的信息实现对…

python基础课程6(看代码看注释)--pandas

##人生苦短&#xff0c;我用python #pandas ##首先讲讲数据格式&#xff0c;csv文件格式&#xff0c;程序之间表格数据之间的转移&#xff0c;如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本&#xff0c;使用某个字符集&#xff0c;比如ascii&#xff0c;Unicode&a…

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

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

python基础课程7(看代码看注释)--matplotlib作图

##人生苦短&#xff0c;我用python #pandas ##首先讲讲数据格式&#xff0c;csv文件格式&#xff0c;程序之间表格数据之间的转移&#xff0c;如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本&#xff0c;使用某个字符集&#xff0c;比如ascii&#xff0c;Unicode&a…

租车系统

为了资源的节约有效利用&#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;一共有五个核心内容&#…

图像数据集转载

使用的数据集 THCHS30是Dong Wang, Xuewei Zhang, Zhiyong Zhang这几位大神发布的开放语音数据集&#xff0c;可用于开发中文语音识别系统。 为了感谢这几位大神&#xff0c;我是跪在电脑前写的本帖代码。 下载中文语音数据集&#xff08;5G&#xff09;&#xff1a; 1 2 3 …