如何在Java程序(J2EE + JSTL)中获取服务器文件夹的路径

我想在基于Web的项目(J2EE-JSP + Servlets)中读取Excel文件的内容,这些项目位于Web服务器的文件夹中。 我创建了一个java文件,我将使用JSTL库通过JSP页面调用,但是我需要在Java文件中获取Excel工作表的路径,因此我可以阅读内容。 如何获取当前Java文件的路径以及Excel文件? 另外,我将通过POI库阅读Excel文件的内容。 我能够在J2SE开发中做到这一点,但这可能吗? POIFSFileSystem fs = null; try { fs = new POIFSFileSystem(new FileInputStream(“**some path here of sheet**”)); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } HSSFWorkbook wb = null; try { wb = new HSSFWorkbook(fs); } catch (IOException ex) { ex.printStackTrace(); } HSSFSheet sheet = […]

ScheduledExecutorService只循环一次

我正在尝试实现一个每秒循环的ScheduledExecutorService线程,但截至目前它只循环一次。 我的问题是如何设置它以便它周期性地循环而不是一次迭代? 另外,如何将连接池传递给线程,以便每次迭代都可以查询数据库? 任何帮助深表感谢。 public static void main(String[] args) throws InterruptedException { EventQueue.invokeLater(new Runnable() { @Override public void run() { try { AdminManager frame = new AdminManager(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); BoneCP connectionPool = null; Connection connection = null; try { // load the database driver (make sure this […]

Java注释重载?

在我的项目中,我已经定义了类似于以下内容的注释: (省略@Retention , @Target为了简洁) public @interface DecaysTo { String[] value(); } 自从最初编写它以来,我们的需求已经改变,我现在已经定义了一个枚举,我希望能够使用它来代替字符串: public enum Particle { ELECTRON, ANTIELECTRON, NEUTRINO, ANTINEUTRINO, … } 为了避免更新此批注的每个实例,我希望能够使用 String 或 enum Particle的成员构造批注, 而无需更新此批注的每个实例以指定属性。 但是,由于我们定义了注释的属性,而不是构造函数,因此似乎不可能重载它。 // In a perfect world, either of these would work … public @interface DecaysTo { String[] value(); Particle[] value(); } @DecaysTo({“Electron”, …}) @DecaysTo({Particle.ELECTRON, …}) // without […]

RSA加密在生成公钥/私钥之前强制关闭

我正在尝试为RSA加密生成我的第一个公钥/私钥对。 这是我第一次这样做,但通过查看各种教程和网站,我决定使用以下代码。 虽然我的代码没有给我错误,但它强制关闭。 一切都贴出来,包括我的import,可以sombody请帮助我理解为什么我的代码没有生成密钥并给我错误? 是的,我确实在AndroidManifest.xml文件中声明了它 import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.math.BigInteger; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.spec.RSAPrivateKeySpec; import java.security.spec.RSAPublicKeySpec; public class RSA { public static void GenerateKeyPair() { try { KeyPairGenerator kpg = KeyPairGenerator.getInstance(“RSA”); kpg.initialize(4096); KeyPair kp = kpg.genKeyPair(); KeyFactory fact = KeyFactory.getInstance(“RSA”); RSAPublicKeySpec pub = fact.getKeySpec(kp.getPublic(), RSAPublicKeySpec.class); RSAPrivateKeySpec priv = […]

如何删除从Web服务返回的无法识别的字符?

我正在开发一个叫rest网络服务的应用程序。 有时,xml响应包含手机无法显示的字符。 显示这些字符时,会显示一个空框。 我想过滤掉这些字符。 如何检测字符是否能够在屏幕上显示? 一些特定字符包括: http://www.fileformat.info/info/unicode/char/0094/index.htm http://www.fileformat.info/info/unicode/char/0080/index.htm http://www.fileformat。信息/资讯/ Unicode的/炭/ 0092 / index.htm的

MVVM中是否允许操作? Android的

如果MVVM完全是关于数据绑定而不能做像view.doThis()那样的东西,否则它是MVP,那么如何调用视图上的动作呢? 假设我有一个有snackbar视图。 View由其ViewModel控制。 这个ViewModel应该如何显示snackbar而不使用snackbar.show() ?

使用CQL 3.0在集合上创建自定义索引

我一直在查看CQL 3.0 数据建模文档 ,该文档描述了带有标签的列系列歌曲,如下所示: CREATE TABLE songs ( id uuid PRIMARY KEY, title text, tags set ); 我想获得所有具有特定标签的歌曲的列表,因此我需要添加适当的索引。 我可以很容易地在title列上创建一个索引,但是如果我尝试索引一个集合的tags列,就像这样: CREATE INDEX ON songs ( tags ); 我从DataStax Java驱动程序1.0.4收到以下错误: Exception in thread “main” com.datastax.driver.core.exceptions.InvalidQueryException: Indexes on collections are no yet supported at com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:35) at com.datastax.driver.core.ResultSetFuture.extractCauseFromExecutionException(ResultSetFuture.java:269) 根据JIRA问题CASSANDRA-4511 ,看起来这可以在更高版本的Cassandra(2.1)中修复。 我目前正在使用Apache Cassandra 1.2.11,但不想升级。 根据问题CASSANDRA-5615 ,在Cassandra 1.2.6中,对集合的自定义索引有支持。 问题是,唯一可用的文档指出: Cassandra支持创建自定义索引,该索引供内部使用且超出本文档的范围。 但是,它确实建议以下语法: […]

用于XML树可视化的Java-lib

如何从Java可视化XML?

使用Stackoverflow的javasound标签示例播放音频

在今天早些时候阅读javasound标签时,我试图实现我们可以在那里看到的简单代码(进行一些小修改,例如使用File而不是URL ): File file = new File(System.getProperty(“user.dir”) + “/sound.wav”); Clip clip = AudioSystem.getClip(); AudioInputStream ais = AudioSystem.getAudioInputStream(file); clip.open(ais); // exception 但是我得到了一个java.lang.IllegalArgumentException: Invalid format当我尝试打开我们在那里看到的AudioInputStream , java.lang.IllegalArgumentException: Invalid format 。 但是,当我尝试使用以下来自互联网的代码时 File file = new File(System.getProperty(“user.dir”) + “/sound.wav”); AudioInputStream ais = AudioSystem.getAudioInputStream(file); AudioFormat format = ais.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, format); Clip clip = (Clip)AudioSystem.getLine(info); clip.open(ais); […]

如何在没有组件扫描的情况下在xml中配置控制器?

我必须使用spring mvc为银行设计一个非常大规模的项目。 我已经选择使用XML配置。 我担心的是限制服务器的启动时间。 将有大约2000个控制器。 我已经使用组件扫描来扫描@Controller 。 它工作正常。 但是,问题是当我从XML中删除组件扫描并在XML中手动使用bean配置添加控制器bean时,它没有在IOC容器中创建控制器实例。 并给我404未找到的错误。 那么如何在没有XML扫描的组件的情况下配置控制器。 以下是我的代码示例。 有帮助吗? servlet的context.xml中 <!—-> 根的context.xml ContactSetupController.java package com.stl.afs.ci.cca.controller; import org.hibernate.Query; import org.hibernate.SessionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping(“/contactsetup”) public class ContactSetupController { private static final Logger logger = LoggerFactory.getLogger(ContactSetupController.class); private ContactSetupDao contactSetupDao; […]