首页 > 编程 > Java > 正文

java组件smartupload实现上传文件功能

2019-11-26 13:42:22
字体:
来源:转载
供稿:网友

使用jsp和serlvet来实现最简单的上传,供大家参考,具体内容如下

1、页面index.jsp

<%@ page language="java" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>  <head>  <base href="<%=basePath%>">  <title>index.jsp</title>  <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">  </head>  <body>  <form action="upload" method="post" enctype="multipart/form-data">  <br>  姓名:<input type="text" name="uname"/>  <br>  上传文件:<input type="file" name="pic"/>  <br>  <input type="submit" value="提交"></input>  </form>  </body> </html> 

2、action跳转到了upload的servlet,所以要web.xml里面配置,web.xml:

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <servlet>  <servlet-name>uploadAction</servlet-name>  <servlet-class>com.pop.action.SmartuploadAction</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>uploadAction</servlet-name>  <url-pattern>/upload/*</url-pattern>  </servlet-mapping>  <welcome-file-list>  <welcome-file>index.jsp</welcome-file>  </welcome-file-list> </web-app> 

3、映射到的action文件,SmartuploadAction.java:

package com.pop.action;  import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.JspFactory; import javax.servlet.jsp.PageContext;  import com.soft4j.httpupload4j.Request; import com.soft4j.httpupload4j.SmartUpload; import com.soft4j.httpupload4j.SmartUploadException;  public class SmartuploadAction extends HttpServlet {  private static final long serialVersionUID = -8610555375032925108L;  @Override  protected void doPost(HttpServletRequest req, HttpServletResponse resp)   throws ServletException, IOException {  req.setCharacterEncoding("utf-8");  resp.setCharacterEncoding("utf-8");  SmartUpload su = new SmartUpload();  // 由于multipart/form-data的传输原因导致req不能使用,所以使用smartupload产生的request  Request reqest = su.getRequest();  // 获得pageContext对象  PageContext pageContext = JspFactory.getDefaultFactory()   .getPageContext(this, req, resp, null, true, 8192, true);  su.initialize(pageContext);  try {   su.upload();   // 上传到本项目的upload目录   su.save("upload");  } catch (SmartUploadException e) {   e.printStackTrace();  }  // 使用smartupload产生的reqest对象来获得页面传递的参数  String uname = reqest.getParameter("uname");  System.out.println(uname);  } } 

最后说明:使用的组件包为smartupload.zip。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表