JavaWeb学习大纲传送门
兄弟姊妹目录
- 页外链接目录:
-------------------------------<注册篇>-------------------------------
-------------------------------<登录篇>-------------------------------
-------------------------------<作用域篇>----------------------------
本章学习目录
- 页内目录
一,数据库的建立Goods类的建立
二,GoodsServlet的实现
三,goods.jsp的实现
四,GoodsServiceImpl的实现
五,GoodsDaoImpl的实现
六,登录测试和商品预览
一,数据库的建立Goods类的建立
- 表格建立:
CREATE TABLE `tbl_goods` (
`g_id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`g_name` varchar(255) NOT NULL,
`g_price` decimal(10,2) DEFAULT NULL,
`g_date` datetime NOT NULL
)
- 表格信息的插入:自己插入信息。例:
INSERT INTO tbl_goods VALUES ('135', '铅笔', '10.80', '2021-04-10 00:00:00');
- Goods类:
package com.jazhong.model;
import java.util.Date;
public class Goods {
private Integer g_id;
private String g_name;
private Double g_price;
private Date g_date;
public Integer getG_id() {
return g_id;
}
public void setG_id(Integer g_id) {
this.g_id = g_id;
}
public String getG_name() {
return g_name;
}
public void setG_name(String g_name) {
this.g_name = g_name;
}
public Double getG_price() {
return g_price;
}
public void setG_price(Double g_price) {
this.g_price = g_price;
}
public Date getG_date() {
return g_date;
}
public void setG_date(Date g_date) {
this.g_date = g_date;
}
}
二,GoodsServlet的实现
- GoodsServlet类:
package com.jazhong.servlet;
import com.jazhong.model.Goods;
import com.jazhong.service.GoodsService;
import com.jazhong.service.impl.GoodsServiceImpl;
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("/goods.do")
public class GoodsServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
GoodsService goodsService=new GoodsServiceImpl();
List<Goods> goodsList=goodsService.queryGoods();
//将goodsList传入界面,
request.setAttribute("GoodsList",goodsList);
//请求转发,将request对象发到指定页面
request.getRequestDispatcher("goods.jsp").forward(request,response);
}
}
三,goods.jsp的实现
- goods.jsp:
<%@ page import="com.jazhong.model.Goods" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>商品列表</title>
<style>
th{
border: solid 1px orange;
}
</style>
</head>
<body>
<h2>商品信息</h2>
<table>
<thead>
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品价格</th>
<th>上架time</th>
</tr>
</thead>
<tbody>
<%
//从request中获得GoodsList
List<Goods> goodsList=(List<Goods>) request.getAttribute("GoodsList");
for (Goods goods:goodsList) {
%>
<tr>
<th><%=goods.getG_id()%></th>
<th><%=goods.getG_name()%></th>
<th><%=goods.getG_price()%></th>
<th><%=goods.getG_date()%></th>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
四,GoodsServiceImpl的实现
- GoodsServiceImpl:
package com.jazhong.service.impl;
import com.jazhong.dao.GoodsDao;
import com.jazhong.dao.impl.GoodsDaoImpl;
import com.jazhong.model.Goods;
import com.jazhong.service.GoodsService;
import java.util.List;
public class GoodsServiceImpl implements GoodsService {
@Override
public List<Goods> queryGoods() {
GoodsDao goodsDao=new GoodsDaoImpl();
return goodsDao.selectAll();
}
}
五,GoodsDaoImpl的实现
- GoodsDaoImpl:
package com.jazhong.dao.impl;
import com.jazhong.dao.GoodsDao;
import com.jazhong.model.DBUtil;
import com.jazhong.model.Goods;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class GoodsDaoImpl extends DBUtil implements GoodsDao {
@Override
public List<Goods> selectAll() {
List<Goods> list=null;
try {
super.getconn();
String sql="select * from tbl_goods";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
list=new ArrayList<>();
while (rs.next()) {
Goods goods=new Goods();
goods.setG_id(rs.getInt(1));
goods.setG_name(rs.getString(2));
goods.setG_price(rs.getDouble(3));
goods.setG_date(rs.getDate(4));
list.add(goods);
}
return list;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
super.closeall();
}
return list;
}
}
六,登录测试