小编Bal*_*eth的帖子

如何提高g.drawImage()方法的性能来调整图像大小

我有一个应用程序,用户可以在相册中上传图片,但自然上传的图像需要调整大小,因此也有拇指可用,所显示的图片也适合页面(例如800x600).我调整大小的方式是这样的:

Image scaledImage = img.getScaledInstance((int)width, (int)height, Image.SCALE_SMOOTH);
BufferedImage imageBuff = new BufferedImage((int)width, (int)height, BufferedImage.TYPE_INT_RGB);
Graphics g = imageBuff.createGraphics();
g.drawImage(scaledImage, 0, 0, new Color(0,0,0), null);
g.dispose();
Run Code Online (Sandbox Code Playgroud)

它工作得很好.我唯一的问题是这个g.drawImage()方法看起来非常慢,而我无法想象用户要耐心等待上传20张图片20*10秒~3分钟.事实上,在我的电脑上,为单张照片制作3种不同的调整大小需要近40秒.

这还不够好,我正在寻找更快的解决方案.我想知道是否有人可以通过调用shell脚本,命令告诉我有关更好的一个,或者通过调用shell脚本,命令,无论你知道什么,它必须更快,其他一切都无关紧要.

java image-processing

47
推荐指数
7
解决办法
9万
查看次数

Java转义HTML

目前我org.apache.commons.lang.StringEscapeUtils escapeHtml()用来逃避我的字符串中不需要的HTML标签,但后来我意识到它也带有重音符号&something;,,这是我不想要的.

你是否知道任何逃避HTML标签的解决方案,但留下我的特别(好吧,对某些人来说,这里是正常的;])这些字母是什么?

提前致谢!

巴拉兹

html java escaping

37
推荐指数
5
解决办法
6万
查看次数

Maven - settings.xml中的<server />

我使用tomcat-maven-plugin将我的战争部署到服务器.我要做的是在我的pom.xml中配置它:

<configuration>
...
   <url>http://localhost/manager</url>
   <username>admin</username>
   <password>admin</password>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是后来我显然希望将这些设置保存在不同的地方,因为我在我的计算机上工作但是然后有一个升级和一个实时服务器以及服务器的设置不同.

所以让我们使用.m2/settings.xml:

<servers>
    <server>
        <id>local_tomcat</id>
        <username>admin</username>
        <password>admin</password>
    </server>
</servers>
Run Code Online (Sandbox Code Playgroud)

现在更改pom.xml:

<configuration>
    <server>local_tomcat</server>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是在哪里放置服务器的URL?在服务器标签下的settings.xml中没有这个位置!也许是这样的?

<profiles>
  <profile>
     <id>tomcat-config</id>
      <properties>
    <tomcat.url>http://localhost/manager</tomcat.url>
      </properties>
  </profile>
</profiles>

<activeProfiles>
   <activeProfile>tomcat-config</activeProfile>
</activeProfiles>
Run Code Online (Sandbox Code Playgroud)

..并使用$ {tomcat.url}属性.

但问题是,为什么要使用服务器标签settings.xml呢?为什么不使用属性作为用户名和密码呢?或者URL是否也存在于设置URL中,因此我不必使用属性?

maven maven-tomcat-plugin

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

如何使用JPA检查记录是否存在

我想知道给定记录是否存在于数据库中.到目前为止,我已经通过编写JPA查询并通过getSingleResult()方法运行它来实现这一目标.NoResultException如果具有给定参数的记录不存在,则会抛出一个.当然,记录不是必须存在的,所以这有时是正常行为,这就是为什么我问自己,是否需要抛出一个我必须通过catch块来处理的异常?据我所知,异常处理的成本相当大,所以我对这个解决方案并不是很满意,而且,我甚至不需要这个对象,我只需要知道它在DB中是否存在.

有没有更好的方法来检查对象是否存在?例如.使用getResultList()和检查它的大小可能吗?

java jpa

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

禁用特定路由上的默认过滤器 - Spring Cloud Gateway

我正在使用 Spring Cloud Gateway,并且有一个需要跳过default-filters特定路由的用例。

文档没有提到这个选项,有什么方法可以实现吗?

我在源代码中也找不到任何线索。

spring-cloud spring-cloud-gateway

9
推荐指数
0
解决办法
1741
查看次数

有条件地在复合组件中渲染元素的属性

我有以下复合组件:

<?xml version="1.0" encoding="UTF-8"?>
<ui:component xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns:composite="http://java.sun.com/jsf/composite">

    <composite:interface>
        <composite:attribute required="true" name="field" />
        <composite:attribute required="true" name="value" />
        <composite:attribute required="false" name="size"/>
    </composite:interface>

    <composite:implementation>
    ...
            <div class="wrapper">
                <h:inputText value="#{cc.attrs.value}"
                    id="#{field.id}" 
                    rendered="#{field.rendered}" 
                    size="#{cc.attrs.size}">
                </h:inputText>
                <h:messages for="#{field.id}" styleClass="errorMessage"/>
            </div>
    ...
    </composite:implementation>
</ui:component>
Run Code Online (Sandbox Code Playgroud)

问题是,当我在没有设置其size属性的情况下使用此组件时,它仍然会像size=0在html输入元素中一样呈现.

我想要的是h:inputText只有当它具有有效值(例如,非空)时才渲染嵌套的属性.或者,如果没有显式覆盖嵌套元素的所有属性,我想公开它们的所有属性.

怎么可能?

jsf composite-component

7
推荐指数
1
解决办法
9761
查看次数

Java特殊字符替换

我有一个文字:"Csuklásirohamgyötörhetiasvédeket,annyitemlegetikmostanságismétssvédmodelltMagyarországon."

在原始文本中根本没有换行符.

当我通过电子邮件发送此文本(使用gmail)时,我将其编码如下:

Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable

Csukl=E1si roham gy=F6t=F6rheti a sv=E9deket, annyit emlegetik mostans=E1g =
ism=E9t a
sv=E9d modellt Magyarorsz=E1gon. 
Run Code Online (Sandbox Code Playgroud)

在HTML中:

Content-Type: text/html; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable


<span class=3D"Apple-style-span" style=3D"font-family: Helvetica, Verdana, = sans-serif; font-size: 15px; ">Csukl=E1si roham gy=F6t=F6rheti a sv=E9deket= , annyit emlegetik mostans=E1g ism=E9t a sv=E9d modellt Magyarorsz=E1gon.
Run Code Online (Sandbox Code Playgroud)

....

当我尝试将电子邮件正文解析为text/plain时,我无法摆脱两个单词之间的"mostans = E1g = ism = E9t"中的=符号.请注意,HTML编码消息中缺少相同的字符.我不知道那个特殊字符可能是什么,但我需要消除它以取回原始文本.

我试图替换'\n',但它不是那个,如果我在文本中点击'Enter',我可以正确地将它替换为我想要的任何字符.我也试过'\ r'和'\ t'.

所以问题是,我错过了什么?这个特殊角色来自哪里?是因为charser和/或传输编码?如果是这样,我该怎么做才能解决问题并获取原始文本.

欢迎任何帮助.

干杯,巴拉兹

java string email encoding

5
推荐指数
1
解决办法
2710
查看次数

JSF1.2:ui:repeat,a4j:repeat和t:datalist标签之间的区别

你知道这个主题中提到的标签有什么区别吗?

我认为他们应该产生几乎相同的结果但事实证明,在某些情况下ui:repeat(facelets标签)没有像你期望的那样工作,尽管它也被认为是一个基本的迭代组件.

ttomahawka4j是一个richfaces前缀.

欢迎任何评论.

jsf richfaces facelets tomahawk

5
推荐指数
1
解决办法
2375
查看次数

Java替换String中的所有非HTML标记

如果这些部分不是有效的HTML标记,我想替换String中所有看起来像标记的部分.带标签的部分用<>括号括起来.例如.<myemail@email.com>或者<hello>不过<br>,<div>等必须保持.

你知道如何实现这个目标吗?

任何帮助表示赞赏!

干杯,

巴拉兹

java tags html-parsing

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

Java抛出异常与返回catch中的响应

我知道有很多关于异常处理的讨论,但是我需要一些针对我的情况的建议.

我目前正在开发一个Spring MVCController->Services->DAO图层的应用程序.服务类主要捕获两种异常HibernateExceptionIOException.

HibernateException因为如果事务没有成功,服务需要执行回滚,IOException因为它是一个未经检查的异常,需要被捕获或抛出,我更喜欢第一个选项.

现在,在堆栈中进一步处理这些更好的方法是什么:

  1. 我应该将这些异常重新抛出到控制器,并在 ExceptionHandler控制器中发送HTTP错误代码500
  2. 或者在catch块中创建普通JSON response对象,设置status=failure和相应的错误消息并将其返回给Controller?

java exception-handling spring-mvc

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