0
다음 코드는 오류 메시지를 읽는 중입니다. Java 코드는 특히 입력 할 때 Java로 인식되지 않는 것처럼 보입니다. 예를 들어, 자동으로 들여 쓰여지지 않습니다. JavaServer Faces를 사용하고 있습니다. 누구든지 내가 여기서 잘못 가고있는 것에 대해 생각하고 있니?Java EE를 사용하여 파일 업로드 오류
<%@page import="java.io.*"%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!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=UTF-8">
<title>Welcome Page</title>
</head>
<body bgcolor="#2e8b57">
<table style="width:100%">
<tr>
<td colspan="1">
</td>
</tr>
<tr>
<td style="width: 40%"><img src="image.JPG" width="700" height="550"
alt="image2"/></td>
<td style="width: 40%"><font color="white" size="4"><br><b>text goes here</b><br>
<br>text goes here</font></a></td>
</tr>
<tr>
<td colspan="1">
</td>
</tr>
</table>
<form name="uploadForm" action="index.jsp" method="POST" enctype="multipart/form-
data">
<%
String saveFile = new String();
String contentType = request.getContentType();
if((contentType != null) && (contentType.indexOf("multipart/form-data")>=0)){
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[] = new byte(formDataLength[]);
int byteRead = 0;
int totalBytesRead = 0;
while(totalBytesRead<formDataLength){
byteRead = in.read(dataBytes, totalBytes, totalBytesRead, formDataLength);
totalBytesREad +=byteRead;
}
String file = new String(dataBytes);
saveFile = file.substring(file.indexOf("filename=\n")+10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\\")+1, saveFile.indexOf("\""));
int lastIndex = contentType.lastIndexOf("-");
String boundary = contentType.substring(lastIndex + 1, contentType.length();
int pos;
pos = file.indexOf("filename=\" ");
pos = file.indexOf("\n", pos)+ 1;
pos = file.indexOf("\n", pos)+ 1;
pos = file.indexOf("\n", pos)+ 1;
int startPos = ((file.substring(0, pos).getBytes().length;
int endPos = ((file.substring(0, boundaryLocation)).getBytes)).length;
}
}
%>
<input type="file" name="file" value="" />
<input type="submit" value="Submit" name="submit" />
</form>
</body>
</html>
오류 로그는 다음과 같습니다. ; %> 당신은 아마 <퍼센트 @ 페이지 언어를 누락 = "자바"의 contentType = "캐릭터 세트 = ISO-8859-1 text/html과"
org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
'[' expected
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
illegal start of expression
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
';' expected
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
')' expected
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
')' expected
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
';' expected
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
';' expected
PWC6197: An error occurred at line: 43 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
not a statement
PWC6199: Generated servlet error:
'try' without 'catch' or 'finally'
PWC6199: Generated servlet error:
illegal start of type
PWC6199: Generated servlet error:
illegal start of type
PWC6199: Generated servlet error:
';' expected
PWC6199: Generated servlet error:
<identifier> expected
PWC6199: Generated servlet error:
<identifier> expected
PWC6199: Generated servlet error:
class, interface, or enum expected
예, 위에 언급 한 태그가 누락되었습니다. 하지만 내가 추가 할 때조차도 동일한 오류가 발생하고 jsp는 Java 코드를 인식하지 못하는 것 같습니다. – Daron
JSP에 JSF taglib을 포함시키는 경우 jar가 모듈에 추가되었는지 확인하십시오. 그렇지 않으면 서버가 JSP를 컴파일 할 수 없습니다. – Avi
taglibs에는 항아리가 있습니다. 양식 태그 (tablib 포함) 사이에 코드를 추가하기 전에 프로그램이 오류없이 작동했습니다. 양식 태그 사이에 문제가있는 것으로 보입니다. Java 코드가 입력 할 때 자동으로 들여 쓰기를하지 않는 것 같은 이유로 나에게 어떤 이유로 Java로 인식되지 않습니다. 그런데 내가 왜 그런지 모르겠다. – Daron