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

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

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

    和爪哇一起走過的日子

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

    使用spring MVC框架進行文件上傳,步驟如下:

    1:配置web.xml文件。定義DispatcherServlet,DispatcherServlet處理的請求(.htm)也在同一個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注冊了一個編輯器對
    request中的multipart實體進行處理,如果沒有這個方法,上傳將不能進行。
    <--------------------------控制類------------------->
    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:定義一個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:運行tomcat。
    預覽 ie里面:http://localhost/springmvc/index.jsp
    注:
    a:文件目錄為tomcat-HOME/webapps/springmvc/
    .jsp文件都放在根目錄下,.class文件放在/WEB-INF/classes/中

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

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

    評論

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

    主站蜘蛛池模板: 亚洲国产精品人人做人人爽| 最近中文字幕电影大全免费版| 日韩免费观看一级毛片看看| 亚洲人成免费电影| 18观看免费永久视频| 无码欧精品亚洲日韩一区| 国产一区二区免费| 久久久久亚洲AV成人无码网站| baoyu777永久免费视频| 亚洲AV中文无码字幕色三| 国产午夜免费高清久久影院| 亚洲av午夜福利精品一区| 无码日韩精品一区二区三区免费| 91大神亚洲影视在线| av无码免费一区二区三区| 亚洲资源最新版在线观看| 在线免费观看一级片| 亚洲成熟丰满熟妇高潮XXXXX| 四虎影视免费永久在线观看| 一级毛片大全免费播放下载 | 亚洲人成无码久久电影网站| fc2免费人成为视频| 亚洲精品无码永久在线观看你懂的| 日韩免费高清播放器| 91精品国产亚洲爽啪在线影院| 免费可以在线看A∨网站| 青娱乐在线视频免费观看| 久久精品国产亚洲精品| 免费黄网站在线看| 亚洲乱码日产精品BD在线观看| 在线观看免费国产视频| www成人免费视频| 91久久亚洲国产成人精品性色| 四虎影视大全免费入口| 中文字幕乱码一区二区免费| 亚洲一区动漫卡通在线播放| 亚洲?V乱码久久精品蜜桃| 免费无码中文字幕A级毛片| 日韩国产欧美亚洲v片| 亚洲成a人片77777kkkk| 在线观看免费大黄网站|