JavaWeb给前端发送数据并把商品信息在页面中展示

补充需求:

2.把商品信息传输到页面中进行展示

此次项目步骤

登陆注册完成后,使用session的方法和JSTL标签和EL表达式完成需求;

Goods实体类(商品表)

package com.chen.bean;

public class Goods {
    private Integer gid;
    private String gname;
    private Double price;
    private String mark;
    //无参构造函数
    public Goods() {
    }

    //set和get方法
    public Integer getGid() {
        return gid;
    }

    public void setGid(Integer gid) {
        this.gid = gid;
    }

    public String getGname() {
        return gname;
    }

    public void setGname(String gname) {
        this.gname = gname;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }

    //toString方法
    @Override
    public String toString() {
        return "Goods{" +
                "gid=" + gid +
                ", gname=" + gname +  +
                ", price=" + price +
                ", mark=" + mark +  +
                }+
;
    }
}

GoodsDao.java页面(JDBC查询并把数据存储到Goods对象再添加到集合中)

package com.chen.dao.impl;

import com.chen.bean.Goods;
import com.chen.util.JDBCUtil;

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

public class GoodsDao {
    private Connection con = null;//数据库连接对象
    private PreparedStatement pstm = null;//预处理对象
    private ResultSet rs = null;//结果集对象
    private int row = 0;

    public List<Goods> selectAll(){
        List<Goods> goodslist = new ArrayList<>();
        try{
           con= JDBCUtil.getCon();
            String sql = "select * from t_goods";
            pstm = con.prepareStatement(sql);
            rs = pstm.executeQuery();
            while(rs.next()){
                //把当前数据行中的数据取出来,存储到Goods对象中
                Goods goods = new Goods();
                goods.setGid(rs.getInt("gid"));
                goods.setGname(rs.getString("gname"));
                goods.setPrice(rs.getDouble("price"));
                goods.setMark(rs.getString("mark"));
                //把Goods对象存储到集合中
                goodslist.add(goods);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            JDBCUtil.close(rs,pstm,con);
        }
        return goodslist;
    }
}

SelectAllGoods.java页面(商品信息在页面展示)

package com.chen.servlet;

import com.chen.bean.Goods;
import com.chen.dao.impl.GoodsDao;

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.util.List;

@WebServlet("/selectAllGoods")
public class SelectAllGoods extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.设置请求和响应的编码
        request.setCharacterEncoding("utf-8");//设置请求的编码格式
        response.setCharacterEncoding("utf-8");//设置响应的编码格式
        System.out.println("SelectAllGoods...doPost");
        //去查询数据库中商品信息表中的数据
        GoodsDao goodsDao = new GoodsDao();
        List<Goods> goodlist = goodsDao.selectAll();
        System.out.println(goodlist);
        response.sendRedirect("zhuye.jsp");
    }
}

zhuye.jsp

运行后跳转到浏览器

主页

登录

跳转

数据库表

控制台日志信息

经验分享 程序员 微信小程序 职场和发展