中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP怎么使用

發布時間:2022-02-08 09:23:21 來源:億速云 閱讀:148 作者:iii 欄目:開發技術

這篇文章主要介紹“JSP怎么使用”,在日常操作中,相信很多人在JSP怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JSP怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

JSP全稱Java Server Pages,是一種動態網頁開發技術。它使用JSP標簽在HTML網頁中插入Java代碼。標簽通常以結束,JSP是一種Java servlet,主要用于實現Java web應用程序的用戶界面部分。網頁開發者們通過結合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來編寫JSP。

JSP怎么使用

創建一個文件上傳表單

下面的 HTML 代碼創建了一個文件上傳表單。以下幾點需要注意:

1.表單 method 屬性應該設置為 POST 方法,不能使用 GET 方法。

2.表單 enctype 屬性應該設置為 multipart/form-data.

3.表單 action 屬性應該設置為在后端服務器上處理文件上傳的 Servlet 文件。下面的實例使用了 UploadServlet

4.Servlet 來上傳文件。 上傳單個文件,您應該使用單個帶有屬性 type=”file” 的標簽。為了允許多個文件上傳,請包含多個 name 屬性值不同的 input 標簽。輸入標簽具有不同的名稱屬性的值。瀏覽器會為每個 input 標簽關聯一個瀏覽按鈕。

upload.jsp 文件代碼如下:

"java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%>
nbsp;html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd">"Content-Type" content="text/html; charset=UTF-8">文件上傳實例 - 菜鳥教程

文件上傳實例 - 菜鳥教程

"post" action="/TomcatTest/UploadServlet" enctype="multipart/form-data">    選擇一個文件:    type="file" name="uploadFile" />    

   type="submit" value="上傳" />

編寫后臺 Servlet

以下是 UploadServlet 的源代碼,同于處理文件上傳,在這之前我們先確保依賴包已經引入到項目的 WEB-INF/lib 目錄下:commons-fileupload-1.3.2.jar,commons-io-2.5.jar UploadServlet 的源代碼 如下所示:

package com.runoob.test;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


/**
* Servlet implementation class UploadServlet
*/

// 如果不配置 web.xml ,可以使用下面的代碼
// @WebServlet("/UploadServlet")
public class UploadServlet extends HttpServlet {
   private static final long serialVersionUID = 1L;
   
   // 上傳文件存儲目錄
   private static final String UPLOAD_DIRECTORY = "upload";

   // 上傳配置
   private static final int MEMORY_THRESHOLD   = 1024 * 1024 * 3;  // 3MB
   private static final int MAX_FILE_SIZE      = 1024 * 1024 * 40; // 40MB
   private static final int MAX_REQUEST_SIZE   = 1024 * 1024 * 50; // 50MB

   /**
    * 上傳數據及保存文件
    */
   protected void doPost(HttpServletRequest request,
       HttpServletResponse response) throws ServletException, IOException {
       // 檢測是否為多媒體上傳
       if (!ServletFileUpload.isMultipartContent(request)) {
           // 如果不是則停止
           PrintWriter writer = response.getWriter();
           writer.println("Error: 表單必須包含 enctype=multipart/form-data");
           writer.flush();
           return;
       }

       // 配置上傳參數
       DiskFileItemFactory factory = new DiskFileItemFactory();
       // 設置內存臨界值 - 超過后將產生臨時文件并存儲于臨時目錄中
       factory.setSizeThreshold(MEMORY_THRESHOLD);
       // 設置臨時存儲目錄
       factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

       ServletFileUpload upload = new ServletFileUpload(factory);
       
       // 設置最大文件上傳值
       upload.setFileSizeMax(MAX_FILE_SIZE);
       
       // 設置最大請求值 (包含文件和表單數據)
       upload.setSizeMax(MAX_REQUEST_SIZE);
       
       // 中文處理
       upload.setHeaderEncoding("UTF-8");

       // 構造臨時路徑來存儲上傳的文件
       // 這個路徑相對當前應用的目錄
       String uploadPath = getServletContext().getRealPath("/") + File.separator + UPLOAD_DIRECTORY;
     
       
       // 如果目錄不存在則創建
       File uploadDir = new File(uploadPath);
       if (!uploadDir.exists()) {
           uploadDir.mkdir();
       }

       try {
           // 解析請求的內容提取文件數據
           @SuppressWarnings("unchecked")
           List formItems = upload.parseRequest(request);

           if (formItems != null && formItems.size() > 0) {
               // 迭代表單數據
               for (FileItem item : formItems) {
                   // 處理不在表單中的字段
                   if (!item.isFormField()) {
                       String fileName = new File(item.getName()).getName();
                       String filePath = uploadPath + File.separator + fileName;
                       File storeFile = new File(filePath);
                       // 在控制臺輸出文件的上傳路徑
                       System.out.println(filePath);
                       // 保存文件到硬盤
                       item.write(storeFile);
                       request.setAttribute("message",
                           "文件上傳成功!");
                   }
               }
           }
       } catch (Exception ex) {
           request.setAttribute("message",
                   "錯誤信息: " + ex.getMessage());
       }
       // 跳轉到 message.jsp
       getServletContext().getRequestDispatcher("/message.jsp").forward(
               request, response);
   }
}

message.jsp 文件代碼如下:

"java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%>
nbsp;html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd">"Content-Type" content="text/html; charset=UTF-8">文件上傳結果          ${message}

編譯和運行 Servlet

編譯上面的 Servlet UploadServlet,并在 web.xml 文件中創建所需的條目,如下所示:

<?xml  version="1.0" encoding="UTF-8"?>"http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://java.sun.com/xml/ns/javaee"   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
       http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   id="WebApp_ID" version="2.5">
    UploadServlet   UploadServlet   com.runoob.test.UploadServlet  
    UploadServlet   /TomcatTest/UploadServlet

到此,關于“JSP怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jsp
AI

托里县| 墨竹工卡县| 遵化市| 元朗区| 色达县| 交城县| 尼玛县| 穆棱市| 阿克| 分宜县| 齐齐哈尔市| 丹江口市| 崇文区| 织金县| 太谷县| 浏阳市| 白沙| 巨鹿县| 黄山市| 来凤县| 宜川县| 宽城| 高邮市| 奉新县| 郸城县| 永德县| 县级市| 定兴县| 叶城县| 延安市| 南安市| 正定县| 岚皋县| 郴州市| 新沂市| 乌鲁木齐市| 黔西| 伊川县| 左云县| 泗水县| 陇西县|