小编Hen*_*rik的帖子

Spring MVC Web应用程序:应用程序上下文启动两次

我正在开发一个Spring MVC REST API.一切正常,这很好,但我从日志中注意到,每次重新启动应用程序时,applicationContext都会加载两次:一次是tomcat加载war文件,第二次是第一次访问web应用程序时客户.

我举几个例子:

我启动tomcat后:

Apr 11, 2013 10:14:35 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
Apr 11, 2013 10:14:36 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
2013-04-11 10:14:36 INFO  ContextLoader:273 - Root WebApplicationContext:     initialization started
2013-04-11 10:14:36 INFO  XmlWebApplicationContext:510 - Refreshing Root     WebApplicationContext: startup date [Thu Apr 11 10:14:36 EDT 2013]; root of context hierarchy
2013-04-11 10:14:36 INFO  XmlBeanDefinitionReader:315 - Loading XML bean definitions     from ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]
2013-04-11 10:14:36 INFO  XmlBeanDefinitionReader:315 - Loading XML …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat web.xml spring-mvc

23
推荐指数
1
解决办法
2万
查看次数

使用easymock,重复void方法调用

我是easymock的新手.

我试图模拟一个服务,其中一个方法是一个void方法,将被称为未知(和大)次数.如何指定允许任意数量的呼叫?

我知道如何为具有非void返回类型的方法执行此操作.

谢谢

java junit easymock

22
推荐指数
1
解决办法
2万
查看次数

如何检查用户是否使用新的facebook php api登录

我正在使用PHP API将旧的FB应用程序迁移到新的图形API

我有两个页面:公共的(不需要用户登录)和私人的(有)

所以我的应用程序中每个php页面的代码如下:

if (this_page_requires_user_login){
      $facebook = new Facebook(...) ;
      $session = $facebook->getSession ;
      if (!$session){
              $url =$facebook.getLoginUrl(array(next => current_page );
              echo "<fb:redirect url=$url/>" ;

}
// the rest of the code continues here
Run Code Online (Sandbox Code Playgroud)

现在您可以看到,这种工作方式将每个页面转发到登录URL,当它工作时,它也很慢并且将&session = {bla}字符串附加到非常单个URL.

在将用户重定向到登录页面之前,我需要一种方法来检查用户已登录的位置.但我在php api中找不到这样的方法.最好的方法是什么?

编辑

这似乎可以解决问题

if ($session) {
  try {
    $me = $facebook->api('/me');
    if ($me) {
       // here comes your code for user who is logged in
    }
  } catch (FacebookApiException $e) {
    login()
  }
}else{
 login()
}

function login(){ …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api facebook-login

17
推荐指数
1
解决办法
3万
查看次数

没有EJB3,java web项目架构如何?

我和朋友正在构建一个基于java的相当复杂的网站.(PHP本来会更明显,但我们选择了java,因为这个项目的教育方面对我们很重要)

我们已经决定在前端使用JSF(包含richfaces),在后端使用JPA,到目前为止我们已决定不使用EJB3作为业务层.

我们决定不使用EJB3的原因是 - 如果我错了请纠正我 - 如果我们使用EJB3,我们只能在像jboss这样的完整的java应用服务器上运行它,如果我们不使用EJB3,我们可以仍然在像tomcat这样的轻量级服务器上运行它.我们希望记住未来Web服务器的速度和成本.

到目前为止,我已经完成了两个Java EE项目,并且都使用了完整的堆栈

  • 卷筒纸
  • 商业逻辑
  • 工厂/坚持服务
  • 实体

每层都有一个单独的模块.

现在这是我的问题,如果你不在业务逻辑层使用EJB3.这层是什么样的?请问在没有ejb3的情况下开发java web项目时常见的做法是什么?您是否认为业务逻辑层可以完全抛出并在后台bean中具有业务逻辑?如果保留图层,是否所有业务方法都是静态的?或者您是否根据需要在每个会话中根据需要初始化每个业务类?

java architecture web-applications java-ee ejb-3.0

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

Spring Security oauth2,为什么我的auth/token验证CLIENT但返回404?

编辑

我删除了我在这里发布的错误配置,因为我觉得已经有足够的错误/不完整的配置了.经过几天的努力,它让一切按照我想要的方式运作,所以我在这里发布了答案.

java spring spring-security oauth-2.0

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

使用自定义相等函数检查两个集合是否相同(忽略顺序)

我有两个Foo系列.我无法改变Foo的实现,而Foo的equals函数实现不正确.我也不能继承Foo.我做自定义相等功能:我已经使用guava的Predicate函数实现了.为了给你一个想法,实现看起来有点像这样.

new Predicate<Pair<Foo, Foo>>() {
        @Override
        public boolean apply(@Nullable Pair<Foo, Foo> input) {
          Foo one = input.getFirst();
          Foo two = input.getSecond();
          return Objects.equals(one.getId(), two.getId());
        }
      };
Run Code Online (Sandbox Code Playgroud)

现在我需要检查我的两个Foo集合是否包含忽略订单的相同项目

我正在寻找使用此自定义相等功能执行此操作的最佳方法.

java equality guava

2
推荐指数
1
解决办法
1034
查看次数