自定义配置文件,路径问题?还有自己的思路问题,请给指个思路方向对错 tomcat服务器jsp路径硬盘 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Thread.currentThread().getContextClassLoader().getResource("/").getPath(); 可以拿到web工程中WEB-INF/classes 路径。服务器启动时,classes文件不会再编译了吧。 问题就在这里,启动时不会编译了,但是配置文件是在启动后才创建出来的。public class InstallAction extends ActionSupport{ @Override public String execute() throws Exception { // 检测文件是否存在,标志是否是初始化过的 // 首先要获取到配置文件web路径 HttpServletRequest request = ServletActionContext.getRequest(); System.out.println(request.getSession().getServletContext().getContextPath()); // /policy System.out.println(request.getSession().getServletContext().getRealPath("")); // F:\于磊\nyohh\policy\WebRoot System.out.println(System.getProperty("user.dir")); // D:\Program Files\apache-tomcat-6.0.37\bin // IOUtil.createFile(request.getSession().getServletContext().getContextPath()+"/src/234.txt"); //D:\policy\src/234.txt IOUtil.createFile(request.getSession().getServletContext().getRealPath("")+"/../src/123.txt"); //F:\于磊\nyohh\policy\src // request.getSession().getServletContext().getRealPath("")+"/../src/123.txt" // request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/123.txt" if (new File(request.getSession().getServletContext().getRealPath("")+"/../src/123.txt").exists()) { System.out.println("src下的创建出来了"); } if (new File(request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/123.txt").exists()) { System.out.println("classes下的创建出来了"); }return SUCCESS;}}我这会刚试出来了。一旦部署后,就是脱离开myeclipse后系统根本就不会去理财你在哪里生成了什么文件。我把做好的项目路径写到server.xml里面后,直接运行startup.bat启动服务器后,访问后试了几遍生成到src下后,classes里面根本就不会出现那个文件。看来这个东西必须写在哪里,读哪里。不过再次感谢你,因为又多了解了到一个拿classes的办法,你可以看我先前的方法有些笨了 String path = Test.class.getResource("/").toString(); 这个也可以拿到,不过有些容器不好使 参看 java代码中获取classpath路径 关于Spring3.x+MyBatis框架 怎么选中表格的一行???请看下面``` 还是中文乱码问题 请帮忙看一下这是什么问题??---JSF 大家都用什么JSP工具? JSP页面中实现文件下载后怎么JAVASCRIPT不管用了? javaewb做一个按钮,用户一点打开用户自己的C盘 新人!请介绍一本jsp的好书!谢谢,我想在3月用高通它(本人一直做asp开发.学过java,但是没有开发过) JBuilder中的汉字变成乱码问题,请大虾指教! JAVA每隔5分钟执行一个方法 求教:applet中使用Clipboard的疑问? 谁能帮我看一下@JoinColumns…这行代码是什么意思?
可以拿到web工程中WEB-INF/classes 路径。
服务器启动时,classes文件不会再编译了吧。
问题就在这里,启动时不会编译了,但是配置文件是在启动后才创建出来的。
public class InstallAction extends ActionSupport
{
@Override
public String execute() throws Exception
{
// 检测文件是否存在,标志是否是初始化过的 // 首先要获取到配置文件web路径 HttpServletRequest request = ServletActionContext.getRequest();
System.out.println(request.getSession().getServletContext().getContextPath()); // /policy
System.out.println(request.getSession().getServletContext().getRealPath("")); // F:\于磊\nyohh\policy\WebRoot
System.out.println(System.getProperty("user.dir")); // D:\Program Files\apache-tomcat-6.0.37\bin
// IOUtil.createFile(request.getSession().getServletContext().getContextPath()+"/src/234.txt"); //D:\policy\src/234.txt
IOUtil.createFile(request.getSession().getServletContext().getRealPath("")+"/../src/123.txt"); //F:\于磊\nyohh\policy\src // request.getSession().getServletContext().getRealPath("")+"/../src/123.txt"
// request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/123.txt"
if (new File(request.getSession().getServletContext().getRealPath("")+"/../src/123.txt").exists())
{
System.out.println("src下的创建出来了");
}
if (new File(request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/123.txt").exists())
{
System.out.println("classes下的创建出来了");
}
return SUCCESS;
}}
我这会刚试出来了。一旦部署后,就是脱离开myeclipse后系统根本就不会去理财你在哪里生成了什么文件。我把做好的项目路径写到server.xml里面后,直接运行startup.bat启动服务器后,访问后试了几遍生成到src下后,classes里面根本就不会出现那个文件。看来这个东西必须写在哪里,读哪里。
不过再次感谢你,因为又多了解了到一个拿classes的办法,你可以看我先前的方法有些笨了
这个也可以拿到,不过有些容器不好使 参看 java代码中获取classpath路径