使用jsp和serlvet来实现最简单的上传,供大家参考,具体内容如下
1、页面index.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<%@ 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<? 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。