[英]Upload File Error using Java EE
以下代碼正在讀取錯誤消息。 特別是,當我鍵入Java代碼時,似乎不會將其識別為Java。例如,它不會自動縮進。 我正在使用JavaServer Faces。 有人知道我在哪里錯嗎?
<%@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>
錯誤日志如下。 第43行是包含<%的行:
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
您可能缺少<%@頁面語言=“ java” contentType =“ text / html; charset = ISO-8859-1”%>。 您的JSP中還存在一些編譯問題(缺少括號等),您需要對其進行修復。
感謝Avijit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.