jsp文件和servlet之间如何精确交互?

时间:2019-02-12 15:33:10

标签: java jsp servlets

我正在转换一个用Java编写的应用程序,以便能够通过浏览器运行。这是一个用于下注并预测体育比赛结果的应用程序。

应用程序的第一部分允许该回合的所有用户输入其姓名。

然后在第一个servlet的doPost中,getParameter从jsp调用“ name”参数,该参数请求将其数据发送到servlet。 然后,我使用名称实例化一个新对象,该名称就是该参数。 然后将该实例化的对象添加到列表中。该列表在同一servlet中定义。

在另一个servlet中,我试图通过toString方法显示List的内容。但是,此列表始终最终为空。 我希望我在某处犯了一个错误实例化错误,但我无法弄清楚。

有关如何进行此操作的任何建议?我以前从未使用过servlet或jsp文件,并且对HTML的了解有限,所以我一定会在这方面犯错误。我试图寻找好的教程,但是它要么全部是Maven / Vaadin要么是其他文件,并且我正在使用动态Web项目从Eclipse开始工作,并且没有外部库文件。嗯,我不知道。

我的代码:

我的servlet首先重定向到具有html代码以填写用户名的jsp文件。然后,它尝试检索doPost中的内容:

 @WebServlet("/voerDeelnemersOp")
 public class voerDeelnemersOp extends HttpServlet {
private static final long serialVersionUID = 1L;
private List<Deelnemer> deelnemers = new ArrayList<Deelnemer>();



public List<Deelnemer> getDeelnemers() {
    return deelnemers;
}

public void setDeelnemers(List<Deelnemer> deelnemers) {
    this.deelnemers = deelnemers;
}

public voerDeelnemersOp() {
    super();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.sendRedirect("deelnemerOpvoeren.jsp");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String naamDeelnemer = request.getParameter("naam");
    Deelnemer deelnemer = new Deelnemer(naamDeelnemer);
    deelnemers.add(deelnemer);

    doGet(request, response);
}

}

以及试图显示数组的servlet:

    @WebServlet("/bekijkDeelnemers")
    public class bekijkDeelnemers extends HttpServlet {
private static final long serialVersionUID = 1L;
private voerDeelnemersOp voerDeelnemersOp;
private List<nl.WebApp.Deelnemer> deelnemers;

public void init() {
    voerDeelnemersOp = new voerDeelnemersOp();
    deelnemers = voerDeelnemersOp.getDeelnemers();
}

public bekijkDeelnemers() {
    super();

}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.print("deelnemers: ");

    out.print(deelnemers.toString());





}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    doGet(request, response);
}

}

对象的类

public class Deelnemer {

private String naam;
private Integer score;

public Deelnemer(String naam) {
    super();
    this.naam = naam;
    }

public String getNaam() {
    return naam;
}
public void setNaam(String naam) {
    this.naam = naam;
}
public Integer getScore() {
    return score;
}
public void setScore(Integer score) {
    this.score = score;
}   

@Override
public String toString() {
    return "Deelnemer [naam=" + naam + ", score=" + score + "]";
}

}

0 个答案:

没有答案