<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    和爪哇一起走過的日子

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      12 隨筆 :: 0 文章 :: 6 評論 :: 0 Trackbacks

    使用spring MVC框架進(jìn)行文件上傳,步驟如下:

    1:配置web.xml文件。定義DispatcherServlet,DispatcherServlet處理的請求(.htm)也在同一個(gè)web.xml文件里使用url-mapping定義映射。

     <servlet>
      <servlet-name>upload</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
     
     <servlet-mapping>
      <servlet-name>upload</servlet-name>
      <url-pattern>*.htm</url-pattern>
     </servlet-mapping>
    2:定義upload-servlet.xml文件。
    <bean id="multipartResolver"
           class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- set the max upload size100MB -->
            <property name="maxUploadSize">
            <value>104857600</value>
        </property>
        <property name="maxInMemorySize">
            <value>4096</value>
        </property>
       </bean>
     <bean id="urlMapping"
      class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">       
     <property name="mappings">           
      <props>               
      <prop key="/upload.htm">uploadController</prop>           
      </props>       
     </property>   
     </bean>
         <bean id="uploadController" class="FileUploadController">
          <property name="commandClass"><value>FileUploadBean</value></property>
          <property name="uploadDir"><value>E:/</value></property>
          <property name="formView"><value>fail</value></property>
      <property name="successView"><value>confirmation</value></property>
    </bean>  
    3:定義控制類,commandClass及方法。控制類中最重要的方法是initBinder()它給spring注冊了一個(gè)編輯器對
    request中的multipart實(shí)體進(jìn)行處理,如果沒有這個(gè)方法,上傳將不能進(jìn)行。
    <--------------------------控制類------------------->
    public class FileUploadController extends SimpleFormController {
        private static Log log =
            LogFactory.getLog(FileUploadController.class);
        private String uploadDir;//上傳文件路徑

        protected ModelAndView onSubmit(HttpServletRequest request,
                HttpServletResponse response, Object cmd, BindException errors)
                throws Exception {

                FileUploadBean bean = (FileUploadBean) cmd;
                byte[] bytes = bean.getFile();
              
                //cast to multipart file so we can get additional information
                MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
                CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");

                String uploadDir = this.getUploadDir();

                File dirPath = new File(uploadDir);
                if (!dirPath.exists()) {
                    dirPath.mkdirs();
                }
                String sep = System.getProperty("file.separator");
                if (log.isDebugEnabled()) {
                    log.debug("uploading to: " + uploadDir + sep +
                    file.getOriginalFilename());
                    }
                File uploadedFile = new File(uploadDir + sep
                        + file.getOriginalFilename());
                FileCopyUtils.copy(bytes, uploadedFile);
                System.out.println("********************************");
                System.out.println(uploadedFile.getAbsolutePath());
                System.out.println(bytes.length);
                System.out.println("********************************");
               
         
            return new ModelAndView(getSuccessView() + ".jsp");
        }

        protected void initBinder(HttpServletRequest request,
                ServletRequestDataBinder binder) throws ServletException {
            binder.registerCustomEditor(byte[].class,
                    new ByteArrayMultipartFileEditor());
        }
        public void setUploadDir(String uploadDir){
            this.uploadDir = uploadDir;
        }
        public String getUploadDir(){
            return this.uploadDir;
        }
    }
    <--------------------------控制類------------------------->
    <---------------------定義commandClass-------------------->
    public class FileUploadBean {

        private byte[] file;

        public void setFile(byte[] file) {
            this.file = file;
        }

        public byte[] getFile() {
            return file;
        }

    }
    <---------------------定義commandClass-------------------->
    4:定義一個(gè)form表單index.jsp
    <form method="post" action="upload.htm" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit"/>
    5:定義confirmation.jsp及fail.jsp
    confirmation.jsp如下:
    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    successView
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    Upload Successful
    </h1>
    </body>
    </html>

    fail.jsp如下:
    <html>
    <head>
    <title>Upload a file please</title>
    </head>
    <body>
    <h1>no file,Please upload a file</h1>
    <form method="post" action="uploadfile.htm" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit"/>
    </form>
    </body>
    </html>
    6:運(yùn)行tomcat。
    預(yù)覽 ie里面:http://localhost/springmvc/index.jsp
    注:
    a:文件目錄為tomcat-HOME/webapps/springmvc/
    .jsp文件都放在根目錄下,.class文件放在/WEB-INF/classes/中

    其他文件放在/WEB-INF/里面。
    b:如果連上面的你都有疑問,那還是去看看spring的基礎(chǔ)知識(shí)吧。

    posted on 2005-09-02 11:04 撲撲 閱讀(27966) 評論(1)  編輯  收藏 所屬分類: Spring

    評論

    # re: 使用spring MVC框架進(jìn)行文件上傳 2006-01-11 09:31 yeafee
    從別人的房間拿來的,就該寫在源來之處.  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成av人片天堂网无码】| 亚洲av无码成人黄网站在线观看| 麻豆狠色伊人亚洲综合网站| 免费无码又爽又刺激高潮视频| 亚洲精品字幕在线观看| 国产精品黄页免费高清在线观看 | 亚洲乱码中文论理电影| 最近新韩国日本免费观看| 亚洲精品网站在线观看你懂的| 人妻无码一区二区三区免费| 亚洲综合一区二区精品导航| 在线看无码的免费网站| 亚洲精品国产精品国自产网站| 成人奭片免费观看| 亚洲GV天堂无码男同在线观看| 国产精品免费看久久久久| 日韩免费高清一级毛片| 毛茸茸bbw亚洲人| 免费污视频在线观看| 亚洲国产精品久久久久秋霞影院| 皇色在线视频免费网站| 亚洲AV无码国产剧情| 亚洲精品岛国片在线观看| 波多野结衣免费一区视频 | 亚洲jjzzjjzz在线观看| 色吊丝最新永久免费观看网站| 青青久久精品国产免费看| 国产aⅴ无码专区亚洲av| 无码区日韩特区永久免费系列 | 一级免费黄色毛片| 亚洲av日韩综合一区在线观看| 日本黄网站动漫视频免费| 亚洲а∨精品天堂在线| 亚洲韩国精品无码一区二区三区| 亚洲电影在线免费观看| 国产精品无码亚洲一区二区三区| 中文字幕亚洲无线码| 青娱乐免费视频在线观看| 免费一区二区无码视频在线播放| 亚洲精品人成在线观看| 国产成人免费福利网站|