jsp+servlet+javaBean实现上传功能
2013-03-26 12:30
579 查看
本人最近刚学了javaWeb,随手做了一个上传功能
Fileupload.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="<%=basePath%>">
<title>上传文件</title>
</head>
<body>
<%
request.setCharacterEncoding("GBK");
%>
<div id="main">
<form action="UploadServlet" method="post"
enctype="multipart/form-data" name="from1">
<center>
<p>选择要上传的文件,文件类型是Word、PDF等</p>
编 号:<input type="text" name="file"><br> <br>
请选择文件:<input type="file" name="file"><br> <br> <input
type="submit" value="上传"> <input type="reset" value="重置">
</center>
</form>
</div>
</body>
</html>
UploadServlet.java
package org.mvc.servlet;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
@SuppressWarnings("serial")
public class UploadServlet extends HttpServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("GBK");
String realPath=this.getServletContext().getRealPath("/saveDir");//上传文件存放目录
String temp=getServletContext().getRealPath("/")+"temp";//临时目录
System.out.println("上传文件存放目录: "+realPath);
File f = new File(realPath) ;
if(!f.exists()){
f.mkdir() ;
}
// boolean isMultipart=ServletFileUpload.isMultipartContent(req);
// if(!isMultipart)
// return;
DiskFileItemFactory factory=new DiskFileItemFactory();//创建磁盘工厂
factory.setSizeThreshold(3*1024);//设置缓冲区的大小,此处为3MB
//factory.setRepository(new File(this.getServletContext().getRealPath("/")+"saveDir"));
//设置临时文件夹
factory.setRepository(new File(realPath)); //设置上传文件的目的地
ServletFileUpload upload=new ServletFileUpload(factory);//创建处理工具,产生servlet上传对象
upload.setFileSizeMax(3145728);//设置最大上传大小为3MB
List<FileItem> items=null;
try {
items=upload.parseRequest(req);//接收全部内容
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
List<FileItem> list = upload.parseRequest(req); //取得所有的上传文件信息
Iterator<FileItem> it = list.iterator();
while(it.hasNext()){
FileItem item = it.next();
if(item.isFormField()==false){ //不是一个普通的表单对象
String fieldName = item.getFieldName();
String fileName = item.getName(); //文件名
String contentType = item.getContentType(); //文件类型
boolean isInMemory = item.isInMemory(); //是否是保存在内存中
long sizeInBytes = item.getSize();
//取文件名
fileName=fileName.substring(fileName.lastIndexOf("\\")+1,fileName.length());
if(!fileName.equals("")&&!(fileName==null)){//如果fileName为null,即没有上传文件
File uploadedFile = new File(realPath,fileName);
try {
item.write(uploadedFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}else{ //取得普通的对象[对于像文本框这种类型的使用]
if(item.getFieldName().equals("userName")){
System.out.println("我的测试:"+item.getString());
}
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
req.getRequestDispatcher("jsp/succes.jsp").forward(req, resp);
}
}
Fileupload.java
package org.mvc.vo;
public class Fileupload {
private String fileId;
private String fileName;
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
Fileupload.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="<%=basePath%>">
<title>上传文件</title>
</head>
<body>
<%
request.setCharacterEncoding("GBK");
%>
<div id="main">
<form action="UploadServlet" method="post"
enctype="multipart/form-data" name="from1">
<center>
<p>选择要上传的文件,文件类型是Word、PDF等</p>
编 号:<input type="text" name="file"><br> <br>
请选择文件:<input type="file" name="file"><br> <br> <input
type="submit" value="上传"> <input type="reset" value="重置">
</center>
</form>
</div>
</body>
</html>
UploadServlet.java
package org.mvc.servlet;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
@SuppressWarnings("serial")
public class UploadServlet extends HttpServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("GBK");
String realPath=this.getServletContext().getRealPath("/saveDir");//上传文件存放目录
String temp=getServletContext().getRealPath("/")+"temp";//临时目录
System.out.println("上传文件存放目录: "+realPath);
File f = new File(realPath) ;
if(!f.exists()){
f.mkdir() ;
}
// boolean isMultipart=ServletFileUpload.isMultipartContent(req);
// if(!isMultipart)
// return;
DiskFileItemFactory factory=new DiskFileItemFactory();//创建磁盘工厂
factory.setSizeThreshold(3*1024);//设置缓冲区的大小,此处为3MB
//factory.setRepository(new File(this.getServletContext().getRealPath("/")+"saveDir"));
//设置临时文件夹
factory.setRepository(new File(realPath)); //设置上传文件的目的地
ServletFileUpload upload=new ServletFileUpload(factory);//创建处理工具,产生servlet上传对象
upload.setFileSizeMax(3145728);//设置最大上传大小为3MB
List<FileItem> items=null;
try {
items=upload.parseRequest(req);//接收全部内容
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
List<FileItem> list = upload.parseRequest(req); //取得所有的上传文件信息
Iterator<FileItem> it = list.iterator();
while(it.hasNext()){
FileItem item = it.next();
if(item.isFormField()==false){ //不是一个普通的表单对象
String fieldName = item.getFieldName();
String fileName = item.getName(); //文件名
String contentType = item.getContentType(); //文件类型
boolean isInMemory = item.isInMemory(); //是否是保存在内存中
long sizeInBytes = item.getSize();
//取文件名
fileName=fileName.substring(fileName.lastIndexOf("\\")+1,fileName.length());
if(!fileName.equals("")&&!(fileName==null)){//如果fileName为null,即没有上传文件
File uploadedFile = new File(realPath,fileName);
try {
item.write(uploadedFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}else{ //取得普通的对象[对于像文本框这种类型的使用]
if(item.getFieldName().equals("userName")){
System.out.println("我的测试:"+item.getString());
}
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
req.getRequestDispatcher("jsp/succes.jsp").forward(req, resp);
}
}
Fileupload.java
package org.mvc.vo;
public class Fileupload {
private String fileId;
private String fileName;
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
相关文章推荐
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
- JSP+Servlet+javabean实现登录功能模块
- MyBlog部分模块---基于Servlet+JSP+JavaBean实现登陆注册验证功能
- jsp+javaBean+servlet+mysql完整的实现一个登录功能
- jsp+javabean+servlet+Mysql实现MVC模式下的注册登录留言功能
- JSP+JavaBean+Servlet实现各类列表分页功能
- java通过jsp+javaBean+servlet实现下载功能
- (jsp 和 servlet功能篇) jsp+servlet+javaBean 实现分页代码(mysql 数据库)
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- Jsp+JavaBean+Servlet实现模拟银行账户存取款等功能的网站(实习第4-8天)
- jsp+servlet实现文件上传与下载功能
- 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录
- jsp+servlet+javabean实现数据分页方法完整实例
- 用JSP+Servlet+JavaBean实现MVC设计模式的流程
- jsp+Javabean+servlet实现添加删除
- Servlet+Jsp实现图片或文件的上传功能
- 《研磨struts2》 第二章 Struts2的HelloWorld 之从Servlet+JSP+JavaBean实现MVC开始
- 用JSP+Javabean+Servlet实现一个投票系统
- 用JSP+Javabean+Servlet实现一个投票系统