我已经成功地部署一个Java EE应用程序与tomcat7到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 {
}
}
}
强力球的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--;
}