public class UploadServlet3 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //檢測(cè)form是否是multipart/form-data類型的 boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { throw new RuntimeException("The form's enctype attribute value must be multipart/form-data"); } //解析請(qǐng)求內(nèi)容 DiskFileItemFactory factory = new DiskFileItemFactory(); //產(chǎn)生FileItem的工廠 ServletFileUpload sfu = new ServletFileUpload(factory); List<FileItem> items = new ArrayList<FileItem>(); try { items = sfu.parseRequest(request); } catch (FileUploadException e) { throw new RuntimeException("解析請(qǐng)求失敗"); } //遍歷: for (FileItem item : items) { //處理普通字段 if (item.isFormField()) { processFormField(item); } else { //處理上傳字段 processUploadField(item); } } } protected void processUploadField(FileItem item) { try { InputStream in = item.getInputStream(); //找一個(gè)存放文件的位置;存放的文件名 String fileName = item.getName(); //上傳的文件的文件名 if (fileName != null) { fileName = FilenameUtils.getName(fileName); }其中: //存放路徑 String realPath = getServletContext().getRealPath("/WEB-INF/files"); 在部署到tomcat中后,并沒(méi)有發(fā)現(xiàn)上傳后的文件在WEB-INF目錄下,這樣不就不能保證服務(wù)器端的安全嗎?反而是在項(xiàng)目根目錄下發(fā)現(xiàn)的。
3 回答

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

明月笑刀無(wú)情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消