java组件smartupload实现上传文件功能
使用jsp和serlvet来实现最简单的上传,供大家参考,具体内容如下
1、页面index.jsp
<%@pagelanguage="java"pageEncoding="UTF-8"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <basehref="<%=basePath%>"> <title>index.jsp</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> </head> <body> <formaction="upload"method="post"enctype="multipart/form-data"> <br> 姓名:<inputtype="text"name="uname"/> <br> 上传文件:<inputtype="file"name="pic"/> <br> <inputtype="submit"value="提交"></input> </form> </body> </html>
2、action跳转到了upload的servlet,所以要web.xml里面配置,web.xml:
<?xmlversion="1.0"encoding="UTF-8"?> <web-appversion="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:
packagecom.pop.action;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.jsp.JspFactory;
importjavax.servlet.jsp.PageContext;
importcom.soft4j.httpupload4j.Request;
importcom.soft4j.httpupload4j.SmartUpload;
importcom.soft4j.httpupload4j.SmartUploadException;
publicclassSmartuploadActionextendsHttpServlet{
privatestaticfinallongserialVersionUID=-8610555375032925108L;
@Override
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
SmartUploadsu=newSmartUpload();
//由于multipart/form-data的传输原因导致req不能使用,所以使用smartupload产生的request
Requestreqest=su.getRequest();
//获得pageContext对象
PageContextpageContext=JspFactory.getDefaultFactory()
.getPageContext(this,req,resp,null,true,8192,true);
su.initialize(pageContext);
try{
su.upload();
//上传到本项目的upload目录
su.save("upload");
}catch(SmartUploadExceptione){
e.printStackTrace();
}
//使用smartupload产生的reqest对象来获得页面传递的参数
Stringuname=reqest.getParameter("uname");
System.out.println(uname);
}
}
最后说明:使用的组件包为smartupload.zip。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。