提问人:NIXON 提问时间:10/20/2023 最后编辑:JensNIXON 更新时间:10/20/2023 访问量:22
我没有收到从我的 servlet 到我的 jsp 的数据
I don't receive the data from my servlet to my jsp
问:
我正在尝试显示从 servlet 到 JSP 的数据,但是当我运行 JSP 时,它没有显示任何内容。我已经尝试过数据库连接并且它成功了,但是当我使用JSP时,它不会返回任何内容。
这是唯一给我一个错误的东西: “描述资源路径位置类型 类型安全性:从对象到列表目录的未选中强制转换o.jsp /CL1/src/main/webapp 第 20 行 JSP 问题”
我正在使用 jdk-17 和 apache Tomcat 10.1
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="servlet.productoServlet"%>
<%@ page import="dao.productoDao"%>
<%@ page import="model.producto"%>
<%@ page import="java.util.List"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div class="container">
<h1>Catálogo de Productos</h1>
<div class="row">
<%
Object productoListObject = request.getAttribute("productoList");
if (productoListObject instanceof List) {
List<producto> productoList = (List<producto>) productoListObject;
for (producto producto : productoList) {
%>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h5 class="card-title"><%= producto.getNombre() %></h5>
<p class="card-price"><%= producto.getPrecio() %></p>
<a href="ComprarServlet?productId=<%= producto.getId() %>" class="btn btn-primary">Comprar</a>
</div>
</div>
</div>
<%
}
}
%>
</div>
</div>
</body>
</html>
Servlet:
package servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import dao.productoDao;
import model.producto;
@WebServlet
public class productoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
productoDao ProductoDao = new productoDao();
List<producto> productoList = ProductoDao.obtenerStructura();
request.setAttribute("productoList", productoList);
request.getRequestDispatcher("/catalogo.jsp").forward(request, response);
}
}
道
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import util.MySQLconexion;
import model.producto;
public class productoDao {
public List<producto> obtenerStructura(){
List<producto> listaProducto = new ArrayList<>();
Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
con = MySQLconexion.getConexion();
String consultaSQL = "SELECT * FROM productos";
stmt = con.prepareStatement(consultaSQL);
rs = stmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String nombre = rs.getString("nombre");
double precio = rs.getDouble("precio");
producto Producto = new producto(id, nombre ,precio);
listaProducto.add(Producto);
}
}catch (SQLException e){
e.printStackTrace();
}finally {
MySQLconexion.closeResultSet(rs);
MySQLconexion.closeStatement(stmt);
MySQLconexion.closeConexion(con);
}
return listaProducto;
}
}
答: 暂无答案
评论
@SuppressWarnings("unchecked")
productoList