我正在使用Spring MVC 3,并且遇到了URL映射问题.我有一个方法
@Controller
public class DocumentController {
@RequestMapping( value="/docs/pupil/classes/{courseCategoryType}", method=RequestMethod.GET )
public ModelAndView listClassesForPupil( @PathVariable("courseCategoryType") final String courseCategoryType ){
System.err.print( "\n\n\n\t\t--- XXXXX ---\n\n\n" );
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Spring URI模板语法,我知道它已被映射,因为在控制台中我看到:
11:22:12,108 INFO DefaultAnnotationHandlerMapping:411 - Mapped URL path [/docs/pupil/classes/{courseCategoryType}] onto handler 'documentController'
11:22:12,108 INFO DefaultAnnotationHandlerMapping:411 - Mapped URL path [/docs/pupil/classes/{courseCategoryType}.*] onto handler 'documentController'
11:22:12,108 INFO DefaultAnnotationHandlerMapping:411 - Mapped URL path [/docs/pupil/classes/{courseCategoryType}/] onto handler 'documentController'
Run Code Online (Sandbox Code Playgroud)
但是,当我https://localhost/docs/pupil/classes/ACADEMIC在浏览器中输入URL 时出现404错误,我在控制台中看不到任何打印出来的内容.我替换了抛出异常的打印输出代码,它似乎也没有被抛出.同事建议应该有一种方法来查看URL解析是如何完成的,但谷歌搜索似乎没有出现任何问题.
有关如何调试这个的任何建议?
我有一个MyServer类,其中包含一个Map,其键是MyClientType对象,其值是MyClient对象.我想在类图中描述这种关系,但我无法找到一种干净的方法来做到这一点.
我想知道是否有一些功能可以从类似的界面生成装饰器的骨架Generate Setters and Getters.我想从接口创建一个类,该接口接受该接口的实例并实现每个方法,因为在实例上使用相同的参数调用相同的方法.我有一个丑陋的类来自我想要装饰的库,但它有~50种方法,我只想改变其中一种的功能,并希望节省一些打字.有这样的事吗?
示例,给定界面:
interface FooBar{
void foo( Object o );
Object bar();
}
Run Code Online (Sandbox Code Playgroud)
产生类似的东西:
class FooBarDecorator implements FooBar{
private final FooBar fubee;
FooBarDecorator( final FooBar fb ){
this.fubee = fb;
}
public void foo( Object o ){
this.fubee.foo( o );
}
public Object bar(){
return this.fubee.bar();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Netbeans 7.1 IDE编写Java 7代码.从Java 1.7软件包中,他们在应用程序中使用了一个新主题.
我能做些什么才能使我的应用程序主题完全成为操作系统中的主题(即如果我使用Ubuntu,我希望我的程序的外观和感觉是Ubuntu的主题)?
我不确定我是否完全明白其中的区别.WebDriver API还可以直接控制所选的浏览器.什么时候应该使用硒遥控器(selenium RC)?
现在,我目前的情况是我正在测试一个Web应用程序,通过编写一个带有Selenium WebDriver API的套件并让它在我的计算机上运行.测试需要更长时间才能完成,所以我一直在寻找在Linux服务器上运行测试的方法.
如果我使用Selenium Remote Control,这是否意味着我必须重写我用WebDriver API编写的所有东西?
我对Selenium Grid,Hudson,Selenium RC感到困惑.我为Hudson找到了一个Selenium Grid插件,但不确定这是否包含Selenium RC.
我采取正确的路线吗?我设想了以下架构:
我认为这比使用WebDriver API在我当前工作的台式计算机上运行测试更有时间效率.
所以有一天,当我查看维基百科页面上的Java字节码时,我遇到了这个例子:
请考虑以下Java代码:
outer:
for (int i = 2; i < 1000; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0)
continue outer;
}
System.out.println (i);
}
Run Code Online (Sandbox Code Playgroud)
假设上面的代码放在一个方法中,Java编译器可能会将上面的Java代码转换为字节代码,如下所示:
0: iconst_2
1: istore_1
2: iload_1
3: sipush 1000
6: if_icmpge 44
9: iconst_2
10: istore_2
11: iload_2
12: iload_1
13: if_icmpge 31
16: iload_1
17: iload_2
18: irem
19: ifne 25
22: goto 38
25: iinc 2, 1
28: goto 11
31: getstatic …Run Code Online (Sandbox Code Playgroud) 我知道在一天内要求两次这是mauvais ton,但这是另一个Maven益智游戏:
我有一个父POM,它定义了5个模块(5个子项目).由于每个模块的执行方式完全相同,因此我将<profile><build>节段拉入父POM以消除重复的代码.现在 - 如果我从每个模块单独执行构建它可以工作,但是如果我想一次构建所有模块并移动到父目录我得到错误,因为Maven尝试执行的第一件事是父项目本身:
mvn package -P release
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] DWD Parent project
[INFO] Projects
Run Code Online (Sandbox Code Playgroud)
之后构建失败,因为exec插件尝试执行不存在的东西.看一下输出很明显反应堆插件正在驱动构建但是如何配置reactor跳过父代?
PS为了防止混淆 - 我试图抑制父级的配置文件执行,并在same构建期间在子级上启用它
我尝试使用Java和Maven构建我的第一个可执行规范.我用这个结构创建了一个简单的项目:
specification
|-src
|-test
|-java
|-mypackage
|-MyFeatureTest.java
|-resources
|-MyFeature.feature
Run Code Online (Sandbox Code Playgroud)
在junit测试中MyFeatureTest.java我有这个:
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
public class HomepageTest {
}
Run Code Online (Sandbox Code Playgroud)
现在https://github.com/cucumber/cucumber-jvm/wiki/IDE-support说我应该添加以下行:
@Cucumber.Options(paths={"my/super.feature:34"})
Run Code Online (Sandbox Code Playgroud)
我试着修改它
@Cucumber.Options(paths={"src/test/resources/"})
Run Code Online (Sandbox Code Playgroud)
但注释@Cucumber.Options根本不可用.我pom.xml有这种依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.0.0.RC20</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.0.0.RC20</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
更新我遗漏了一些东西:黄瓜特征文件必须在子目录中src/test/resources/mypackage/.否则,junit测试不会接收它.
当我将它们放在同一目录中时src/main/test/,我可以运行我的功能测试,所以它对我来说不是一个阻止器.但我想了解整个设置.