java组件smartupload实现上传文件功能
时间:2021-02-28 14:51:31|栏目:JAVA代码|点击: 次
使用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。
栏 目:JAVA代码
下一篇:Java8新特性之lambda的作用_动力节点Java学院整理
本文标题:java组件smartupload实现上传文件功能
本文地址:http://www.codeinn.net/misctech/71623.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




