如何用JSP提供文件?

这可能听起来很愚蠢,但却是现实生活中的一个案例:( 我能够显示带有“虚拟”链接名称的HTML表格。 像这样的东西: Xyz description document.doc Xyz description documentB.doc Xyz description documentC.doc 此doc id表示数据库中的id(对于这些docs存储在blob中为byte []) 无论如何。 我能够获取该ID,查询数据库并检索byte [](甚至将其存储在tmp文件中) 我无法弄清楚该怎么做,当用户点击链接时(以及我执行数据库检索后),将“[”]字节[]发送给用户。 现在最糟糕的部分,是什么让我在这里问这个问题,我需要用JSP(没有servlet)和没有第三方库(只是……不要问我为什么我也讨厌它)这样做 所以。 我如何在jsp中提供存储在服务器文件系统中的字节数组的二进制内容 我的第一位客人是: 我接近解决方案了吗? 这对客户端是否有效,就像他真的在服务器中点击了一个真正的文件一样? 提前致谢。

将一个简单的文本文件作为Java运行

我有一个简单的.txt文件,里面有纯Java代码 public class C { public static void main(String[] args ) { System.out.println(“This is executed”); } } 该文件名为C.txt。 现在我想编写将读取C.txt中的代码的Java代码,并将编译和运行读取代码作为纯Java文件。 注意,我可以轻松地将C.txt重命名为C.java并手动编译和运行代码。 但是,这不是我的意图。 我想按原样读取.txt文件并直接执行代码。 这有可能吗?

Java十进制格式 – 与给定的精度一样多

我正在使用DecimalFormat ,我希望能够以给定的精度读取和写入小数(我正在转换为BigDecimal )。 基本上,我想要一个DecimalFormat ,它强制执行以下模式“\ d +(\。\\ d +)?” 即“至少一个数字,然后,可选地,小数分隔符后跟至少一个数字”。 我很难用DecimalFormat来实现它,我尝试了几种模式,但它们似乎强制使用固定的数字。 我也愿意采取其他方式来实现这一目标。 编辑: 对于更多的背景,我正在解析用户提供的数据,其中小数可以以任何方式格式化,并且可能不是以语言环境格式。 我希望让他们提供一个十进制格式的字符串,我可以用它来解析数据。

带有controlsfx通知组件的javafx NullPointerException

我想开发一个应用程序,它使用controlsfx Notifications在系统托盘模式下显示一些通知。 在正常模式下,我的应用程序运行良好,通知可以成功显示。但是当我在系统托盘中隐藏阶段时,会发生NullPointerException。 我不知道如何解决这个问题。 import java.awt.AWTException; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionListener; import javafx.application.Application; import javafx.application.Platform; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.stage.WindowEvent; public class TryIconNotification extends Application { private boolean firstTime; private TrayIcon trayIcon; @Override public void start(Stage stage) throws Exception { firstTime […]

使用注释生成equals / hashcode / toString

我相信我通过识别哪些字段应该是散列/相等测试的一部分来读取人们在编译期间(使用APT)生成equals / hashcode / toString方法的地方。 我在网上找不到那样的东西(我可能梦见过它?)…… 这可以这样做: public class Person { @Id @GeneratedValue private Integer id; @Identity private String firstName, lastName; @Identity private Date dateOfBirth; //… } 对于一个实体(所以我们想要排除一些字段,比如id)。 或者像scala案例类,即值对象: @ValueObject public class Color { private int red, green, blue; } 不仅文件变得更易读和更容易编写,而且它还有助于确保所有属性都是equals / hashcode的一部分(如果您稍后添加其他属性,而不相应地更新方法)。 我听说APT在IDE中得不到很好的支持,但我不认为这是一个主要问题。 毕竟,测试主要由持续集成服务器运行。 有没有想过这是否已经完成,如果不是为什么? 谢谢

JSF 2:直接调用托管bean

我是JSF新手(2)。 在Struts中,我们可以从app.action这样的URL调用一个动作。 这会调用一个动作并返回一个结果页面,比如一个JSP(最初没有JSP / HTML)。 如何在JSF中完成同样的事情? (我知道如何从.xhtml调用一个动作)即直接从URL调用托管bean并获取结果页面。

hibernate native查询,count

可能重复: 我们如何使用Hibernate计算行数? 我希望按数据库中的条件计算记录数。 我尝试使用下一个查询 String queryString = “SELECT Count(*) FROM my_table”; Query query = entityManager.createNativeQuery(queryString); 但是没有方法来执行此Query query并获得结果。 我知道,我可以使用记录来计算记录 String queryString = “SELECT * FROM my_table”; Query query = entityManager.createNativeQuery(queryString); query.getResultList().size(); 所以问题是,使用Count(*)查询更多性能,如果yes ,那么如何使用Count(*)执行查询?

Java枚举属性根据访问顺序返回null

我正在探索java中的枚举,看看它们是如何被滥用的,我遇到了一个我无法解释的行为。 考虑以下课程: public class PROGRAM { public enum ENUM {; public enum ANIMALS {; public enum CATS { FELIX(DOGS.AKAME), GARFIELD(DOGS.WEED), BUBSY(DOGS.GIN); CATS(DOGS dog) {this.RIVAL = dog;} public DOGS RIVAL; } public enum DOGS { GIN(CATS.FELIX), WEED(CATS.BUBSY), AKAME(CATS.GARFIELD); DOGS(CATS cat) {this.RIVAL = cat;} public CATS RIVAL; } } } public static void main(String[] args) { System.out.println(ENUM.ANIMALS.CATS.GARFIELD.RIVAL); […]

如何禁用JPA的锁定系统?

我正在使用OpenJPA,我遇到了锁定问题。 我已经了解了什么是OptimisticLockException以及什么时候抛出它。 但我该如何处理呢? 在*下面,您可以找到关于乐观锁定exception的小段落。 简而言之,我如何完全禁用锁管理器? 在我的persistent.xml中,我有以下xml代码,但它不起作用。 为什么? … … *根据关于Java Persistent的wikibooks: 处理乐观锁定exception 不幸的是,程序员经常会因为自己的利益而过于聪明。 使用乐观锁定时出现的第一个问题是当发生OptimisticLockException时要执行的操作。 友好邻居超级程序员的典型反应是自动处理exception。 他们将只创建一个新事务,刷新对象以重置其版本,并将数据合并回对象并重新提交。 Presto问题解决了,或者是吗? 这实际上首先打破了整个锁定点。 如果这是你想要的,你也可以不使用锁定 。 不幸的是,很少会自动处理OptimisticLockException,你真的需要打扰用户这个问题。 您应该向用户报告冲突,并且说“您的抱歉但发生编辑冲突并且他们将不得不重做他们的工作”,或者在最好的情况下,刷新对象并向用户显示当前数据和他们提交的数据并帮助他们合并两者。 一些自动合并工具将比较数据的两个冲突版本,如果没有单个字段冲突,那么数据将在没有用户帮助的情况下自动合并。 这是大多数软件版本控制系统所做的。 不幸的是,用户通常能够更好地决定何时出现冲突而不是程序,只是因为.java文件的两个版本没有改变相同的代码行并不意味着没有冲突,第一个用户可能已经删除了另一个用户添加了一个引用方法的方法,以及导致典型的每晚构建经常中断的几个其他可能的问题。

Hibernate(JPA)映射HashMap

预读: 如何使用hibernate持久化HashMap 我的问题围绕着我要用JPA映射的以下结构: Map<User, List> 我的POJO非常简单(没有复合类型等,只有一些原语)。 如何在链接问题中实施建议? 如何使用@Lob仅注释List部分(当我只是注释该字段时,我得到一个类转换错误,因为HashMap不能转换为Blob,这是我的问题的根源 – 我不能只注释地图的价值部分)? 我不确定是否需要创建一个实现Serial包装List的包装类型,或者只使用ArrayList,它本身就是Serializable。 无论如何,我没有设法坚持这个Map实例…… 顺便说一句,我愿意接受有关这一切的不同建议:我可以将List作为每个用户的类成员,尽管我不认为它属于那里,因为它不是用户数据(如帐户数据) ;姓名,地址等)。 它类似于购买,所以我把它们放在一个类似实用程序的类(用户类外部)来处理这些购买,以便拥有更多的模块化模型。 我想听听关于这听起来是否明智的建议。 任何有用的建议都将获得虚构的cookie(显然是upvotes)。 它们在非虚构的意义上是无脂肪的。 干杯。