我在Web应用运行之前,要自动找到WEB-INF\classes\resources下某个A.TXT文件,并且修改它,怎样获得那个路径?

时间:2022-12-21 17:47:51
修改文件的程序是一个Java类。而不是Servlet。
是Java类哦。。

12 个解决方案

#1


独立于web应用的程序,你打算怎么启动?

#2


你的类继承servlet不用行了!

#3


你的类继承servlet不就行了!想怎么用就怎么了!@q@

#4


package com.pushi.emms.system;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * 系统初始化
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: Orbis</p>
 * @author hangjun1980@126.com
 * @version 1.0
 */
public class SysListener
    extends HttpServlet
    implements ServletContextListener {

  private Timer aTimer;
  private ServletContext content;

  public SysListener() {
    aTimer = new Timer();
  }

  public void contextInitialized(ServletContextEvent sce) {
    this.content = sce.getServletContext();
    if(this.content != null){
      //这里可以取得WebApp运行的绝对路径
      Constants.WEBAPPPATH = this.content.getRealPath("/");
    }
  }

  public void contextDestroyed(ServletContextEvent sce) {
    aTimer.cancel();
  }

}


//web.xml
  <listener>
    <listener-class>com.pushi.emms.system.SysListener</listener-class>
  </listener>

#5


侦听器还是一个servlet,还是要依赖容器

#6


除非WEBAPPLICATION启动之前,用普通应用程序去修改

#7


mark

#8


即使是java类处理, 你可以将配置信息传到java类中读取嘛

#9


你在你的servlet或者jsp页面得到绝对路径,然后在你的servlet或者jsp页面调用你的java类去处理就可以了:)

赫赫~
每一个javabean都是一个java类啊~

#10


在Web应用运行之前,要自动找到......
-------------------------------------------
呵呵~
那你就做个配置文件,文件中写明要读取的文件的绝对路径,或者web应用的绝对路径。
运行web之前,让java类读取它就可以了~

或者
把你的web应用的绝对路径写入注册表,
从注册表中读取~

#11


kjeny2002(小杭)  的做法可行的

#12


赫赫~
有什么业务非要web启动之前去更改你那个什么文件呢?
启动之后再更改不可以么?

可以这样啊,比如
你的java文件作成servlet,配置一下web.xml文件中该servlet的启动参数,让该servlet第一个启动,去更改你的文本文件:)

#1


独立于web应用的程序,你打算怎么启动?

#2


你的类继承servlet不用行了!

#3


你的类继承servlet不就行了!想怎么用就怎么了!@q@

#4


package com.pushi.emms.system;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * 系统初始化
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: Orbis</p>
 * @author hangjun1980@126.com
 * @version 1.0
 */
public class SysListener
    extends HttpServlet
    implements ServletContextListener {

  private Timer aTimer;
  private ServletContext content;

  public SysListener() {
    aTimer = new Timer();
  }

  public void contextInitialized(ServletContextEvent sce) {
    this.content = sce.getServletContext();
    if(this.content != null){
      //这里可以取得WebApp运行的绝对路径
      Constants.WEBAPPPATH = this.content.getRealPath("/");
    }
  }

  public void contextDestroyed(ServletContextEvent sce) {
    aTimer.cancel();
  }

}


//web.xml
  <listener>
    <listener-class>com.pushi.emms.system.SysListener</listener-class>
  </listener>

#5


侦听器还是一个servlet,还是要依赖容器

#6


除非WEBAPPLICATION启动之前,用普通应用程序去修改

#7


mark

#8


即使是java类处理, 你可以将配置信息传到java类中读取嘛

#9


你在你的servlet或者jsp页面得到绝对路径,然后在你的servlet或者jsp页面调用你的java类去处理就可以了:)

赫赫~
每一个javabean都是一个java类啊~

#10


在Web应用运行之前,要自动找到......
-------------------------------------------
呵呵~
那你就做个配置文件,文件中写明要读取的文件的绝对路径,或者web应用的绝对路径。
运行web之前,让java类读取它就可以了~

或者
把你的web应用的绝对路径写入注册表,
从注册表中读取~

#11


kjeny2002(小杭)  的做法可行的

#12


赫赫~
有什么业务非要web启动之前去更改你那个什么文件呢?
启动之后再更改不可以么?

可以这样啊,比如
你的java文件作成servlet,配置一下web.xml文件中该servlet的启动参数,让该servlet第一个启动,去更改你的文本文件:)