收集的一些jar包理解

1.aopalliance-1.0.jar的作用
这个包是AOP联盟的API包,里面包含了针对面向切面的接口。
通常Spring等其它具备动态织入功能的框架依赖此包。
2.aspectjweaver.jar
是spring的切入点表达式需要用的包
3.commons-codec-1.9.jar
commons-codec用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64,URL,Soundx等等。
4.commons-dbcp.jar
主流数据库连接池之一(DBCP、c3p0、proxool),单独使用DBCP需要使用commons-dbpc.jar、commons-collections.jar、commons-pool.jar三个包,都可以在Apache组织的网站上下到(commons.apache.org)。
5.commons-fileupload-1.2.2.jar
Apache的commons-fileupload.jar可方便的实现文件的上传功能

一、简单介绍
使用最为广泛的Java文件上传组件,Struts本身采用这个包来处理文件上传。其基本原理:
FileUpload组件将页面提交的所有元素(普通form表单域,如text和文件域file)都看作一样的FileItem,这样上传页面提交的 request请求也就是一个FileItem的有序组合,FileUpload组件可以解析该request,并返回一个一个的FileItem。而对每一个FileItem,FileUpload组件可以判断出它是普通form表单域还是文件file域,从而根据不同的类型,采取不同的操作--如果是表单域,就读出其值,如果是文件域,就保存文件到服务器硬盘上或者内存中。

二、介绍下 commons-FileUpload上传过程:
首先要引入的.jar文件:
commons-fileupload-1.2.1.jar
commons-io-1.2.jar(此两个文件可以到官网:http://commons.apache.org/ (里面还会有帮助文档API) 下载)
其次值得注意的是,凡是要上载文件的表单都必须设置enctype属性,且属性的值必须是multipart/form-data,同时请求方法必须是POST!!!!
1、检测request中是否包含有multipart内容(isMultipartContent(request)是它的一个静态方法)
ServletFileUpload.isMultipartContent(request)

2、如果有,生成DiskFileItemFactory工厂将进行相关的设置(不知道的情况下也可以不设置)
DiskFileItemFactoryfactory = new DiskFileItemFactory();
// maximum size that will bestored in memory
factory.setSizeThreshold(4096);// 设置缓冲区大小,这里是4kb
// Location to save datathat is larger than maxMemSize.
factory.setRepository(newFile(“d:/”));// 设置临时目录
factory.setHeaderEncoding(“UTF-8”);//设置字符集 防止中文文件名乱码
3、生成上传ServletFileUpload类,并将DiskFileFactory工厂传给它,并对ServletFileUpload进行配置
//Create a new file upload handler
ServletFileUpload upload = newServletFileUpload(factory);
upload.setFileSizeMax(310241024);//设置上传文件大小3M
upload.setSizeMax(610241024);//设置请求总文件大小6M
4、从request得到上传的文件列表,并获得其迭代器
//Parse the request to get file items.
ListfileItems = upload.parseRequest(request);
//Process the uploaded file items
Iteratori = fileItems.iterator();
5、处理文件:写入或者其他操作
while(i.hasNext()) {
FileItemfi = (FileItem) i.next();
if(fi.isFormField()) {//当是表单域时,进行的处理
//Get the uploaded file parameters
StringfieldName = fi.getFieldName();//得到元素的name属性的值
StringfieldValue=fi.getString(“utf-8”);//得到元素的value的值
StringfileName = fi.getName();//这里是表单域,所以得到的是null

                }else {//当是文件域时,将文件保存到硬盘中
                  StringbasePath = request.getRealPath("/upload");
                  StringcontentType = fi.getContentType();
                  booleanisInMemory = fi.isInMemory();
                  longsizeInBytes = fi.getSize();
                 StringfieldName = fi.getFieldName();//得到元素的name属
                  StringfileName = fi.getName();//取得上传的文件名
                    file= new File(basePath+"/"+filename);
                   fi.write(file);
                }
               
                out.println("UploadedFilename: " + fileName + "<br>");
            }
        }

}

说明:
FileItem接口是对用户上传文件的封装
DiskFileItemFactory 实现了FileItemFactory接口,主要方法有public FileItemcreateItem(String fieldName, String contentType, boolean isFormField, StringfileName)
ServletFileUpload从FileUpload继承,而FileUpload又从FileUploadBase继承,功能:分析传入的request对象、得到文件列表FileItemIterator……
6.commons-io-2.4.jar
?
7.commons-logging-1.1.1.jar
apache最早提供的日志的门面接口。避免和具体的日志方案直接耦合。类似于JDBC 的api 接口,具体的的JDBC driver 实现由各数据库提供商实现。通过统一接口解耦,不过其内部也实现了一些简单日志方案。
8.commons-net-1.4.1.jar
java使用commons-net包的FTPClient实现文件的上传下载工具类。
9.commons-pool-1.6.jar
“commons-pool.jar”包主要是配置数据池连接用的。
10.cors-filter-1.7.jar,cors-filter-1.7.jar
应用cors-filter-1.7.jar,还需要java-property-utils-1.9.jar,配置跨域资源共享;
Tomcat下的项目的配置:
首先需要下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个jar包;
然后配置工程项目中web.xml文件,配置信息如下:

CORS
com.thetransactioncompany.cors.CORSFilter

cors.allowOrigin
*


cors.supportedMethods
GET, POST, HEAD, PUT, DELETE


cors.supportedHeaders
Accept, Origin, X-Requested-With, Content-Type, Last-Modified


cors.exposedHeaders
Set-Cookie


cors.supportsCredentials
true

CORS /* 11.fastjson-1.2.13.jar Json处理类; 12.jackson-annotations-2.2.3.jar jackson annotations注解详解,jackson允许使用任意的构造方法或工厂方法来构造实例; 13.jsp-api.jar & servlet-api.jar tomcat需要它才能解析或者说是装载jsp/servlet文件

14.jstl.jar
JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。
15.log4j-1.2.17.jar
是用来输出控制台日志信息的,例如你用Mybaties框架,控制台是不输出详细信息的,加入这个jar包,再建个配置文件,它就会自动输出日志了
16.mybatis-3.2.2.jar
持久层框架,支持定制化 SQL、存储过程以及高级映射
17.mybatis-spring-1.2.0.jar
mybatis和Spring整合包;
18.mysql-connector-java-5.1.0-bin.jar
Java的mysql数据库驱动包;
19.standard.jar
JSP 标准标签库,和jstl.jar 一起使用,在1.0的版本中,但在jstl-1.2.jar 就不在需要了。

Spring jar包的描述:针对3.2.2以上版本
org.springframework spring-aop ——Spring的面向切面编程,提供AOP(面向切面编程)实现
org.springframework spring-aspects —— Spring提供对AspectJ框架的整合
org.springframework spring-beans —— SpringIoC(依赖注入)的基础实现
org.springframework spring-context —— Spring提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等
org.springframework spring-context-support —— Spring-context的扩展支持,用于MVC方面
org.springframework spring-core —— Spring的核心组件
org.springframework spring-expression —— Spring表达式语言
org.springframework spring-instrument —— Spring对服务器的代理接口
org.springframework spring-instrument-tomcat —— Spring对Tomcat的连接池的集成
org.springframework spring-jdbc —— JDBC支持包,包括数据源设置和JDBC访问支持
org.springframework spring-jms —— JMS支持包,包括辅助类来发送和接收JMS消息
org.springframework spring-messaging —— 信息体系结构和协议的支持
org.springframework spring-orm —— 对象/关系映射,整合第三方的ORM框架,如hibernate,ibatis,jdo,以及spring的JPA实现
org.springframework spring-oxm —— 对象的XML映射,可以让Java与XML之间来回切换
org.springframework spring-test —— 对于单元测试和集成测试的简单封装
org.springframework spring-tx —— 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理
org.springframework spring-web —— SpringMVC支持WEB端应用部署架构
org.springframework spring-webmvc —— REST Web服务和Web应用的视图控制器的实现
org.springframework spring-webmvc-portlet —— SpringMVC的增强–MVC的实现作为一个Portlet的环境
org.springframework spring-websocket —— sockjs WebSocket的实现,包括对 STOMP的支持

注:技术交流QQ群-595892258

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Retank

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值