Struts的上传

         文件上传很非常常用的功能,一般的思路都是要么将文件作为二进行数据存储到数据库中,当然这种不常用;还有就是将文件的名字存在数据库中,文件则存在硬盘上一个固定的文件中,这种比较常见,我就介绍比较常见的上传吧,为了简化,并没有将数据入库.

        首先在index.jsp页面,写上

   <li>测试struts上传</li>
   <form action="upload.do"method="post" enctype="multipart/form-data">
                  标题:<inputtype="text" name="title"><br>
                  文件:<inputtype="file" name="myfile"><br>
                  <inputtype="submit" value="提交">
   </form>

        说明 : 需要输入标题和选择文件 . 对于上传文件 ,method 必须为 post,enctype 必须为 multipart/form-data .action upload.do, 所以需要去 xml 文件中配置 action.

         Struts-config.xml页面

<form-beans>
<form-beanname="uploadform"type="com.lyl.struts.UploadActionForm"></form-bean>
</form-beans>
 
<action-mappings>
                <actionpath="/upload"
type="com.lyl.struts.UploadAction"
name="uploadform"
scope="request"
>
<forwardname="success"path="/uploadsuccess.jsp"></forward>
</action>
</action-mappings>

          需要在xml配置,path/upload,ActionUploadAction,ActionFormUploadActionForm.成功之后会跳转到uploadsuccess.jsp页面.

 

          根据jsp页面需要的标题和文件,建立ActionForm

public classUploadActionForm extends ActionForm {
privateString title;
//上传的文件必须采用FormFile声明
privateFormFile myfile;
publicString getTitle() {
returntitle;
}
publicvoid setTitle(String title) {
this.title= title;
}
publicFormFile getMyfile() {
returnmyfile;
}
publicvoid setMyfile(FormFile myfile) {
this.myfile= myfile;
}
}
             然后就是 , Action 页面对于文件的处理 , ActionForm 中获取标题和文件名 , 将文件放置到 c 盘下 . 最后跳转到成功页面 .

public classUploadAction extends Action {
 
publicActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequestrequest, HttpServletResponse response)
throwsException {
UploadActionFormuaf = (UploadActionForm) form;
System.out.println("title="+uaf.getTitle());
System.out.println("fileName="+uaf.getMyfile().getFileName());
uaf.getMyfile().getFileData();
 
FileOutputStreamfos = new FileOutputStream("c:\\"+uaf.getMyfile().getFileName());
fos.write(uaf.getMyfile().getFileData());
fos.flush();
fos.close();
returnmapping.findForward("success");
}
 
}

         uploadsuccess.jsp页面,就是显示一下上传成功的标题和文件名.

文件名称${uploadform.title } ${uploadform.myfile.fileName }
上传成功

         运行效果:输入标题,选择文件


         成功,提示上传成功.


        C盘目录下找到Noname2.txt.


        整个上传就是这样,很简单.但是也是很实用的功能.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值