Java 需要帮助:我的套装没有';t显示我输入的所有项目

Java 需要帮助:我的套装没有';t显示我输入的所有项目,java,jsp,servlets,collections,set,Java,Jsp,Servlets,Collections,Set,我现在正在处理一个问题,我不明白为什么我的收藏没有正确显示我的输入,它只显示最后一个条目。让我给你看看我的代码 首先有两个jsp(inputsubjects.jsp和schedule.jsp)、两个servlet(LE4Servlet1和LE4Servlet2)和一个普通Java类(Subjects.Java) 对于inputsubjects.jsp: <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYP

我现在正在处理一个问题,我不明白为什么我的收藏没有正确显示我的输入,它只显示最后一个条目。让我给你看看我的代码

首先有两个jsp(inputsubjects.jsp和schedule.jsp)、两个servlet(LE4Servlet1和LE4Servlet2)和一个普通Java类(Subjects.Java)

对于inputsubjects.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <form method="post">

        Subject Code: <input type="text" name="inputSC">
        <br><br>
        Description: <input type="text" name="inputDesc">
        <br><br>
        Unit(s): <input type="text" name="inputUnit">
        <br><br>

        <center>
            <input type="SUBMIT" value="Save and Add" formaction="LE4Servlet1">
            <input type="SUBMIT" value="Save and Exit" formaction="LE4Servlet2">
        </center>            
    </form>
</body>
</html>
下面是我的Subjects.java代码,我认为问题出在哪里

对于Subjects.java:

public class Subjects 
{
private String code;                 
private int unit;
private String description;

public Subjects(String code, int unit, String description)
{
    this.code = code;
    this.unit = unit;
    this.description = description;
}

public Set getCode(String inputSC)
{ 
    Set code = new HashSet();

    code.add(inputSC);

    return code;
}

public Set getUnit(int inputUnit)
{
    Set unit = new HashSet();

    unit.add(inputUnit);

    return unit;
}

public Set getDesc(String inputDesc)
{
    Set desc = new HashSet();

    desc.add(inputDesc);

    return desc;  
}   
}

我真的很感激你们的帮助,因为我想学习很多关于网络开发的知识,现在我真的有问题,因为我还是一名学生。很抱歉问了这么长的问题:(

注意:请不要把这个问题当作我只是为了通过我的作业,但我问这个问题是为了让我了解更多关于web开发的知识,因为我对它充满热情,我希望有一天成为一名web开发人员:)


注意:我在这个项目中使用的是NetBeans IDE 8.1。

您提供的代码太多了,需要使用调试器逐步调试并确定问题的位置。但是,从一眼看,似乎你没有添加到现有的集合中,你每次都在制作新的集合。很抱歉,我提供了很多代码,我只是想如果有人想尝试代码,那么它已经存在了。我也想到了这个想法,但我找不到解决方案,我最近想了很多,我想添加一个计数器,让它重复,并在有限的数量上一次又一次地执行add函数,但我认为这是不正确的,因为JSP应该是动态的。我在移动。。因此无法运行此代码。。首先,在schedule.jsp中,将所有内容存储在一个字符串中,然后一次打印所有内容。。另外,在Subjects.java中,每次都要创建一个新的哈希集。。将哈希集行发送到构造函数。。get方法应该只包含add()方法。使用get方法containg add()方法将HashSet行发送到构造函数时出现问题。我想我不能使用get方法中构造函数中声明的HashSet,因为它们只使用局部变量。谢谢你的回答!我很感激!:)嘿,那是错的。至少自己编写代码。声明专用集合代码、单位、描述;并在构造函数中初始化它们,然后在函数中添加()任何内容。
        String inputsc = request.getParameter("inputSC");
        String inputdesc = request.getParameter("inputDesc");
        String inputunit = request.getParameter("inputUnit");
        int x = Integer.parseInt(inputunit);
        Subjects subj = new Subjects(inputsc,x,inputdesc);
        Set isc = subj.getCode(inputsc);
        Set id = subj.getDesc(inputdesc);
        Set iu = subj.getUnit(x);
        request.setAttribute("output1", isc);
        request.setAttribute("output2", id);
        request.setAttribute("output3", iu);
        RequestDispatcher view = request.getRequestDispatcher("inputsubjects.jsp");
        view.forward(request, response); 
public class Subjects 
{
private String code;                 
private int unit;
private String description;

public Subjects(String code, int unit, String description)
{
    this.code = code;
    this.unit = unit;
    this.description = description;
}

public Set getCode(String inputSC)
{ 
    Set code = new HashSet();

    code.add(inputSC);

    return code;
}

public Set getUnit(int inputUnit)
{
    Set unit = new HashSet();

    unit.add(inputUnit);

    return unit;
}

public Set getDesc(String inputDesc)
{
    Set desc = new HashSet();

    desc.add(inputDesc);

    return desc;  
}