Tag: 路由

java Web应用程序中的动态URL(如在rails中)

我是一个Ruby on Rails开发人员,用Java编写Web应用程序。 我试图实现类似于Rails中实现的东西。 在Rails中,当Users是Model并且1是特定用户的id时,可以使用localhost:8000\Users\1来调用链接。 我想在Java中得到同样的东西。 我在MVC类型设计中工作,我的JSP页面是视图,我的Servlet是控制器。 我创建了一个名为Users的servlet,它现在呈现users.jsp页面,我可以使用URL localhost:8000\projectName\Users访问该页面,我想将localhost:8000\projectName\Users\1路由到页面user.jsp而适当的Servlet将处理向页面发送正确的用户(id = 1)。 知道我怎么能做到这一点? 我在大学项目中这样做,不允许使用任何框架。 我也宁愿我可以编码而不是安装。

骆驼路线和终点

我一直在倾向于Apache Camel文档,试图对其最基本的两个概念(端点和路由)进行具体的理解,虽然这些术语在整个文档中随处可见,但我找不到实际定义它们的参考它们是用来做什么的。 尽管他们的名字听起来相当明显,而且我想我明白了它们是什么,但我现在已经被分配到了一项让我深入Apache Camel Land的任务,而且我理解这些机制至关重要是。 我的猜测是“端点”只是一个bean – 可以像配置文件一样配置在配置文件中 – 将名称映射到URI /端口组合(这取自W3C文档)。 在Apache Camel的上下文中,我的猜测是端点用于将组件连接在一起,因此可以在它们之间形成“路由”(连接/映射)。 因此,当生活在端点1的组件A想要与生活在端点2的组件B通信时,只要存在从1到2的映射,Camel就能够在这两者之间传输消息。 如果我错了,请阻止我并纠正我! 所以现在,我已经看到了可以在Java中配置路由的示例: from(“endpointA”).routeId(“someMessage”).to(“endpointB”); 我已经看到了可以在XML中配置路由的示例: 这两种方法是用于配置路由,还是它们是完全不同的概念? 最后, 端点之间可以路由的消息格式是什么? 例如,如果它必须是XML,那么这些路由消息的XSD /模式是什么? 如果它必须是Java对象,那么哪些边界/限制适用于Camel可以发送的对象? 提前感谢您对这些简单术语的任何清晰,我真的找不到简单的解释。

以30分钟(最近的半小时)递增:

以30为增量舍入整数的最有效方法(在Java中)是什么。 我的输出将是一个整数: 这是我的代码,它以整数forms返回分钟。 long different = endTime.getTime() – startTime.getTime(); int idiff = TimeUnit.MILLISECONDS.toMinutes(different) – TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(different)); 现在我想整理这个整数。 例如: 任何数字<= 30 =最多30个: 31到60之间的任何数字=最多60个 61到90之间的任何数字=最多90个 91到120之间的任何数字=最多120个 任何数字在121到150之间=最多150

Jetty'{servlet} / {parameter}’url路由

我正在使用jetty 9.0.3。 如何将URL(如www.myweb.com/{servlet}/{parameter})映射到给定的servlet和参数? 例如,URL’/ client / 12312’将路由到clientServlet,其doGet方法将接收12312作为参数。

如何使用Play 2.0路由绑定Double参数

我正在学习自己的Play 2.0(使用的是Java API),并希望有一个double / float参数(用于位置坐标),例如http://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253 。 我可以通过将参数作为String并在控制器等处解析它来做到这一点,但我可以在这里使用自动绑定吗? 现在,我首先尝试简单地使用一个double值: GET /events/foo controllers.Application.foo(doublevalue: Double) 同 public static Result foo(Double doublevalue) { return ok(index.render(“Foo:” + doublevalue)); } 我得到的是“找不到类型为Double的QueryString绑定器。尝试为此类型实现隐式QueryStringBindable。” 我是否遗漏了已经提供的内容,或者我是否需要创建一个解析Double的自定义QueryStringBindable? 我在http://julien.richard-foy.fr/blog/2012/04/09/how-to-implement-a-custom-pathbindable-with-play上找到了一些关于使用Scala创建自定义字符串查询字符串绑定器的说明-2 / 我尝试了什么: 我在包装粘合剂上实现了DoubleBinder: import java.util.Map; import play.libs.F.Option; import play.mvc.QueryStringBindable; public class DoubleBinder implements QueryStringBindable{ @Override public Option bind(String key, Map data) { String[] value = data.get(key); if(value == […]

弹簧控制器中的正则表达式

我正在尝试构建一个请求filter,只有当它匹配字母e的模式,然后是数字时才会被使用。 但是我似乎无法让它发挥作用。 每次我尝试使用正则表达式时,我都会遇到400错误。 如果我只是使用以下它“工作”,但也捕获没有我不想要的数字的映射。 @RequestMapping(value = “e{number}”, method = RequestMethod.GET) 我尝试了以下组合。 @RequestMapping(value = “e{number}”, params = “number:\\d+”, method = RequestMethod.GET) @RequestMapping(value = “e{number:\d+}”, method = RequestMethod.GET) @RequestMapping(value = “/e{^\\+?\\d+\$}”, method = RequestMethod.GET) @RequestMapping(value = “/{^\\e+?\\d+\$}”, method = RequestMethod.GET)