admin管理员组文章数量:1442255
JavaWeb后端入门案例三—查询数据库信息并显示到JSP
1. 案例分析
提前创建一个数据库,通过Servlet查询数据库信息并将结果返回jsp页面
代码语言:javascript代码运行次数:0运行复制create database web04_student;
use web04_student;
create table student(
sid int primary key auto_increment,
sname varchar(20),
sex varchar(10),
age int
);
insert into student values (null,'张三','男',20);
insert into student values (null,'李四','女',23);
insert into student values (null,'王五','女',18);
insert into student values (null,'赵六','男',25);
insert into student values (null,'冰冰','男',21);
2.流程
2.1 导入jar包
2.2 引入c3p0-config.xml文件(代码略)
2.3 创建包结构
2.4 引入JDBCUtils.java
代码语言:javascript代码运行次数:0运行复制package cn.wuter.utils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* JDBC的工具类
* @author jt
*
*/
public class JDBCUtils {
// 创建一个连接池:但是这个连接池只需要创建一次即可。
private static final ComboPooledDataSource dataSource = new ComboPooledDataSource();
/**
* 获得连接的方法
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
}
/**
* 获得连接池:
*/
public static DataSource getDataSource(){
return dataSource;
}
}
2.5 创建Student.java
实体类
代码语言:javascript代码运行次数:0运行复制package cn.wuter.domain;
public class Student {
private Integer sid;
private String sname;
private String sex;
private Integer age;
public Integer getSid() {
return sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
2.6 创建查询方法StudentModel.java
代码语言:javascript代码运行次数:0运行复制package cn.wuter.model;
import java.sql.SQLException;
import java.util.List;
import org.apachemons.dbutils.QueryRunner;
import org.apachemons.dbutils.handlers.BeanListHandler;
import cn.wuter.domain.Student;
import cn.wuter.utils.JDBCUtils;
/**
* 处理数据的Java类
* */
public class StudentModel {
//查询所有学生信息的方法
public List<Student> findAll() throws SQLException {
QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
List<Student> list = queryRunner.query("select * from student", new BeanListHandler<Student>(Student.class));
return list;
}
}
2.6 创建核心ServletStudentServlet.java
代码语言:javascript代码运行次数:0运行复制package cn.wuter.controller;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.wuter.domain.Student;
import cn.wuter.model.StudentModel;
/**
* 查询学生信息的Servlet
*/
public class StudentServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
//1.调用Java类处理数据
StudentModel studentModel = new StudentModel();
List<Student> list = studentModel.findAll();
//2.显示到JSP页面
request.setAttribute("list", list);
request.getRequestDispatcher("/jsp/list.jsp").forward(request, response);
// request.getSession().setAttribute("list", list);
// response.sendRedirect("/web04_student/jsp/list.jsp");
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
2.7 创建前台页面index.html
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>学生信息查询简单案例</h1>
<h2><a href="./StudentServlet">点击查询并跳转到结果页</a></h2>
</body>
</html>
2.8 创建查询结果页list.jsp
代码语言:javascript代码运行次数:0运行复制<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="; prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>学生信息显示页面</h1>
<table border="1" width="500">
<tr>
<td>学生编号</td>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
</tr>
<c:forEach var="student" items="${list }">
<tr>
<td>${student.sid }</td>
<td>${student.sname }</td>
<td>${student.sex }</td>
<td>${student.age }</td>
</tr>
</c:forEach>
</table>
</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2021-04-23 ,如有侵权请联系 cloudcommunity@tencent 删除jspimport后端入门数据本文标签: JavaWeb后端入门案例三查询数据库信息并显示到JSP
版权声明:本文标题:JavaWeb后端入门案例三—查询数据库信息并显示到JSP 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747999307a2789093.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论