- 浏览: 821812 次
- 性别:
- 来自: 北京、四川
文章分类
最新评论
-
sunbeamzheng:
总结的很好,好好看看。 拷贝问题确实很需要注意,特别是影不影响 ...
java深拷贝与浅拷贝 -
xmh8023:
...
获取POST数据的值 -
xmh8023:
我访问别的服务器怎么办?急求
获取POST数据的值 -
xmh8023:
String urlString="http://l ...
获取POST数据的值 -
lv12312:
Tomcat 7的老版本么?有bug的,https://iss ...
JMX问题
upload.java
demo.jsp
需要的包有:commons-io commons-fileupload
import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Iterator; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; 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; public class Upload extends HttpServlet { private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 解决中文乱码 String encoding="utf-8"; request.setCharacterEncoding(encoding); response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sevletFileUpload = new ServletFileUpload(factory); // 设置允许用户上传文件大小,单位:字节,这里设为2m sevletFileUpload.setSizeMax(2 * 1024 * 1024 * 100); // 设置最多只允许在内存中存储的数据,单位:字节 factory.setSizeThreshold(4096); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 factory.setRepository(new File("d:\\upload\\temp")); // 开始读取上传信息 List fileItems = sevletFileUpload.parseRequest(request); // 依次处理每个上传的文件 Iterator iter = fileItems.iterator(); // 正则匹配,过滤路径取文件名 String regExp = ".+\\\\(.+)$"; //上传的路径 String path="D:\\upload\\"; // 过滤掉的文件类型 String[] errorType = { ".exe", ".com", ".cgi", ".asp",".class" }; String[] accessType={".rar",".txt"}; Pattern p = Pattern.compile(regExp); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // 忽略其他不是文件域的所有表单信息 if (!item.isFormField()) { String name = item.getName(); long size = item.getSize(); double mSize=size/(1024); if ((name == null || name.equals("")) && size == 0) continue; Matcher m = p.matcher(name); boolean result = m.find(); if (result) { for (int temp = 0; temp < errorType.length; temp++) { if (m.group(1).endsWith(errorType[temp])) { throw new IOException(name + ": 非法文件类型禁止上传"); } } // for (int temp = 0; temp < accessType.length; temp++) { // // if (!m.group(1).endsWith(accessType[temp])) { // // throw new IOException(name + ": 非法文件类型禁止上传"); // // } // // } try { // 保存上传的文件到指定的目录 item.write(new File(path+ m.group(1))); // 在下文中上传文件至数据库时,将对这里改写开始 String str=m.group(1); int start=str.lastIndexOf(".")+1; int end=str.length(); String fileName=str.substring(0,start-1); String type=m.group(1).substring(start, end); Date date=new Date(); Calendar calendar=new GregorianCalendar(); String printDate=calendar.get(calendar.YEAR)+"年"; printDate+=(calendar.get(calendar.MONTH)+1)+"月"; printDate+=calendar.get(calendar.DAY_OF_MONTH)+"日"; SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日"); //simpleDateFormat.format(date).toString(); out.print("文件上传成功:<br>"); out.print("文件名:"+name + " " +"<br>"); out.print("上传后的文件:"+path+m.group(1)+"<br>"); out.print("文件大小:"+ mSize + "K<br>"); out.print("文件格式:"+type+"<br>"); out.print("文件名:"+fileName+"<br>"); out.print("上传时间: "+printDate+"<br>"); out.print("simpleDateFormat:"+simpleDateFormat.format(date).toString()); // 在下文中上传文件至数据库时,将对这里改写结束 } catch (Exception e) { out.println(e); } } else { throw new IOException("上传失败!"); } } } } catch (IOException e) { out.println(e); } catch (FileUploadException e) { out.println(e); } } }
demo.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>DEMO</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> upload <form action="upload" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="file" /> <input type="submit" name="submit" value="上传" /> </form> <br> </body> </html>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>upload</servlet-name> <servlet-class>Upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping> </web-app>
需要的包有:commons-io commons-fileupload
发表评论
-
Java并发编程:volatile关键字解析
2015-07-30 11:30 595转:http://www.cnblogs.com/dolp ... -
Java内存模型
2015-07-29 13:55 8781. 概述 多任务和 ... -
自定义classloader
2015-07-29 13:54 641转:http://tiantian911.iteye.com ... -
自定义ClassLoader实现java应用核心逻辑模块热部署
2015-07-29 13:51 966转:http://blog.csdn.net/zhangda ... -
java classloader原理初探
2015-07-29 10:14 629转:http://www.cnblogs.com/ ... -
Java 内存分配全面浅析
2015-07-29 08:52 575转:http://blog.csdn.net/shimi ... -
http stream
2014-07-29 16:38 1076StringBuilder sb = new String ... -
Tomcat远程调试
2011-04-09 12:33 1037需要在Tomcat中的catalina.bat中添加如下的一行 ... -
用jmx监控多台服务器(tomcat)
2010-09-08 18:25 4537因为需要写一个后台监控服务器的程序,涉及到jmx,也涉 ... -
call cmd /c start 一点疑问
2010-09-01 10:16 2215call "cmd /c start aaa.bat ... -
Windows计划任务之schtasks
2010-08-30 13:21 3546创建:SCHTASKS /Create /RU SYSTEM ... -
ajax返回值中有中文存在的乱码现象
2010-08-27 16:28 1411ajax返回值中有中文存在的乱码现象,解决就加入下面一行代码即 ... -
MIME TYPE
2010-08-26 16:23 7216最近要做需要在页面上放音频的东西,因此需要用到mime typ ... -
JMX问题
2010-08-20 17:20 5464这个问题貌似是启动tomcat之后就获取不到jmx的链接了,不 ... -
Eclipse控制台乱码
2010-08-05 15:18 4855安装了Eclipse,在运行tomcat时,控制台的中文显示乱 ... -
JMX服务端和客户端的代码
2010-07-27 15:37 3519服务端代码如下 package com.rmi; i ... -
JMX连接Tomcat的JMX测试类
2010-07-27 15:33 3264首先是为了使tomcat支持JMX,必须在tomcat的启动项 ... -
JMX的一个链接类
2010-07-27 09:37 1429package com.pachira.oamp.jmxS ... -
java中文转unicode码
2010-07-22 11:04 43322转载地址:http://www.iteye.com/topic ... -
获取POST数据的值
2010-07-21 14:17 9870当method为POST,Content-Type为 ...
相关推荐
commons-fileupload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力 commons-io 用来帮助进行IO功能开发.它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-...
commons-fileupload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力 commons-io 用来帮助进行IO功能开发.它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-...
FileUpload能以多种方式使用,这取决于你的应用需求。举个简单的例子,你可能调用一个单独的方法来解析servelt的请求,并且处理那些项目。从另一个方面来讲,你可能想自定义FileUpload来完全控制个别项目的存贮;...
Java_FTPClient实现文件上传下载,所用到的jar包有: commons-net-1.4.1.jar jakarta-oro.jar
java实现ftp上传jar包,里边包括edtftpj.jar、commons-net-1.4.1.jar、jakarta-oro-2.0.8.jar
原始的 Java 类来自于Jakarta Tomcat 4.0 项目 Logging Commons-Logging 是一个各种 logging API实现的包裹类. Math Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言...
11.commons-dbcp.jar:是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。 12.commons-DbUtils.jar:Apache组织提供的一个资源JDBC工具类库,它是对JDBC的简单封装,对传统操作...
主要介绍了JAVA技术实现上传下载文件到FTP服务器(完整),本文使用 Apache Jakarta Commons Net(commons-net-3.3.jar) 基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作,需要的朋友可以参考下
将 commons-fileupload1.4 中的引用类 javax.* 修改为 jakarta.* ,支持Java8及Tomcat10以上运行。 使用方法:将Servlet*改为JakSrvlt*,例如 ServletFileUpload 改为 JakSrvltFileUpload 参考博主:...
第1个上传组件commons-fileupload =============commons-fileupload ================ common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载。该组件简单...
这是jakarta提供的commons fileupload组件的jar包和API文档,fileupload组件可以很好的支持文件的上传。
JAVA连接FTP服务器,并上传/下载文件的,使用commons-net包实现ftp服务器的访问,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等..相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。 一、上传文件 原理不介绍了,大家直接...
自己写的Web开发工具包。具体包含下面4个部分: <br> 1. 一个简单的servlet+javabean+view的框架,并支持了Freemarker模板;... 对jakarta commons-fileupload封装便于上传下载的工具类。 <br>
本文给大家介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。非常不错具有参考借鉴价值,感兴趣的朋友一起学习吧
本文介绍了如何使用Apache Jakarta Commons Net(commons-net-3.3.jar)基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作,需要的朋友可以参考下
上传的lib包中需要加入以下文件,因为容量过大,没有上传,请见谅! antlr-2.7.6.jar antlr-2.7.6rc1.jar aopalliance.jar asm.jar asm-attrs.jar asm-commons-2.2.3.jar asm-util-2.2.3.jar aspectjrt.jar ...
如果我们自己使用java.net.HttpURLConnection来搞定这些问题是很恐怖的事情,因此在开始之前我们先要介绍一下一个开放源码的项目,这个项目就是Apache开源组织中的httpclient,它隶属于Jakarta的commons项目,目前的...
2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 3.1. 简介 3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.2. ...
2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.7.1.1. Jar包 2.7.1.2. XML配置 2.7.1.3. Deprecated的类和方法 2.7.1.4. Apache OJB 2.7.1.5. iBatis 2.8. 更新的样例应用 2.9. 改进的...