servlet+jsp+jdbc实现从数据库查询用户信息到页面

工程创建这里就不在累述了,直接从显示User信息列表开始。

备注:我用的是servlet3的注解功能实现的,所以不需要配置web.xml

这是我的工程目录:

首先我们创建实体类:

public class User implements Serializable{
private static final long serialVersionUID = 1L;

public User() {

}
private Integer id;
private String name;
private String age;
private String addrs;

......省略的get和set方法......

}

然后在index.jsp页面中写一个链接如下:<a href="listUser.do">显示用户列表</a>。

然后在src下创建com.servlet.servlet包并创建UserServlet类,

@WebServlet("/listUser.do")//此处使用的是servlet的注解,listUser.do要和index.jsp中的链接保持一致。
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取用户列表
UserService userService=new UserService();//创建UserService对象,
List list=userService.getListAll();
request.setAttribute("list", list);
request.getRequestDispatcher("/jsp/success.jsp").forward(request, response);//跳转到success.jsp页面

}

}

然后在创建对应的UserService类,

public class UserService {
/**
* 查询
* @return
*/
public List<User> getListAll(){
UserDao userDao = new UserDaoImpl();
List list = userDao.getListAll();
return list;
}

}

最后创建UserDao接口和UserDaoImpl实现类

public interface UserDao {
/**
* 获取所有用户
* @return List
*/
List<User> getListAll();

}

public class UserDaoImpl implements UserDao{
/**
* 获取所用用户
*/
@Override
public List<User> getListAll() {
List<User> list=new ArrayList<User>();//创建list集合,用于保持User对象
try {
Connection conn=DBUtil.getConnection();//通过工具类直接调用getConnection方法获取jdbc连接。
String sql="select * from user";
PreparedStatement ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
while(rs.next()){
User user=new User();//创建User对象用于保持从数据看查出来的数据
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setAge(rs.getString(3));
user.setAddrs(rs.getString(4));
list.add(user);
}
} catch (SQLException e) {

e.printStackTrace();
}
return list;
}

}

连接数据库的DBUtils工具类

public class DBUtil {
private static final String URL="jdbc:mysql://localhost:3306/servlet";//数据库名称为servlet
private static final String USER="root";
private static final String PASSWORD="1234";
private static Connection conn=null;
static{
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建连接
conn=DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {

e.printStackTrace();
} catch (SQLException e) {

e.printStackTrace();
}
}
public static Connection getConnection(){

return conn;
}

}

最后我们创建返回用户信息的success.jsp页面

<body>
<table border=1 cellpadding="10" cellspacing="0">
<tr>
<th>id</th>
<th>name</th>
<th>age</th>
<th>addrs</th>
</tr>

<c:forEach items="${list }" var="user">//这里使用的是jstl标签以及el表达式显示用户信息
<tr>
<th>${user.id }</th>
<th>${user.name }</th>
<th>${user.age }</th>
<th>${user.addrs }</th>
</tr>
</c:forEach>

</table>
</body>

最后我们创建对应的数据库以及user数据表,然后添加几条数据,运行下项目。

时间: 2024-11-07 03:31:07

servlet+jsp+jdbc实现从数据库查询用户信息到页面的相关文章

如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参

[前言] 今天来给大家介绍下如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参! 因为我现在所测的系统模块中部分表在不同的数据库中,所以在用JDBC Request查询数据的时候遇到了这么一个跨数据库查询的问题,现在我就来说下我今天使用的办法,希望有不足之处大家多多指导下! 1.首先我们点击测试计划添加配置元件->JDBC Connection Configuration 2.然后我们新建一个线程组A,在线程组A下新建一个JDBC Request

python实现用户登陆(sqlite数据库存储用户信息)

python实现用户登陆(sqlite数据库存储用户信息) 目录 创建数据库 数据库管理 简单登陆 有些地方还未完善. 创建数据库 import sqlite3 #建一个数据库 def create_sql(): sql = sqlite3.connect("user_data.db") sql.execute("""create table if not exists %s( %s integer primary key autoincrement, %

mybatis04 根据用户名称模糊查询用户信息

根据用户名称模糊查询用户信息可能返回多条记录. 1.1.1User.xml 编码

使用mybatis开发Dao的原始方法,实现根据用户id查询一个用户信息 、根据用户名称模糊查询用户信息列表 、添加用户信息等功能

1.需求 将下边的功能实现Dao: 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户信息 2. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类 3.User.xml映射文件的内容为: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "h

IdentityServer4源码解析_5_查询用户信息接口

目录 IdentityServer4源码解析_1_项目结构 IdentityServer4源码解析_2_元数据接口 IdentityServer4源码解析_3_认证接口 IdentityServer4源码解析_4_令牌发放接口 IdentityServer4源码解析_5_查询用户信息接口 [IdentityServer4源码解析_6_结束会话接口] [IdentityServer4源码解析_7_查询令牌信息接口] [IdentityServer4源码解析_8_撤销令牌接口] 协议简析 UserI

oracle查询数据库所有用户信息

看到网上说的查询用户的语句: SELECT * FROM dba_users;这句好像只能系统管理员才能成功执行,普通用户无法执行 SELECT count(*) FROM all_users; , SELECT * FROM USER_USERS;普通用户和系统管理员均可执行 原打算删除创建的一个测试用户,发现这三个dba_users,all_users, user_users都是视图,不能删除,打开all_users视图,查看sql语句,发现他是基于两个表创建的,代码如下: CREATE O

使用JDBC获取各数据库的Meta信息——表以及对应的列

先贴代码,作为草稿: 第一个是工具类, MapUtil.java [java] view plain copy import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.ut

finger 工具:用来查询用户信息,侧重用户家目录、登录SHELL等

finger 工具侧重于用户信息的查询:查询的内容包括用户名(也被称为登录名Login),家目录,用户真实的名字(Name)... ... 办公地址.办公电话:也包括登录终端.写状态.空闭时间等: 我们最常用finger 来查询用户家目录.用户真实名.所用SHELL 类型.以及办公地址和电话,这是以参数 -l 长格式输出的:而修改用户的家目录.真实名字.办公地址及办公电话,我们一般要能过chfn命令进行: 语法格式: finger [参数选项] [用户名] -l 采用长格式(默认),显示由-s选

mysql查询用户信息

查询所有用户的详细信息 [[email protected] ~]# mysql -uroot -p123 -e "select * from mysql.user \G;" *************************** 1. row ***************************                  Host: localhost                  User: root              Password: *23AE809DD