2011-09-07 11 views
0

jspファイル(index.jsp)とJavaファイル(easyTesting.java)をサーバーにアップロードし、easyTesting.javaからメソッドを起動できません。jspページからjavaメソッドを起動できません

利用:UNIX上

のTomcat 6、サーバのバージョン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ファイルです パッケージレイアー;

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

を開いたとき、私は次のerrror

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 

あなたはメソッドが呼び出されますが、例外が発生している私

答えて

0

助けてもらえ取得:

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"); 

これは奇妙なファイル名です。 PHPが必要とするURLをローカルファイルパスに変換する必要があるかもしれませんか?つまり、これらのスラッシュはディレクトリ名として解釈される可能性が高いため、少なくとも親ディレクトリが存在することを確認する必要があります。

+0

UNIXシステムに置かれているTomcatはなぜ\\の代わりに/を使用しているのですか?ですから、どのディレクトリにサーバー上で作成する必要があるphpファイルのファイルパスを記述する必要がありますか?http://79.125.23.143/~lezv/ – Alex

+0

... "/home/lezv/htdocs/layertestnew.php"例。 – Thilo

+0

ファイルパスにlayertestnew.phpを書きましたが、他のエラーが出ました。org.apache.jasper.JasperException:/index.jsp(9,0)useBeanクラス属性layar.Testingの値が無効です。 \t org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) \t org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) \t org.apache.jasper.compiler。 ErrorDispatcher.jspError(ErrorDispatcher.java:148) \t org.apache.jasper.compiler.Generator $ GenerateVisitor.visit(Generator.java:1220) – Alex

関連する問題