在ServiceLayer中获取ServletContext

时间:2010-06-22 10:02:01

标签: java servlets java-ee

在服务层中获取servlet上下文的最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

有很多选择,都错了:

  • 将其放入ThreadLocal(即按请求)并通过ThreadLocalServletContextHolder.get()

  • 获取
  • 将其作为参数传递给服务方法

它们是错误的,因为服务层不应该知道它是为它提供数据的servlet。明天它可能会摆动。

所以正确的方法是在servlet(或控制器)中收集所有必需的参数,并将它们作为参数传递给服务层。更糟糕的选择,但仍然没有那么糟糕的是获取Map属性并改为传递它。