应用程序不读取输入文本文件

时间:2015-07-25 14:36:44

标签: tomcat java-ee openshift

我已成功使用tomcat7将Java EE应用程序部署到openshift。我部署了war文件并加载了欢迎页面,但是当我的应用程序尝试将输入.txt文件读取到应用程序时,它无法找到它。任何帮助将不胜感激。

我的输入文件(2)位于eclipse项目的/ WEB-INF文件夹中。

这是我的启动servlet的相关代码:

    public void doPost(HttpServletRequest req,
        HttpServletResponse resp) throws ServletException, IOException {

        //  11 lines of code setting strings according to input parameters
        //  from startup jsp which has forms for submitting operations

        if ("Dates and Draws".equals(dates))  {

            Powerball p = new Powerball();
            Megamillions m = new Megamillions();

            String path = this.getServletConfig().getServletContext().getRealPath("/WEB-INF");

            p.appPath = path; // appPath is a class variable
            m.appPath = path;

            p.readnums(req, resp);  // App is not reading input files in readnums methods

            m.readnums(req, resp);



            try  {

                // code for output using readnums methods, reading input files

                } finally {


                }


        }
    }

Powerball servlet readnums(与Megamillions servlet readnums相同)

    void readnums(HttpServletRequest req,
        HttpServletResponse resp) throws ServletException, IOException , FileNotFoundException {

        int i,j;
        String Temp;
        String [] Temp2 = new String [80];


        String path = appPath + "/powerballnumbers.txt";

        File file_check = new File (path);

        if (!file_check.exists()) {

            errorMessage = "Input file not found";  //This is what gets displayed

            resp.setContentType("text/html");
            PrintWriter out = resp.getWriter();


            out.println("<html>");
            out.println("<body>");
            out.println("<h3>" + errorMessage + "</h3>");
            out.println("<br><br>");

            out.println("<form action=\"Startup\" method=\"get\"");
            out.println("Go back to previous page: ");
            out.println("<br><br>");
            out.println("<input type=\"submit\" name=\"action\" value=\"Go Back to previous page\">");
            out.println("</form>");

            out.println("</body>");
            out.println("</html>");

            out.close();

            return;

        } else  {

            errorMessage = "";

        }


        draws = 1;

        BufferedReader br = null;

        br = new BufferedReader (new FileReader(new File(path)));

        while ((Temp = br.readLine()) != null) {

            if (Temp.isEmpty()) break;

            Temp2 = Temp.split("\\s+");

            int LastNonEmpty = -1;

            for (i = 0; i < Temp2.length; i++) {

                if (Temp2[i] != "") {

                    LastNonEmpty += 1;

                    Temp2[LastNonEmpty] = Temp2[i];

                }

            }

            drawdate [draws] = Temp2 [0];

            j = 1;

            for (i = 1; i <= 5; i++) {

                Temp = Temp2 [j];

                nums [draws][i] =  Integer.parseInt(Temp); // nums is class variable

                j ++;
            }

            Temp = Temp2 [6];

            xball [draws] =  Integer.parseInt(Temp); // xball is class variable

            draws++;
        }

        br.close();

        draws--;


    }

1 个答案:

答案 0 :(得分:2)

确保true中的server.xml属性设置为module SessionsHelper # Logs in the given user. def log_in(user) session[:user_id] = user.id end # Returns the current logged-in user (if any). def current_user @current_user ||= User.find_by(id: session[:user_id]) end # Returns true if the user is logged in, false otherwise. def logged_in? !current_user.nil? end end ,否则war文件将不会展开,Tomcat将无法找到您的文件。