0414d364eee1d983181850911559bf7827158b97.svn-base 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package UIB.COM;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.net.URLDecoder;
  5. import javax.faces.application.FacesMessage.Severity;
  6. import javax.servlet.ServletContext;
  7. import javax.servlet.ServletException;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import javax.servlet.jsp.PageContext;
  12. import org.apache.log4j.Logger;
  13. import UIB.UIB03.UIB030310;
  14. /**
  15. *
  16. * @desc 服务器启动时执行,遍历query文件夹,获取所有XML文件。
  17. * @author meiguiping
  18. * @date 2011 5:20:45 PM
  19. */
  20. public class XgSqlServlet extends HttpServlet
  21. {
  22. public XgSqlServlet()
  23. {
  24. super();
  25. }
  26. /**
  27. * 遍历WEB-INF,搜索query文件夹,获取所有XML文件
  28. */
  29. public void init() throws ServletException
  30. {
  31. // Put your code here
  32. try
  33. {
  34. String queryPath = this.getClass().getClassLoader().getResource("/").getPath().replaceFirst("classes/", "");
  35. //遍历WEB-INF,搜索query文件夹
  36. File baseDir = new File(URLDecoder.decode(queryPath, "utf-8"));
  37. File[]targerDir = baseDir.listFiles();
  38. for(int i =0; i <targerDir.length; i++)
  39. {
  40. if(targerDir[i].toString().indexOf("query") != -1)
  41. {
  42. queryPath = targerDir[i].toString();
  43. break;
  44. }
  45. }
  46. ListFilesInDirectory(URLDecoder.decode(queryPath , "utf-8"));
  47. System.out.println("The SQL count is : "+XmlSqlParsersFactory.getInstance().getLen());
  48. // Logger.getAnonymousLogger().log(Level.INFO, "The SQL count is : "+XmlSqlParsersFactory.getInstance().getLen());
  49. }catch(Exception e)
  50. {
  51. e.printStackTrace();
  52. }
  53. }
  54. //get request
  55. public void doGet(HttpServletRequest request, HttpServletResponse response)
  56. throws ServletException, IOException
  57. {
  58. }
  59. //post request
  60. public void doPost(HttpServletRequest request, HttpServletResponse response)
  61. throws ServletException, IOException
  62. {
  63. }
  64. /*
  65. * get or post request
  66. public void service(HttpServletRequest request, HttpServletResponse response)
  67. throws ServletException, IOException
  68. {
  69. System.out.println("doPost。");
  70. }
  71. */
  72. /**
  73. * Destruction of the servlet. <br>
  74. */
  75. public void destroy()
  76. {
  77. super.destroy(); // Just puts "destroy" string in log
  78. }
  79. /**
  80. * @desc 文件夹循环
  81. * @param path
  82. */
  83. public static void ListFilesInDirectory(String path)
  84. {
  85. File file = new File(path);
  86. File[] files = file.listFiles();
  87. int len = files.length;
  88. for(int i = 0; i < len; i++)
  89. {
  90. if(files[i].isDirectory())
  91. {
  92. ListFilesInDirectory(files[i].toString());
  93. }
  94. else
  95. {
  96. //System.out.println(files[i].getAbsolutePath());
  97. DomParserFactory dpf = new DomParserFactory(files[i].getAbsolutePath());
  98. XgDomParser xdp = new XgDomParser();
  99. XmlSqlParsersFactory.getInstance().putAll(xdp.parserEl(dpf.getElement()));
  100. }
  101. }
  102. }
  103. }