当前位置: 首页 > 知识库问答 >
问题:

HTTP状态500没有属性“id”

凌昕
2023-03-14

当我显示客户的ID时,我会得到错误消息。我也试图更改属性'id'的名称,但出现了相同的错误与新名称。

HTTP状态500-内部服务器错误

类型异常报告消息内部服务器错误描述服务器遇到内部错误,导致它无法完成此请求。

异常org.apache.jasper.jasperException:javax.el.PropertyNotFoundException:类“de.java2Enterprise.Onlineshop.Model.Customer”没有属性“id”。

根本原因javax.el.PropertyNotFoundException:类“de.java2Enterprise.Onlineshop.Model.Customer”没有属性“id”。

注意:GlassFish Server Open Source Edition 5.1.0日志中提供了异常及其根本原因的完整堆栈跟踪。

HTML:

null

<%@ include file="header.jspf" %>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Onlineshop</title>
	</head>
	<body>
		

<c:forEach var="customer" items="${customers}">
<article>
	<p>${customer.id}</p>
	<p>${customer.email}</p>
	<p>test</p>
</article>
</c:forEach>

<%@ include file="footer.jspf" %>

null

Java类

包de.java2enterprise.onlineshop.model;

导入java.io.Serializable;

public类Customer实现Serializable{private static final long serialVersionUID=1L;

private Long id;
private String email;
private String password;

public Customer() {}

public Customer(String email, String password) {
    this.email = email;
    this.password = password;
}

public Long getID() {
    return id;
}

public void setID(Long id) {
    this.id = id;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getPassword() {
    return password;
}

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

public String toString() {
    return 
        "[" +
        getID() + ", " +
        getEmail() + ", " +
        getPassword() + 
        "]";
}

}

控制器

@WebServlet("/userShow")

公共类UserServlet扩展了HttpServlet{private static final long serialVersionUID=1L;

@Resource
private DataSource ds;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
}
public void doPost( HttpServletRequest request,  HttpServletResponse response) throws ServletException, IOException {

    try {
        List<Customer> customers = find();
        if (customers != null) {
            HttpSession session = request.getSession();
            session.setAttribute("customers", customers);
        }
    } catch (Exception e) {
        throw new ServletException(e.getMessage());
    }
    RequestDispatcher dispatcher = request.getRequestDispatcher("search.jsp");
    dispatcher.forward(request, response);
}

public List<Customer> find() throws Exception {

    List<Customer> customers = new ArrayList<Customer>();
    try (final Connection con = ds.getConnection();
            final PreparedStatement stmt = con
                    .prepareStatement(
                            "SELECT " +
                                    "id, " +
                                    "email, " +
                                    "password " +
                                    "FROM onlineshop.customer ")) {
        ResultSet rs = stmt.executeQuery();
        while (rs.next()) {

Customer Customer=新客户();

            Long id = Long.valueOf(rs.getLong("id"));
            customer.setID(id);

            String email = rs.getString("email");
            customer.setEmail(email);

            String password = rs.getString("password");
            customer.setPassword(password);
            customers.add(customer);

        }
    }
    return customers;
}

}

共有1个答案

宗政金鹏
2023-03-14

您的customer类需要遵循Java bean的命名约定:

它是getid/setid而不是getid/setid

 类似资料:
  • 我的资源 index.jsp HTTP状态500-servlet Jersey Web应用程序的servlet.init()引发异常 类型异常报告 servlet Jersey Web应用程序的消息servlet.init()引发异常 Apache Tomcat/8.0.43

  • 好的,我在运行我的应用程序时遇到了这个问题,我相信这是因为版本控制。 秋季开始,我使用Tomcat 9.0.4。我使用最新的JavaSDK。 现在,我使用的是Spring版本5.0.2。 这是我的pom。xml: 这是我的web.xml: 这是我的调度器servlet。xml: 现在,我想提一件事:看看那些?我不确定这是否正确。为什么?这就是我在输出中得到的错误: 现在,我知道这是一大段文字,你可

  • 我正在用java web JSP Struts 1编写我的第一个helloworld web项目。我已经尽力修复这个HTTP状态500错误。任何帮助都将不胜感激。以下是我的githud代码来源:https://github.com/paeltc/Struts1Demo1. 这是我得到的回应: 我使用的是阿帕奇雄猫/9.0.27

  • PS:我知道用jsp编码java是不好的... 类型异常报告 消息处理JSP页面/assets/JSP/create-dest-code.JSP第35行时发生异常 说明服务器遇到内部错误,导致它无法完成此请求。 exception org.apache.jasper.jasperException:在处理JSP页面/assets/JSP/create-dest-code.JSP第35行时发生异常

  • 说明服务器遇到内部错误(无法编译jsp类:在生成的java文件第14行发生错误,只能导入一个类型。MyPack.sou解析为一个包;在jsp文件第18行发生错误:/web/index.jsp sou无法解析为类型15: webapps app _index.jsp _WEB-INF ......._classes ......._mypack .........sou.class,test.war