我想在JavaSpring Webproject中获取ServletContext,并使用它来获取我的Web应用程序项目的绝对路径。我在JavaEE和Spring方面仍然是初学者,所以可能我有一些概念错了。在java类中,我想在其中使用ServletContext,当使用@Autow的ServletContext上下文时,我只得到了一个空对象;但是在我的RestConfigution类中,它扩展了WebMvcConfigrerAdapter类,我得到了ServletContext,并且我可以在JavaBean中使用它,返回类型为ServletContext。但是我不知道,如何在另一个类中使用Bean来获取ServletContext,这可能吗?
@Configuration
@EnableWebMvc
@Import({ ServiceConfiguration.class, SecurityConfiguration.class })
@ComponentScan(basePackages = { "de.rest", "de.security" })
public class RestConfiguration extends WebMvcConfigurerAdapter {
@Autowired
ServletContext context;
@Bean
public ServletContext getServletContext() {
System.out.println("*** Context path: *** " + context.getRealPath("/"));
return context;
}}
多亏了您的帮助,我解决了这个问题,将我的目标类的包添加到@ComponentScan,声明了我的目标类@Component,并插入了我以前使用的Bean。以下是生成的代码片段:
...
@ComponentScan(basePackages = { "de.rest", "de.security", "de.targetPackage" })
public class RestConfiguration extends WebMvcConfigurerAdapter {
...
@Component
public class targetClass {
private static String absoluteServletContextPath;
@Autowired
ServletContext context;
@Bean
public ServletContext getServletContext() {
absoluteServletContextPath = context.getRealPath("/");
System.out.println(absoluteServletContextPath);
return context;
}
@Override
public void myMethod {
absoluteServletContextPath = absoluteServletContextPath.replaceAll("webapp\\\\", "")
.replaceAll("\\\\", "/");}}
你可以写
@Autowired
ServletContext context;
在其他bean注释类中也是如此。您将获得相同的上下文。因此,您无需指定:
@Bean
public ServletContext getServletContext() {
System.out.println("*** Context path: *** " + context.getRealPath("/"));
return context;
}}
例如(在注释中指定的目录中的任何类):
@Bean
class X {
@Autowired
ServletContext context;
...
}
问题内容: 假设您具有以下图像: 现在,我想将每个独立字母提取到单个图像中。目前,我已经恢复了轮廓,然后绘制了一个边框,在这种情况下,是针对角色: 之后,我要提取每个框(在本例中为letter )并将其保存到图像文件中。 预期结果: 到目前为止,这是我的代码: 提前致谢。 问题答案: 以下将给您一封信
主要内容:1. ServletActionContext,2. ServletContextAware,参考在Struts2中,可以使用以下两种方法来获取ServletContext对象。 1. ServletActionContext 直接从 org.apache.struts2.ServletActionContext 获取 ServletContext 对象。 2. ServletContextAware 让你的类实现了org.apache.struts2.util.ServletCont
问题内容: 是否可以从ServletContext获取HttpServletRequest? 问题答案: 是否可以从ServletContext获取HttpServletRequest? 没有。 该代表的应用程序。该应用程序可以涵盖许多会话和请求。但是您无法通过来获取“当前正在运行”的请求或会话。有关servlet和作用域如何工作的详细信息,可以在以下相关答案中找到:servlet如何工作?实例化
问题内容: 到目前为止,这就是我所拥有的:我传递一个具有2个字段的对象:String和Integer作为参数,并且我想发送信息以在C部分中对其进行处理,这在当时并不重要…我抱怨在jstring声明 我想念什么? 问题答案: ……然后一切正常。
我如何将日期时间转换为PST取决于他们在哪里(东部时间或格林尼治时间),并考虑到白天光节省。 任何帮助将是感激的。 谢谢你
我现在有这个JSON文件: 我想获取所有用户名并将其转换为ArrayList。所以我的ArrayList只有用户名、用户名1和用户名2。 我也在使用org. JSON。