收集的一些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 + “
”);
                }
            }
}
 
说明:
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的支持

猜你喜欢

转载自blog.csdn.net/Retank/article/details/88557946