【问题标题】:Implementing Java Classes and Code onto a webpage在网页上实现 Java 类和代码
【发布时间】:2014-02-26 10:23:32
【问题描述】:

这是我第一次在网页上使用 java,所以我对这件事完全一无所知,如果我的编码冒犯了任何人,我深表歉意。 通过查看互联网,我可以看到,如果我有一个要在网页中实现的类,我需要确保它已编译并将 .class 文件放在 WEB-INF 文件夹内的类文件夹中。

我说的类是下面的代码:

public class Transaction {
   String type;
   double amount;
   Object date;
public Transaction(double account, double amount, Object date){
    this.type = type;
    this.amount = amount;
    this.date = date;
}
public String toString(){
    String string = "Account Number: "+type+"\nAmount: "+amount+"\nDate: "+date;
    return string;
}

}

现在这就是我迷路的地方我想让以下代码与网页交互地工作:

ArrayList<Transaction> track = new ArrayList<Transaction>();
    String amount = (String)pageContext.getAttribute("amount");
    String acountFrom = (String)pageContext.getAttribute("accountNum1"}
    java.util.Date date= new java.util.Date();
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss a");
    String formattedDate = sdf.format(date);
    Transaction newItem = new Transaction(accountNum1,amount,formattedDate);
    track.add(newItem);

上面的代码打算做的是从一个 HTML 表单中获取两个变量,这些变量来自一个 HTML 表单,该表单发送到上面的代码在其中工作的页面。它得到一个时间戳并将其放入arraylist。一旦完成这项工作,我希望做的是让 arraylist 在页面上打印出来,以显示所有发生的交易。再次感谢您的任何建议。

编辑:我使用 Tomcat 作为我的服务器,使用 JSTL/JSP 作为网站的功能方面。

【问题讨论】:

  • 您需要查看 servlet 和 jsp 文件。本质上,您将在 jsp 页面上有一个表单,该表单将 POST 到 servlet。 servlet 将接受请求中的参数 amount 和 accountNum1。它还将执行您发布的代码并将任何输出作为请求的属性放置。然后将请求转发到 jsp 以显示结果。

标签: java html jsp servlets


【解决方案1】:

您需要两部分来完成这项工作,Web 服务器和您将数据放入的 HTML 模板。 Java 有用于构建 Web 应用程序的 Servlet API,但它是一个非常低级的 API,并且有许多框架可以为您处理细节。我建议查看Spring Boot;它是使用 Spring Framework 的应用程序的一个非常简单的启动器构建器,您可以在一个简短的 Java 类中拥有一个工作的 Web 应用程序。

您还需要数据的 HTML 模板。一个主要选项是 JSP,但最近我更喜欢Thymeleaf,因为在浏览器中预览静态 HTML 片段时更容易。 Spring Boot 自动支持 JSP 和 Thymeleaf。无论您选择哪种方式,您都将编写带有一些占位符的 HTML 页面(通常是 div 或表格行,具体取决于您在事务中添加了多少细节)并将您的 List&lt;Transaction&gt; 传递给它(在 Spring 中,您这样做将其添加到Model)。

【讨论】:

  • 我正在使用 tomcat 作为我的服务器,我正在考虑 JSP,因为这就是我所学过的。我是否只是导入类并将代码放入一些 标记中,还是有更好的方法来做到这一点?
  • OP似乎还没有掌握servlet和jsp文件的概念,您推荐SpringThymeleaf?我从不投反对票,但这很诱人。
  • @KevinBowersox 你真的尝试过 Spring Boot 吗?你可以写一个Controller 类,在上面写一个main,然后用java 运行它; Spring Boot 将自动配置整个 servlet 容器、Spring 上下文、模板环境以及其他任何东西(包括 JPA 存储库,如果您为其提供数据库属性)。 IMO 从 Spring 控制器和视图开始,然后在必要时深入研究 Servlet API 比从手动编写脚本开始要明智得多。
  • @chrylis 我没有尝试过 Spring Boot,但是我自己设置了 Spring MVC + Spring Data + Hibernate 很多次。我对您推荐的技术没有意见。我只是认为,在开始使用这些框架之前,最好对这些框架的底层机制有一个基本的了解。从某种意义上说,您建议 OP 在他们学会走路之前冲刺。
  • @KevinBowersox 看看。只要你没有做任何深奥的事情(或者对 Spring 的了解足以识别扩展点,通常通过提供 @Configuration@Enable* 或实现 *Configurer 的东西),它几乎可以完成你的所有工作为您设置,它主要会做正确的事。我建议 OP 在学习运动机能学之前先学会走路。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
  • 2017-06-04
  • 2016-02-24
  • 1970-01-01
相关资源
最近更新 更多