最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Struts文件上傳(FormFile)詳解

 更新時(shí)間:2017年08月25日 08:34:05   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇基于Struts文件上傳(FormFile)詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

Struts中FormFile用于文件進(jìn)行上傳

1.在jsp文件中進(jìn)行定義

<form action="/StrutsFileUpAndDown/register.do" method="post" enctype="multipart/form-data">
 名字:<input type="text" name="name" />
 頭像:<input type="file" name="file"/>
 <input type="submit" value="注冊(cè)用戶">
 </form>

2.在Form表單中定義FormFile

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.form;
 
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
 
/**
 * MyEclipse Struts
 * Creation date: 08-24-2017
 *
 * XDoclet definition:
 * @struts.form name="userForm"
 */
public class UserForm extends ActionForm {
 /*
  * Generated Methods
  */
 
 private String username;
 private FormFile file;
  
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public FormFile getFile() {
  return file;
 }
 public void setFile(FormFile file) {
  this.file = file;
 }
 
}

3.利用struts文件進(jìn)行關(guān)聯(lián)Form,關(guān)聯(lián)以后

1)利用表單實(shí)例進(jìn)行獲取FormFile實(shí)例,在獲取以后,我們可以通過(guò)FormFile獲取上傳文件的各種信息

UserForm userForm = (UserForm) form;
String username = userForm.getUsername();
FormFile file = userForm.getFile();
 
//通過(guò)formFile可以獲取關(guān)于用戶上傳文件的各種信息
//用于獲取文件名字
String fileName = file.getFileName();
//用于獲取文件大小
int fileSize = file.getFileSize();

2)通過(guò)FormFile實(shí)例獲取輸入流,創(chuàng)建一個(gè)輸出流,并且在代碼中獲取tomcat服務(wù)器的絕對(duì)路徑

try {
 //獲取輸入流
 is = file.getInputStream();
 
 //得到輸出流
 //1.得到file文件夾,上傳到tomcat服務(wù)器后的絕對(duì)路徑(file文件為新創(chuàng)建的文件夾)
 String filePath = this.getServlet().getServletContext().getRealPath("/file");
 //兩個(gè)"http://"的其中一個(gè)"/"為轉(zhuǎn)義符
  os=new FileOutputStream(filePath+"\\"+fileName);
  
 int len=0;//表示讀取的字節(jié)
 //做一個(gè)緩存,防止文件過(guò)大而造成錯(cuò)誤
 byte[] buff=new byte[1024];
 while((len=is.read(buff))!=-1)
 {
  os.write(buff,0,len);
 }
 is.close();
 os.close();
}

以上這篇基于Struts文件上傳(FormFile)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot整合mybatis-plus逆向工程的實(shí)現(xiàn)

    springboot整合mybatis-plus逆向工程的實(shí)現(xiàn)

    這篇文章主要介紹了springboot整合mybatis-plus逆向工程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java中獲取List中最后一個(gè)元素的三種方法

    Java中獲取List中最后一個(gè)元素的三種方法

    在Java編程中我們經(jīng)常需要獲取一個(gè)List集合中的最后一個(gè)元素,這篇文章主要給大家介紹了關(guān)于Java中獲取List中最后一個(gè)元素的三種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • SpringBoot使用Redis Stream實(shí)現(xiàn)輕量消息隊(duì)列的示例代碼

    SpringBoot使用Redis Stream實(shí)現(xiàn)輕量消息隊(duì)列的示例代碼

    Redis Stream 是 Redis 5.0 引入的一種數(shù)據(jù)結(jié)構(gòu),用于處理日志類(lèi)型的數(shù)據(jù),它提供了高效、可靠的方式來(lái)處理和存儲(chǔ)時(shí)間序列數(shù)據(jù),如事件、消息等,本文介紹了SpringBoot使用Redis Stream實(shí)現(xiàn)輕量消息隊(duì)列,需要的朋友可以參考下
    2024-08-08
  • Java導(dǎo)入新項(xiàng)目報(bào)錯(cuò)java:JDK?isn‘t?specified?for?module解決辦法

    Java導(dǎo)入新項(xiàng)目報(bào)錯(cuò)java:JDK?isn‘t?specified?for?module解決辦法

    這篇文章主要給大家介紹了關(guān)于Java導(dǎo)入新項(xiàng)目報(bào)錯(cuò)java:JDK?isn‘t?specified?for?module的解決辦法,當(dāng)您在導(dǎo)入Java項(xiàng)目時(shí)遇到錯(cuò)誤時(shí),可以嘗試以下面的方法來(lái)處理,需要的朋友可以參考下
    2024-05-05
  • Java中TreeSet、HashSet、Collection重寫(xiě)比較器的實(shí)現(xiàn)

    Java中TreeSet、HashSet、Collection重寫(xiě)比較器的實(shí)現(xiàn)

    比較器是一種可以對(duì)集合或數(shù)組中的元素按照自定義的方式進(jìn)行排序的對(duì)象,本文主要介紹了Java中TreeSet、HashSet、Collection重寫(xiě)比較器的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-08-08
  • 淺析java貪心算法

    淺析java貪心算法

    這篇文章簡(jiǎn)單主要介紹了java貪心算法,包含貪心算法的基本思路,性質(zhì),以及實(shí)現(xiàn)示例,有需要的小伙伴參考下
    2015-02-02
  • Java中的CountDownLatch閉鎖詳解

    Java中的CountDownLatch閉鎖詳解

    這篇文章主要介紹了Java中的CountDownLatch閉鎖詳解,CountDownLatch用給定的計(jì)數(shù)初始化,await屬于阻塞方法,直到當(dāng)前計(jì)數(shù)達(dá)到零,由于countDown方法被調(diào)用,然后釋放所有await等待的線程,并立即返回線程后續(xù)的await調(diào)用邏輯,需要的朋友可以參考下
    2023-12-12
  • Java設(shè)計(jì)模式之抽象工廠模式

    Java設(shè)計(jì)模式之抽象工廠模式

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之抽象工廠模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Spring-cloud 注冊(cè)服務(wù)提供者搭建方法

    Spring-cloud 注冊(cè)服務(wù)提供者搭建方法

    本篇文章主要介紹了Spring-cloud 注冊(cè)服務(wù)提供者搭建方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 解決MyEclipse出現(xiàn)the user operation is waiting的問(wèn)題

    解決MyEclipse出現(xiàn)the user operation is waiting的問(wèn)題

    今天做項(xiàng)目的時(shí)候每次修改代碼保存后都會(huì)跳出一個(gè)框框,然后就有兩個(gè)進(jìn)度條,上面寫(xiě)the user operation is wating...小編去網(wǎng)上查了查解決了這個(gè)問(wèn)題,下面跟大家分享一下。
    2018-04-04

最新評(píng)論

万盛区| 芜湖市| 绥芬河市| 定远县| 贵州省| 泸溪县| 武城县| 西青区| 黑河市| 瑞昌市| 贵阳市| 巴中市| 扶风县| 西吉县| 中西区| 吉木萨尔县| 水富县| 富源县| 临潭县| 和田市| 青神县| 南丹县| 吴川市| 汨罗市| 定远县| 怀柔区| 遵义县| 邹城市| 崇义县| 额尔古纳市| 酉阳| 克拉玛依市| 华阴市| 兴业县| 信丰县| 天津市| 新营市| 自治县| 奉贤区| 庆阳市| 佛教|