天 黑 了 2021-06-07 19:30 采纳率: 20%
浏览 60
已结题

使用servlet 查询数据库后记录显示在jsp页面,大佬救救孩子吧!!!

弄了两天了,没弄明白,话不多说,直接上代码

 

model层:

package com.pxb.dao;

import com.pxb.model.Dweller;
import com.pxb.util.DbUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class DwellerDao {
    public List<Dweller> dwellerList(Connection conn) throws SQLException {
        List<Dweller> dwellerList = new ArrayList<Dweller>();
        String sql = "select * from dweller";
        PreparedStatement pstmt = conn.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()){
            Dweller dweller = new Dweller();
            dweller.setDwellerId(rs.getInt("dwellerId"));
            dweller.setUsername(rs.getString("username"));
            dweller.setPassword(rs.getString("password"));
            dweller.setDwellerName(rs.getString("dwellerName"));
            dweller.setSex(rs.getString("sex"));
            dweller.setTel(rs.getString("tel"));
            dweller.setBuildingName(rs.getString("buildingName"));
            dwellerList.add(dweller);
        }
        return dwellerList;
    }

    public static void main(String[] args) {
        DwellerDao dwellerDao = new DwellerDao();
        Connection conn = null;
        DbUtil dbUtil = new DbUtil();
        conn = dbUtil.getConnection();
        try {
            List<Dweller> dwellerList = dwellerDao.dwellerList(conn);
            System.out.println(dwellerList.toString());

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

dao层:

package com.pxb.model;

public class Dweller {
    private Integer dwellerId;
    private String username;
    private String password;
    private String dwellerName;
    private String sex;
    private String tel;
    private String buildingName;

    @Override
    public String toString() {
        return "Dweller{" +
                "dwellerId=" + dwellerId +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", dwellerName='" + dwellerName + '\'' +
                ", sex='" + sex + '\'' +
                ", tel='" + tel + '\'' +
                ", buildingName='" + buildingName + '\'' +
                '}';
    }

    public String getDwellerName() {
        return dwellerName;
    }

    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    public Dweller(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public Dweller() {
    }

    public Integer getDwellerId() {
        return dwellerId;
    }

    public void setDwellerId(Integer dwellerId) {
        this.dwellerId = dwellerId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getName() {
        return dwellerName;
    }

    public void setDwellerName(String dwellerName) {
        this.dwellerName = dwellerName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }
}

servlet层:

package com.pxb.servlet;

import com.pxb.dao.DwellerDao;
import com.pxb.model.Dweller;
import com.pxb.util.DbUtil;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

public class DwellerServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    DbUtil dbUtil = new DbUtil();
    DwellerDao dwellerDao = new DwellerDao();


    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");

        System.out.println("=>进入servlet");

        Dweller dweller = new Dweller();

        Connection conn = null;
        conn = dbUtil.getConnection();
        try {
            List<Dweller> dwellerList = dwellerDao.dwellerList(conn);
            System.out.println(dwellerList.toString());
            request.setAttribute("dwellerList",dwellerList);
            request.setAttribute("mainPage","admin/dweller.jsp");
            request.getRequestDispatcher("mainAdmin.jsp").forward(request,response);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }

}

util层:

package com.pxb.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DbUtil {
    private static final String username = "root";
    private static final String password = "";
    private static final String driver = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/db_housing?useUnicode=true&characterEncoding=UTF8";
    private Connection conn;

    static {
        try {
            Class.forName(driver);
            System.out.println("数据库加载驱动成功!");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("数据库驱动加载异常!");
        }
    }

    public Connection getConnection(){
        try {
            conn = DriverManager.getConnection(url,username,password);
            System.out.println("数据库连接成功!");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败!");
        }
        return conn;
    }

    public static void main(String[] args) {
        DbUtil d = new DbUtil();
        System.out.println(d.getConnection());
    }
}


jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="renderer" content="webkit">
    <title></title>
    <link rel="stylesheet" href="../css/pintuer.css">
    <link rel="stylesheet" href="../css/admin.css">
    <script src="../js/jquery.js"></script>
    <script src="../js/pintuer.js"></script>
</head>
<body>
<form method="post" action="dweller" id="listform">
    <div class="panel admin-panel">
        <div class="panel-head"><strong class="icon-reorder"> 信息管理</strong> <a href="" style="float:right; display:none;">添加字段</a></div>
        <div class="padding border-bottom">
            <ul class="search" style="padding-left:10px;">
                <li> <a class="button border-main icon-plus-square-o" href="add.html"> 添加内容</a> </li>
                <li>搜索:</li>

                <li>
                    <input type="text" placeholder="请输入搜索关键字" name="keywords" class="input" style="width:250px; line-height:17px;display:inline-block" />
                    <a href="javascript:void(0)" class="button border-main icon-search" onclick="changesearch()" > 搜索</a></li>
            </ul>
        </div>
        <table class="table table-hover text-center">
            <tr>
                <th>ID</th>
                <th>用户名</th>
                <th>姓名</th>
                <th>性别</th>
                <th>电话</th>
                <th>楼层</th>
                <th>操作</th>
            </tr>

            <volist name="list" id="vo">
                <c:forEach var="dweller" items="${dwellerList}">
                <tr>
                    <td>${dweller.dwellerId}</td>
                    <td>${dweller.username}</td>
                    <td>${dweller.dwellerName}</td>
                    <td>${dweller.sex}</td>
                    <td>${dweller.tel}</td>
                    <td>${dweller.buildingName}</td>
                    <td><div class="button-group"> <a class="button border-main" href="add.html"><span class="icon-edit"></span> 修改</a> <a class="button border-red" href="javascript:void(0)" onclick="return del(1,1,1)"><span class="icon-trash-o"></span> 删除</a> </div></td>
                </tr>
                </c:forEach>
            </volist>
        </table>
    </div>
</form>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>loginServlet</servlet-name>
        <servlet-class>com.pxb.servlet.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>loginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>guardServlet</servlet-name>
        <servlet-class>com.pxb.servlet.GuardServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>guardServlet</servlet-name>
        <url-pattern>/guard</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>dwellerServlet</servlet-name>
        <servlet-class>com.pxb.servlet.DwellerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwellerServlet</servlet-name>
        <url-pattern>/dweller</url-pattern>
    </servlet-mapping>
    <filter>
        <filter-name>LoginFilter</filter-name>
        <filter-class>com.pxb.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

测试:

 

在servlet测了一下,是能获取到数据库信息的,然后到了jsp这边显示不出来数据。有没有大佬救一下,急!

  • 写回答

1条回答 默认 最新

  • li.siyuan 2021-06-07 19:43
    关注

    看上去都是对的,问题可能出现在页面获取的时候, 方便远程不 我远程看一下把

    评论

报告相同问题?

悬赏问题

  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
  • ¥50 paddleocr最下面一行似乎无法识别
  • ¥15 求某类社交网络数据集
  • ¥15 靶向捕获探针方法/参考文献
  • ¥15 很抱歉出现错误word不能启动(24),如何解决?