问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何从数据库里把数据显示在JSP页面上

发布网友 发布时间:2022-04-09 10:37

我来回答

2个回答

懂视网 时间:2022-04-09 14:59

从数据库提取数据通过jstl显示在jsp页面上

 

1.ConnectDB.java连接数据库,把数据转换成list

public class ConnectDB {
 private final static String strDriver = "oracle.jdbc.driver.OracleDriver";
 private final static String strConnect = "jdbc:oracle:thin:@localhost:1521:ORCL";
 private final static String strDBUserName = "scott";
 private final static String strDBPWD = "tiger";
 private Connection conn = null;
 private Statement stat = null;
 private ResultSet rs = null;

 //连接oracle数据库
 private void getConnectFromOracle() throws ClassNotFoundException,
   SQLException {
  Class.forName(strDriver);// 实例化oracle.jdbc.driver.OracleDriver
  conn = DriverManager.getConnection(strConnect, strDBUserName, strDBPWD);
  stat = conn.createStatement();
 }

 //记录基每行数据存放到值对象,然后把值对象存放一个链表
 public List<EMPVO> getListWithVOFromRS() {
  String sql = "select * from emp";
  List<EMPVO> rowList = new LinkedList<EMPVO>();
  EMPVO emp = null;
  try {
   getConnectFromOracle();
   rs = stat.executeQuery(sql);
   while (rs.next()) {
    emp = new EMPVO();
    // 为了简单仅取2个值
    emp.setEname(rs.getString("ename"));
    emp.setHiredate(rs.getString("hiredate"));
    rowList.add(emp);
   }
   closeConnection();
  } catch (ClassNotFoundException e) {
  } catch (SQLException e) {
  }
  return rowList;
 }

 //记录基每行数据存放到1个链表,然后把这个链表存放另一个链表
 public List<List<String>> getListWithListFromRS() {
  String sql = "select * from emp";
  List<List<String>> rowList = new LinkedList<List<String>>();
  List<String> colList = null;
  try {
   getConnectFromOracle();
   rs = stat.executeQuery(sql);
   int columnCount = rs.getMetaData().getColumnCount();
   while (rs.next()) {
    colList = new LinkedList<String>();
    for (int i = 1; i <= columnCount; i++) {
     colList.add(rs.getString(i));
    }
    rowList.add(colList);
   }
   closeConnection();
  } catch (ClassNotFoundException e) {
  } catch (SQLException e) {
  }
  return rowList;
 }

 //关闭数据库
 public void closeConnection() throws SQLException {
  if (rs != null)
   rs.close();
  if (stat != null)
   stat.close();
  if (conn != null)
   conn.close();
 }
}
2.EMPVO.java emp表的值对象

public class EMPVO {
 private String empno;
 private String ename;
 private String job;
 private String mgr;
 private String hiredate;
 private String sal;
 private String comm;
 private String deptno;

 public String getComm() {
  return comm;
 }

 public void setComm(String comm) {
  this.comm = comm;
 }

 public String getDeptno() {
  return deptno;
 }

 public void setDeptno(String deptno) {
  this.deptno = deptno;
 }

 public String getEmpno() {
  return empno;
 }

 public void setEmpno(String empno) {
  this.empno = empno;
 }

 public String getEname() {
  return ename;
 }

 public void setEname(String ename) {
  this.ename = ename;
 }

 public String getHiredate() {
  return hiredate;
 }

 public void setHiredate(String hiredate) {
  this.hiredate = hiredate;
 }

 public String getJob() {
  return job;
 }

 public void setJob(String job) {
  this.job = job;
 }

 public String getMgr() {
  return mgr;
 }

 public void setMgr(String mgr) {
  this.mgr = mgr;
 }

 public String getSal() {
  return sal;
 }

 public void setSal(String sal) {
  this.sal = sal;
 }
}

3.JstlServlet 调用ConnectDB,把List放入request对象,跳转到jstl.jsp

public class JstlServlet extends HttpServlet {

 private static final long serialVersionUID = 7129164252442979467L;

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  ConnectDB db = new ConnectDB();
  request.setAttribute("listinlist", db.getListWithListFromRS());
  request.setAttribute("voinlist", db.getListWithVOFromRS());
  request.getRequestDispatcher("jstl.jsp").forward(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }
}

4.jstl.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>  
  <body>   
   <table>    
    <tr><h1>listinlist</h1></tr>
    <c:forEach items="${listinlist}" var="rowlist">
     <tr>
     <c:forEach items="${rowlist}" var="collist">
      <td>${collist}</td>
     </c:forEach>
     </tr>
    </c:forEach>
   </table>
   <table>
    <tr><h1>voinlist</h1></tr>
    <c:forEach items="${voinlist}" var="empvo">
     <tr>
      <td>${empvo.ename}</td><td>${empvo.hiredate}</td>
     </tr>
    </c:forEach>
   </table>
  </body>
</html>

从数据库提取数据通过jstl显示在jsp页面上

标签:

热心网友 时间:2022-04-09 12:07

把数据库的数据保存在response、session、application,然后在页面使用struts标签、jsp标签等显示,或者用<%。
对于你的这个问题,建议你学一下系统的javaee体系,应为把数据读到页面不是那么简单的,需要jdbc链接数据库,需要一个tomcat服务器,需要数据库jar包、、、、、、
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
动感地带中的M值怎么用? 怎样查询动感地带的M值? ...去北京朝阳区姚家园路石佛营东里甲1#上东国际酒店怎么走 北京朝阳公园附近有一个上东国际酒店,在团结湖地铁站的哪一个出口出去... 北京上东国际大酒店是几星酒店 北京上东国际酒店酒店简介 显示器突然黑屏.换另一台显示器它却能显示得到.不知道是什么原因... 电脑选择扩展屏幕,外接屏幕黑屏,选择复制屏幕则正常,改... 我刚配的电脑会黑屏,把显示器跟别人换用后两台都没事 我一开始有2600多幸运币,我昨天上的时候只变成200了,是怎么回事那? 尼康数码相机怎么样? 尼康的数码相机怎么样? 尼康D800的主要特点 从数据库中取出来的数据如何显示在前台jsp页面中 农商银行身份证与姓名不匹对怎么更新? 黑色的衣服被消毒液染发黄了怎么能去掉? 黑色衣服倒了84消毒液变黄了怎么办? 这个元素表该用用中海达rtk什么法输入? 黑色衣服被84漂黄了怎么办 初一语文《在山的那边》问题 在山的那边的全文 怎样抓好低段数学教研活动,促进 铎山的环境作文200字 蒲公英开在山的那边.作文 【三年级语文上册】槐乡的孩子有吗? 在山的那边 教案 初一语文的第一课内容及课题! 蛋白棒需要放冰箱吗 用汤臣倍健蛋白粉的铁罐子装豆瓣放冰箱冷藏室可以吗? 新尚麦纤蛋白有什么功效? 请问如何用反射式强度调制原理设计&quot;移动门防撞报警光纤传感器&quot; 为什么光纤传感器检测黑色塑料那么难?调来调去就是检测不到 反射式光纤位移传感器图像怎么做 反射型光纤传感器开口角是什么意思 拼多多有挂起功能吗 怎么关闭拼多多工作台更新窗口 武夷山最好的茶叶是? 领克主驾驶上面一个板干嘛的 武夷山什么茶最好? 被盗绑定了银行卡 怎么办 全能选手/不输合资 车市全景试驾领克06 长安三指飞屏为什么不能用 领克05来电话怎么用方向盘接? 如果冻结,绑定的银行卡会不会被冻结? 预算15万买运动轿车,思域和领克03到底谁更值? 如果冻结,绑定的银行卡会不会被冻结? 冻结银行卡怎么解绑? 微信绑定了别人的银行卡,卡号被冻结了,我的没有冻结。如何解冻? 百度文库官网登录入口24.某教官选出了8名训练良好的兵进行示范表演,由于这8名士兵的身高各不相同,_百度问一问 百度文库个人认证入口在哪里