【发布时间】:2016-12-11 15:42:46
【问题描述】:
我刚开始学习Java,这是我在Stack Overflow上的第一个问题,所以请不要对我评价太苛刻)
我使用 Netbeans 8.02、GlassFish 4.0、JavaEE7、Spring 4.01。 (没有 Maven。没有休眠。) (新建项目->Java Web->Web 应用)
我在 URL localhost:8080/MyProject/x/y.htm 中创建了“源包/XController.java”,我得到了这个工作:
@Controller
public class XController {
@RequestMapping("/x/y.htm")
public String yAction(ModelMap modelMap) {
modelMap.put("printme", "Hello World!");
return "x/y";
}
}
是否有可能摆脱注释,因为它们都有相同的规则:如果 URL 是 http://localhost:8080/MyProject/a/b 它会自动使用 AController.BAction() 并自动将视图设置为 WEB-INF/jsp/a/ b.jsp ?
理想情况下,操作代码应如下所示:
public Void yAction() {
this.modelMap.put("printme", "Hello World!");
}
如果 URL 为 http://localhost:8080/MyProject/a/b/hello,则对应的方法如下所示:
public Void yAction(String msg) {
this.modelMap.put("printme", msg);
}
如果找不到控制器、动作或视图,或者动作的参数不正确,则只是异常,无需进一步解析。
所以问题是 - 使用现代 Spring 功能实现它的正确方法是什么,但如果不可能,那么使用纯 Java?
也可以手动进行,例如重定向到同一个地址,然后解析 URL,然后运行相应的 Controller.Method() ,但看起来不太好)
【问题讨论】:
标签: java spring netbeans-8 glassfish-4