我正在使用下面的代碼將文件上傳到服務器。這是否合適?代碼中的路徑「d:/ new」是服務器路徑還是客戶端PC路徑。我必須在任何地方指定客戶端pc路徑。或者它會直接點擊瀏覽按鈕並選擇文件?除此之外,有沒有更好的方法將文件上傳到服務器?上傳文件(excel)到服務器
的index.html
<html>
<body>
<form class="form-group" action="go" method="post" enctype="multipart/form-data">
<%
Connection connection = null;
Statement statement = null;
String error = "";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/lms_data", "root", "");
statement = connection.createStatement();
ResultSet resultset = statement.executeQuery("select * from assessment_type");
connection.setAutoCommit(false);
%>
<label>Assessment Type</label>
<select class="form-control" name="assessment_type_id">
<% while (resultset.next()) {%>
<option value="<%= resultset.getString(1)%>"><%= resultset.getString(2)%></option>
<% } %>
</select>
<%
ResultSet resultset_cat_id = statement.executeQuery("select * from course_category");
%>
<br/><label>Category Name</label>
<select class="form-control" name="category_id">
<% while (resultset_cat_id.next()) {%>
<option value="<%= resultset_cat_id.getString(1)%>"><%= resultset_cat_id.getString(2)%></option>
<% } %>
</select>
<%
} catch (Exception e) {
if (!connection.isClosed()) {
connection.close();
}
out.println(e);
e.printStackTrace();
}
%>
<label class="control-label">Select File</label>
<input type="file" name="file" id="file"><br/>
<input type="submit" name="submitform" class="btn btn-primary" value="Submit" style="width:20%;border-radius:0px;"><br/><br/>
</form>
</body>
</html>
UploadServlet.java
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import com.oreilly.servlet.MultipartRequest;
public class UploadServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
MultipartRequest m=new MultipartRequest(request,"d:/new");
out.print("successfully uploaded");
}
}
的web.xml
<web-app>
<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/go</url-pattern>
</servlet-mapping>
</web-app>
請注意下次如何粘貼您的代碼。應該很容易閱讀(不是一個代碼塊中的多個文件),而應該正確格式化它。我做了一個快速的改進,因爲你是新的:)(我不能格式化代碼atm,讓別人去做)。 – CodeShark