请教如何在WEB应用启动过程中,当Spring配置Bean时当前的应用名称?

iwaterman 2013-10-28 03:32:40
如题,请问是否有方法? 基本原则是不使用Servlet、Filter。

...全文
289 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级菜鸟 2013-10-29
  • 打赏
  • 举报
回复
引用 8 楼 u012555824 的回复:
[quote=引用 7 楼 xw4265 的回复:] 在spring里面配置一个bean,启动调用init()方法获取当前项目的ContextPath,setAttribute就可以了,类似与这个项目的一个全局变量
嗯,现在就是卡在怎么得到这个ContextPath呢。[/quote]
public class ResourcePathExposer implements ServletContextAware {
	private ServletContext servletContext;

	public void init() {
		getServletContext().setAttribute("ctx", getServletContext().getContextPath());
	
	}
public ServletContext getServletContext() {
		return servletContext;
	}
	public void setServletContext(ServletContext servletContext) {
		this.servletContext = servletContext;
	}


	
	
}
iwaterman 2013-10-29
  • 打赏
  • 举报
回复
引用 7 楼 xw4265 的回复:
在spring里面配置一个bean,启动调用init()方法获取当前项目的ContextPath,setAttribute就可以了,类似与这个项目的一个全局变量
嗯,现在就是卡在怎么得到这个ContextPath呢。
超级菜鸟 2013-10-29
  • 打赏
  • 举报
回复
在spring里面配置一个bean,启动调用init()方法获取当前项目的ContextPath,setAttribute就可以了,类似与这个项目的一个全局变量
iwaterman 2013-10-29
  • 打赏
  • 举报
回复
顶一下,继续求思路。
iwaterman 2013-10-29
  • 打赏
  • 举报
回复
引用 9 楼 xw4265 的回复:
[quote=引用 8 楼 u012555824 的回复:] [quote=引用 7 楼 xw4265 的回复:] 在spring里面配置一个bean,启动调用init()方法获取当前项目的ContextPath,setAttribute就可以了,类似与这个项目的一个全局变量
嗯,现在就是卡在怎么得到这个ContextPath呢。[/quote]
public class ResourcePathExposer implements ServletContextAware {
	private ServletContext servletContext;

	public void init() {
		getServletContext().setAttribute("ctx", getServletContext().getContextPath());
	
	}
public ServletContext getServletContext() {
		return servletContext;
	}
	public void setServletContext(ServletContext servletContext) {
		this.servletContext = servletContext;
	}


	
	
}
[/quote] 收到,谢高手!
iwaterman 2013-10-28
  • 打赏
  • 举报
回复
一个应用包aaa.war,在部署的时候完全可能被改名为bbb.war,我希望程序在程序时得到这个bbb。要求是不能修改web.xml,不能使用Servlet和Filger,框架是Spring。所以我就想在bean的init方法去做这个事情。 各位高手有没有遇到过这种场景,有没有思路指点一下?
chenslong 2013-10-28
  • 打赏
  • 举报
回复
完全看不懂问的啥
月光晒谷 2013-10-28
  • 打赏
  • 举报
回复
没太明白你问的是什么噢
teemai 2013-10-28
  • 打赏
  • 举报
回复
问题不是很清楚。。。是说获取当前工程名称??在启动的init方法去获取,后面都可以使用
Defonds 2013-10-28
  • 打赏
  • 举报
回复
用 property 标签。 bean 类里 set 一下就可以了。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧