windows,linux路劲符号问题

windows,linux路劲符号问题:

File file=new File(homePath+"//WEB-INF//classes//" + filePathName);

 这种不需要加file:///

1.

windows 左斜杠,右斜杠都可以

linux   右斜杠

windows

 \\用3根\\\,用两根的话会报D盘找不到之类

//DocumentBuilder.parse java.net.UnknownHostException: D

systemParameter.setTransFile("file:\\\"+homePath + systemParameter.getTransFile());

systemParameter.setTradeFile("file:\\\"+homePath + systemParameter.getTradeFile());

systemParameter.setCommFile("file:\\\"+homePath + systemParameter.getCommFile());

linux,windows

      digester.addBeanPropertySetter("system/smsaddress/smsrespxmladdr", "respSMSXml");

                        logger.info("=======homePath=================="+homePath);

File file=new File(homePath+"//WEB-INF//classes//" + filePathName);

digester.parse(file);

logger.info("=======filePathName=================="+homePath+"WEB-INF\\classes\\" + filePathName);

//windows,LINUX

 //用3根///,用两根的话会报D盘找不到之类

systemParameter.setTransFile("file:///"+homePath + systemParameter.getTransFile());

systemParameter.setTradeFile("file:///"+homePath + systemParameter.getTradeFile());

systemParameter.setCommFile("file:///"+homePath + systemParameter.getCommFile());

配置文件/

<transfile>/WEB-INF/classes/config/transdef.xml</transfile>

   <!-- 交易文件 -->

   <tradefile>/WEB-INF/classes/config/xml/trdef.xml</tradefile>

   <!-- 交易通讯区配置 -->      

   <commfile>/WEB-INF/classes/config/xml/commdef.xml</commfile>

拼接后\/可以混用,

/\可以

/home/tomcat7/webapps/hb_telesale\WEB-INF/classes/config/xml/trdef.xml

2.

如果是访问文件夹,没有协议,加file://(无论windows还是linux)

no protocol: /home/tomcat7/webapps/hb_telesale/WEB-INF/classes/config/xml/trdef.xml

3.

servlet典型用法

这里面的参数是init方法的参数

<servlet>

   <servlet-name>LoadSystemConfigParameter</servlet-name>

   <servlet-class>core.sys.run.LoadSystemConfigParameterServlet</servlet-class>

   <init-param>

     <param-name>filepathname</param-name>

     <param-value>system.xml</param-value>

   </init-param>

<!-- 数据库数据定时导入导出配置 -->

   <init-param>

       <param-name>dbioImpFilePath</param-name>   

       <param-value>classpath:dbio/import.xml</param-value>   

   </init-param>

   <init-param>

       <param-name>dbioExpFilePath</param-name>   

       <param-value>classpath:dbio/export.xml</param-value>   

   </init-param>

   <load-on-startup>1</load-on-startup>

  </servlet>

system.xml  这个里面拿 

public class LoadSystemConfigParameterServlet

extends HttpServlet

{

private static final long serialVersionUID = 5130241834911695773L;

private static final Log logger = LogFactory.getLog(LoadSystemConfigParameterServlet.class);

public void init(ServletConfig config)

throws ServletException

{

String filePathName = config.getInitParameter("filepathname");

String homePath = config.getServletContext().getRealPath("");

SystemParameter systemParameter = SystemParameter.getInstance();

systemParameter.setSystemHomePath(homePath);

}

}

项目发布地址获取方法

String homePath = config.getServletContext().getRealPath("");

linux是/home/tomcat7/webapps/hb_telesale

windows是D:\ideahblj\target\hb_telesale

4.

classpath:==//WEB-INF//classes//

注意:发布的时候最好之前的文件夹删除

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2392609