JavaBean都没有上下文,从哪里获得web路径?

解决方案 »

  1.   

    JSP,Servlet在Web容器中运行,允许用户访问,可以得到上下文,顾可以的到web目录。javabean在不在Web容器中运行,也就是说不允许Web访问,也就没有web目录这一概念,你怎么得到web目录?
    你可以得到的是package路径。
      

  2.   

    小弟办法愚笨 但是能解决问题    public String getRealPath(){
            String path1 = this.getClass().getResource("/").getPath();
            String path2 = path1.substring(1 , path1.indexOf("/classes"));
            String realpath = path2
            //System.out.println(path2);
            return realpath;
        }
      

  3.   

    监测 是否在 Web 中运行.
    是的话,就用上面的例子.
      

  4.   

    把 webapp 的路径写在一个配置文件里面,就可以了,
      

  5.   

    用这一句就可以了
    String path = System.getProperty("user.dir");
    path就是你的web路径
      

  6.   

    在bean中加参数
    例如
    getPath(HttpServletRequest request)
    就可以调用
    config.getServletContext().getRealPath("/");
      

  7.   

    被抢先了,传入一个request就可以了啊
      

  8.   

    再bean里面我们一般是用把路径放在系统固定的参数里面
    例如再rdas.properties里面加IMPORT_PATH = /url/
      

  9.   

    没有  Context 就让给一个 Request 参数,或者全局配置监听器启动是把一些只有处于 Context 才能访问到的全局参数放入一个  static 域中, 其他的 JavaBean 只要检测一个  ServletContext initialized 标记,检测到了就表示 WebApp 已经启动了,可以取 static 变量,而且它应该是有效的,即使是 null 。public class ConfigListener implements ServletContextListener {
    private ServletContext context = null;
     private static boolean initialized = false;
      public void contextInitialized(ServletContextEvent event)
    {
    context = event.getServletContext();
    initialized  = true;
    } public void contextDestroyed(ServletContextEvent event)
    {
    context = event.getServletContext();
    } public static ServletContext getServletContext(){
        if( ! initialized )
             throw new IllegalStateException(" ServletContext not initialized.");
     }
       public static boolean isServletContextInitialized(){
         return initialized ;
       }
    }# web.xml<web-app>
       <listener>
          <listener-class>ConfigListener </listener>  </listener><!-- other entries --></web-app>
      

  10.   

    // 少写了一句。
    public static ServletContext getServletContext(){
        if( ! initialized )
             throw new IllegalStateException(" ServletContext not initialized.");   return context; 
     }