小编Jan*_*nne的帖子

在Java Web应用程序中从应用程序服务器外部提供静态数据的最简单方法

我有一个在Tomcat上运行的Java Web应用程序.我想加载静态图像,这些图像将在Web UI和应用程序生成的PDF文件中显示.此外,还将通过Web UI上传添加和保存新图像.

通过将静态数据存储在Web容器中但从Web容器外部存储和加载它们来解决这个问题并不是一个问题.

我不想在此时使用像Apache这样的单独的Web服务器来提供静态数据.我也不喜欢将图像以二进制形式存储在数据库中.

我已经看到一些建议,比如将图像目录作为指向Web容器外部目录的符号链接,但这种方法是否适用于Windows和*nix环境?

有人建议编写一个过滤器或servlet来处理图像服务,但这些建议非常模糊和高级别,没有指向如何实现这一目标的更详细信息.

tomcat servlets static-content java-ee

129
推荐指数
5
解决办法
14万
查看次数

如何在LaTeX中编写"C++"

如何在LaTeX中编写"C++"以使输出看起来不错.例如C$++$看起来不太好:加号太大而且空间太大.

latex

54
推荐指数
4
解决办法
5万
查看次数

从集合中返回唯一元素的正确方法

我有以下情况:

Set<Element> set = getSetFromSomewhere();
if (set.size() == 1) {
    // return the only element
} else {
    throw new Exception("Something is not right..");
}
Run Code Online (Sandbox Code Playgroud)

假设我无法更改返回类型getSetFromSomewhere(),是否有更好或更正确的方法来返回集合中的唯一元素

  • 迭代集合并立即返回
  • 从集合和调用创建列表 .get(0)

java collections set

43
推荐指数
4
解决办法
2万
查看次数

如何在React中为每列两个单元格建模HTML表格?

我最近一直在学习React,我遇到了一个问题,试图建模并呈现以下结构的HTML表(请注意使用标题的colspan属性将列拆分为两个).

+---------------------+---------------------+-----+-------------------+
|     Col 1 Header    |     Col 2 Header    | ... | Col N header      |
+----------+----------+----------+----------+-----+---------+---------+
| Data 1A  | Data 1B  | Data 2A  | Data 2B  | ... | Data NA | Data NB |
+----------+----------+----------+----------+-----+---------+---------+
| Data 1A  | Data 1B  | Data 2A  | Data 2B  | ... | Data NA | Data NB |
+----------+----------+----------+----------+-----+---------+---------+
Run Code Online (Sandbox Code Playgroud)

我已经像这样建模了表格:

主要组件Table,呈现:

<table> 
  <thead>
    <tr>
    {headers}  <!-- <Header/> components -->
    </tr>
  </thead>
  <tbody>
    {rows}     <!-- <Row/> …
Run Code Online (Sandbox Code Playgroud)

reactjs

13
推荐指数
2
解决办法
2万
查看次数

一次执行多个本机查询

我想知道是否可以SQLQuery#executeUpdate()在Hibernate(3.2)中使用一次调用执行几个以分号分隔的SQL更新查询.

我有包含多个更新的字符串,如下所示:

String statements = "UPDATE Foo SET bar=1*30.00 WHERE baz=1; 
                     UPDATE Foo SET bar=2*45.50 WHERE baz=2;...";
Run Code Online (Sandbox Code Playgroud)

我正在努力做到

 Query query = session.createSQLQuery(statements);
 query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

但是不断收到以下错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near 
'UPDATE Foo SET bar=Y WHERE ' at line 3
Run Code Online (Sandbox Code Playgroud)

如果我执行statements手工的内容我没有错误,所以我假设多个分号分隔的查询在Hibernate或JDBC的某处造成麻烦.

分割statements字符串并createSQLQuery(statement).executeUpdate()为每一行单独执行是否更好?

java mysql hibernate native

10
推荐指数
2
解决办法
8651
查看次数

带有电话号码的Android模拟器?

我正在研究客户端 - 服务器Android应用程序,并试图找出如何明确地识别服务器的不同电话/用户.我的第一次尝试是使用SIM卡上的电话号码.虽然我现在考虑过这个问题,但是当你改变运营商时,你的电话号码有多少变化?我想这取决于国家/地区等.

无论如何,我一直想弄清楚,因为我没有实际的Android手机,如何更改模拟器手机的手机号码来模拟不同的用户.是否有可能或者我应该考虑其他识别方法?

android emulation identification

6
推荐指数
1
解决办法
6888
查看次数

为基于Hibernate的应用程序实现数据历史/版本控制解决方案(带有扭曲)

首先是基本事实:Java webapp,Spring,Hibernate,MySQL.

情况是我有一个复杂的对象模型,例如汽车.它由许多物体(发动机,轮胎......)组成,它们之间具有多对一和一对多的关系.

现在有很多车,不时有人检查汽车并创建检查报告.报告指的是汽车的许多部件,显示其属性等.

到目前为止,系统还没有支持在汽车进入系统后更新汽车及其零件属性的能力.这意味着如果底盘颜色或轮胎数量发生变化,旧报告将反映出这种变化,这不是我们想要的.

那么,现在已经请求了这个功能.汽车及其零件需要可修改,并且必须创建版本历史记录.旧报告需要参考旧版本的零件及其值.

我一直在关注" 慢慢改变尺寸 ",似乎汽车及其零件的版本化可以通过Type 6方法完成.

我遇到麻烦(可能是由于我有限的Hibernate经验)的事情(扭曲)是这样的:

如何使用Hibernate组合我的Report实例,以便它们引用汽车每个部分的正确版本?报告有一个日期,汽车零件的每个版本都有有效的日期范围,所以我想我可以用一些复杂的HQL/SQL来做.但是有没有更简单,更自动的方式来使用Hibernate?

java mysql versioning hibernate datahistory

6
推荐指数
2
解决办法
5860
查看次数

Wicket DropDownChoice中的分隔符

是否有一些明显的方法可以将分隔符添加到Wicket DropDownChoice中的选项列表中?在我的情况下,我用我的数据源中的两种类型的域对象填充选择.我想我可以去选择列表中手动添加某种虚拟域对象,但感觉非常难看.

例:

+---------+-+
| Apple   |?|
| Orange  +-+
| ------- |
| Carrot  |
| Cucumber|
+---------+
Run Code Online (Sandbox Code Playgroud)

当前代码(没有任何分隔符)看起来像:

EntityModel model = getModel();
List<? extends Produce> foods = foodService.getAllProduce(); 
// getAllProduce() returns first all fruits, then all vegetables
add(new DropDownChoice<Produce>(
    "produceSelect", new PropertyModel<Produce>(model, "favProduce"), foods)
);
Run Code Online (Sandbox Code Playgroud)

java wicket drop-down-menu

5
推荐指数
3
解决办法
2611
查看次数

响应Android联系人应用程序中的新联系人

每当用户在Android Contacts应用程序中添加新联系人时,我都想执行某项操作.它将包括使用新联系人的信息.

是否有捷径可寻?是否有一些事件可以被监听,或者我是否必须扩展联系人应用程序本身?或者,如果不可行,我应该考虑其他方法.

android android-contacts

4
推荐指数
1
解决办法
1823
查看次数

使用番石榴从一个转变为多个

我有这种情况,我想从多个源对象中提取多个值到一个集合.我试图通过Guava的转换实现这一目标,但遇到了我收回一系列集合的问题,我必须手动"扁平化".有没有一种很好的方法可以直接在平面集合中获得结果?

private static final Function<Target, Collection<Integer>> EXTRACT_FUNCTION = new Function<SourceObject, Collection<Integer>>() {
    @Override
    public Collection<Integer> apply(SourceObject o) {
        // extract and return a collection of integers from o
        return Lists.newArrayList(..);
    }
};

Collection<SourceObject> sourceObjects = ...
Collection<Collection<Integer>>> nestedResults = transform(sourceObjects, EXTRACT_FUNCTION);

// Now I have to manually flatten the results by looping and doing addAll over the nestedResults.. 
// Can this be avoided?
Collection<Integer> results = flattenNestedResults(nestedResults);
Run Code Online (Sandbox Code Playgroud)

java collections transform guava

4
推荐指数
1
解决办法
2390
查看次数

锁定JXL生成的Excel文档中的单元格

有没有办法锁定某些单元格不被用户编辑?我尝试过以下方法:

WritableCellFormat cf = new WritableCellFormat();
cf.setLocked(true);
sheet.addCell(new Number(col, row, value, cf));
Run Code Online (Sandbox Code Playgroud)

但是,这似乎对生成的电子表格没有任何影响,即在Excel中打开文件时仍可以更改单元格内容.

java jxl

2
推荐指数
1
解决办法
4465
查看次数