我有一个Spring MVC应用程序,它使用FreeMarker作为View技术(但也许视图技术对我的问题并不重要).我需要拦截在请求期间可能抛出的所有异常.
我已经实现了HandlerExceptionResolver,但只有在控制器中发生异常时才会执行此解析程序.但是当控制器返回ModelAndView并且在渲染视图时发生异常(因为找不到变量或类似的东西),则不会调用异常解析器,而是在浏览器窗口中获得堆栈跟踪.
我还尝试在控制器中使用异常处理程序方法,该方法返回视图并使用@ExceptionHandler对其进行注释,但这也不起作用(很可能是因为异常不会在控制器中抛出但在视图中).
那么是否有一些Spring机制可以注册一个捕获视图错误的异常处理程序?
我有一个带JavaScript代码的Maven项目.有一个特殊的javascript编译器插件连接到pom.xml中的编译目标.因此,当我输入"mvn compile"时,src/main/javascript中的JavaScript源代码将被编译(压缩和混淆)并保存到target/classes目录中.在命令行上,这很好用.
但是现在我希望通过使用带有m2eclipse插件的Eclipse来简化开发.每当我更改JavaScript文件时,我都希望Eclipse调用编译目标.我怎样才能做到这一点?当我保存JavaScript文件时,我只是在maven控制台中看到一个"AUTO_BUILD"日志行,就是这样.
在项目首选项中,可以配置生命周期映射.但出于某种原因,我只能将自定义目标添加到"清理后"和"资源已更改".当我将"compile"目标添加到"resource changed"生命周期映射时,我会在更改资源时编译JavaScript文件.所以我可以把我的JavaScript文件放到资源文件夹中,它会工作,但这听起来很难看.
当我告诉Eclipse"清理"我的项目时,它也在工作.然后调用编译目标目标.所以功能就在那里我只想在保存JavaScript文件时执行它.这必须是可能的,不管怎么样?
任何提示?
假设我们有以下Swing应用程序:
final JFrame frame = new JFrame();
final JPanel outer = new JPanel();
frame.add(outer);
JComponent inner = new SomeSpecialComponent();
outer.add(inner);
Run Code Online (Sandbox Code Playgroud)
因此,在此示例中,我们只在框架中有一个外部面板,在面板中有一个特殊组件.隐藏和显示此特殊组件时必须执行某些操作.但问题是setVisible()在外部面板上调用而不是在特殊组件上调用.所以我不能覆盖特殊组件中的setVisible方法,我也不能在其上使用组件监听器.我可以在父组件上注册监听器但是如果外部面板也在另一个面板中并且这个外部外部面板被隐藏了怎么办?
有没有比向所有父组件递归添加组件侦听器以检测SomeSpecialComponent中的可见性更改更简单的解决方案?
我有问题,Tomcat 7在启动时非常慢.我在日志文件中找到了这个:
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [12,367] milliseconds.
Run Code Online (Sandbox Code Playgroud)
安全性很重要,当然,但不是在我的开发机器上.我完全可以使用标准的快速随机数发生器.所以我不需要这个非常慢的SecureRandom实现.
问题是:如何禁用它?搜索解决方案,但只找到一些关于randomClass可以设置为的属性的弃用信息java.util.Random.我还发现这个属性secureRandomClass现在似乎在Tomcat 7中被命名了.我试图将它设置为java.util.Random但是这会失败,因为Tomcat 7将对象强制转换为java.util.SecureRandom(并且还记录了指定的类必须扩展java. util.SecureRandom,因此不再可能使用java.util.Random.)
那么我怎样才能摆脱这个非常慢的随机数生成器启动,以便我的开发tomcat尽可能快地启动/重启?
我是Perl noob,请原谅这个基本问题.我需要修改现有的Perl程序.我想通过外部程序管道一个字符串(可以包含多行)并读取该程序的输出.所以这个外部程序用于修改字符串.我们只是cat用作过滤程序.我试过这样但它不起作用.(输出cat到stdout而不是被读取perl.)
#!/usr/bin/perl
open(MESSAGE, "| cat |") or die("cat failed\n");
print MESSAGE "Line 1\nLine 2\n";
my $message = "";
while (<MESSAGE>)
{
$message .= $_;
}
close(MESSAGE);
print "This is the message: $message\n";
Run Code Online (Sandbox Code Playgroud)
我已经读过Perl不支持它,因为它可能会陷入僵局,我可以理解它.但是我该怎么做呢?
我需要在Windows 7 64位计算机上安装libusb-win32驱动程序.这个驱动程序是开源的,因此没有数字签名所以我想自己这样做,但我想知道这是否可以完成而无需付出很多钱.是否可以使用未经Verisign或GlobalSign签署的证书?也许是自签名或使用StartSSL代替?
如果是的话,我该怎么做?根据操作方法,关于x64内核驱动程序签名的实用真相,我必须使用"交叉证书"(Microsoft列表中只有六个可用,其中大部分都是针对不再有效的CA) .
我不在乎用户是否遇到警告信息.如果用户必须先安装特殊的CA证书,我甚至可以接受.我只需要在没有手动禁用每个Windows启动时的签名检查的情况下运行驱动程序.
这是一个非常特殊的问题,我不确定stackoverflow是否是正确的平台,但我还是试着...
我目前正在编写JSR-80(javax.usb)的实现,并且发现有一个Test Compliance Kit可用.但该测试合规套件需要特殊硬件:"赛普拉斯EZ-USB FX集成电路Xcelerator开发套件CY3671".TCK包含该控制器的固件映像.
问题是:我无法在任何地方找到这个开发板.我只找到以800美元出售它的不起眼的商店.作为一名开源开发人员,我负担不起.现在的问题是:是否有一些兼容的替代方案?赛普拉斯的继任者可能与固件兼容,更有可能在ebay上找到?我在ebay上找到了一个"EZ-USB FX2板",价格实惠(50美元),但我不知道它是否兼容.
我想列出Git存储库中的目录以及每个目录条目的最新提交信息.类似于GitHub如何显示目录或者viewvc如何在SVN/CVS存储库中显示目录.
目前我这样做:
获取目录条目git ls-tree master并从输出中解析目录结构.
然后对于每个目录条目,我这样做:git log -n 1 master -- filename并解析它的提交信息(我指定一个特殊的格式字符串,以使这更容易,但这与我的问题无关).
很明显这很慢,因为我必须为每个文件调用Git.有更快的方法吗?也许我可以执行一个命令来获取我需要的所有数据?
我不明白这一点.我希望能够在一个Maven 3项目现场FindBugs的报告,并通过添加这对我的pom.xml(如上所述做到了这里):
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.4.0</version>
</plugin>
</plugins>
</reporting>
...
</project>
Run Code Online (Sandbox Code Playgroud)
然后我跑了,mvn site但没有生成报告.有趣的是,当我使用版本2.3.1而不是生成报告时.但是2.3.2或2.4.0不起作用.运行时mvn site -X,相关的输出是这样的:
[DEBUG] Inside canGenerateReport..... false
[DEBUG] canGenerate is false
[DEBUG] class org.codehaus.mojo.findbugs.FindBugsGui isMavenReport: false
[DEBUG] skip non MavenReport org.codehaus.mojo:findbugs-maven-plugin:2.4.0:gui
Run Code Online (Sandbox Code Playgroud)
这是什么canGenerate东西?这里出了什么问题?
为了提供一些运行时生成的API文档,我想迭代所有Spring MVC控制器.所有控制器都使用Spring @Controller注释进行注释.目前我这样做:
for (final Object bean: this.context.getBeansWithAnnotation(
Controller.class).values())
{
...Generate controller documentation for the bean...
}
Run Code Online (Sandbox Code Playgroud)
但是这个代码的第一个电话是EXTREMELY缓慢.我想知道Spring是否迭代了类路径中的所有类,而不仅仅是检查已定义的bean.在运行上述代码时,控制器已经加载,日志显示所有这些控制器的请求映射,因此Spring MVC必须已经全部知道它们,并且必须有更快的方法来获取它们的列表.但是怎么样?
java ×6
spring ×2
spring-mvc ×2
certificate ×1
code-signing ×1
controller ×1
eclipse ×1
findbugs ×1
freemarker ×1
git ×1
jsr ×1
m2eclipse ×1
maven ×1
maven-2 ×1
perl ×1
pipe ×1
swing ×1
tomcat ×1
usb ×1
windows ×1