Я не могу запустить метод Java со страницы JSP - PullRequest
0 голосов
/ 07 сентября 2011

Я загружаю файл jsp (index.jsp) и файл java (easyTesting.java) на сервер и не могу запустить метод из easyTesting.java.

Использование:

TomCat 6 в UNIX, версия сервера 5.1.41-3ubuntu12.10

это мой index.jsp

`<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  

"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Layer Easy testing</title>
</head>

<body>
<form action="poi.jsp" method="post">
<INPUT type="button" value="Create script file" onClick = <% link.startCode(); %>  

"window.location.reload()"><br>
<br>
Select POIs type
<div align="left"><br>
<input type="radio" name="poi" value="1"  checked > dynamic<br>
<input type="radio" name="poi" value="2">static<br>
<input type="radio" name="poi" value="3"> both<br>

<INPUT type="submit"  value="save"  ><br>

</div>
</form>
</body>
</html>

`

и пакет файлов Java, Layar;

 import java.io.*;

 public class easyTesting 
 {
    public  void startCode() 
 {
   File f = new File("http:79.125.23.143/~lezv/layertestnew.php");
    if(!f.exists())
    {
     f.createNewFile();
    }
    else 
    {
     f.delete();
    }
    }enter code here

   }

И когда я открываю http://79.125.23.143:8080/lezv/index.jsp

я получаю следующую ошибку

description The server encountered an internal error () that prevented it from   

fulfilling this request.

exception

 org.apache.jasper.JasperException: An exception occurred processing JSP page   

 /index.jsp at line 12

 9: <jsp:useBean id="link" class = "layar.easyTesting" />
 10: <body>
 11: <form action="poi.jsp" method="post">
 12: <INPUT type="button" value="Create script file" onClick = <% link.startCode(); %>   

 "window.location.reload()"><br>
 13: <br>
 14: Select POIs type
 15: <div align="left"><br>


 Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.ja 
 va:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:407)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  root cause

  java.io.IOException: Permission denied
java.io.UnixFileSystem.createFileExclusively(Native Method)
java.io.File.createNewFile(File.java:900)
layar.easyTesting.startCode(easyTesting.java:12)
org.apache.jsp.index_jsp._jspService(index_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:2

Не могли бы вы помочь мне

1 Ответ

0 голосов
/ 07 сентября 2011

Метод вызывается, но встречается исключение:

java.io.IOException: Permission denied
java.io.UnixFileSystem.createFileExclusively(Native Method)
java.io.File.createNewFile(File.java:900)
layar.easyTesting.startCode(easyTesting.java:12)

Исключение говорит о том, что у вас нет прав для создания файла.

File f = new File("http:79.125.23.143/~lezv/layertestnew.php");

Это немногостранного имени файла.Может быть, вам нужно перевести URL, который вы хотите, чтобы этот PHP имел в локальный путь к файлу?В сущности, эти слэши, скорее всего, будут интерпретироваться как имена каталогов, поэтому вам нужно как минимум убедиться, что родительские каталоги существуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...