资源简介
本示例通过java自动生成pfx证书,根据生成的证书,自动实现对pdf文件的电子签名
代码片段和文件信息
package com.yonyou.com;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
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.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.yonyou.com.util.PKCS;
import com.yonyou.com.util.signPDF;
public class UpLoadFilePdf extends HttpServlet {
@Override
protected void service(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
request.setCharacterEncoding(“utf-8“);
response.setContentType(“text/html;utf-8“);
response.setCharacterEncoding(“utf-8“);
PrintWriter outPut=response.getWriter();
//得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
String savePath = this.getServletContext().getRealPath(“/WEB-INF/upload“);
// String savePath1=this.getServletContext().getRealPath(“/WEB-INF/upload“);
//设置生成证书路径
String pfxPath = this.getServletContext().getRealPath(“/WEB-INF/pfx“);
File file = new File(savePath);
//判断上传文件的保存目录是否存在
if (!file.exists() && !file.isDirectory()) {
System.out.println(savePath+“目录不存在,需要创建“);
//创建目录
file.mkdir();
}
file=new File(pfxPath);
//判断上传文件的保存目录是否存在
if (!file.exists() && !file.isDirectory()) {
System.out.println(savePath+“目录不存在,需要创建“);
//创建目录
file.mkdir();
}
//消息提示
String message = ““;
try{
//使用解析器解析
//使用Apache文件上传组件处理文件上传步骤:
//1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//2、创建一个文件上传解析器
ServletFileUpload upload = new ServletFileUpload(factory);
//解决上传文件名的中文乱码
// upload.setHeaderEncoding(“UTF-8“);
//3、判断提交上来的数据是否是上传表单的数据
// if(!ServletFileUpload.isMultipartContent(request)){
// //按照传统方式获取数据
// return;
// }
//4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List集合,每一个FileItem对应一个Form表单的输入项
List list = upload.parseRequest(request);
for(FileItem item : list){
//如果fileitem中封装的是普通输入项的数据
if(item.isFormField()){
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 841 2016-04-25 10:53 signautre\.classpath
文件 1042 2016-04-19 14:18 signautre\.project
文件 503 2016-04-19 14:18 signautre\.settings\.jsdtscope
文件 205 2016-04-19 16:44 signautre\.settings\org.eclipse.core.resources.prefs
文件 364 2016-04-19 14:18 signautre\.settings\org.eclipse.jdt.core.prefs
文件 479 2016-04-19 14:18 signautre\.settings\org.eclipse.wst.common.component
文件 345 2016-04-19 14:18 signautre\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2016-04-19 14:18 signautre\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2016-04-19 14:18 signautre\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 5022 2016-05-06 10:39 signautre\build\classes\com\yonyou\com\UpLoadFilePdf.class
文件 5001 2016-05-06 10:39 signautre\build\classes\com\yonyou\com\util\KeyStoreFactory.class
文件 3496 2016-05-06 10:39 signautre\build\classes\com\yonyou\com\util\PKCS.class
文件 2649 2016-05-06 10:39 signautre\build\classes\com\yonyou\com\util\SignatureException.class
文件 6155 2016-05-06 10:39 signautre\build\classes\com\yonyou\com\util\signPDF.class
文件 6725 2016-04-20 12:20 signautre\src\com\yonyou\com\UpLoadFilePdf.java
文件 4596 2016-05-03 17:40 signautre\src\com\yonyou\com\util\KeyStoreFactory.java
文件 2513 2016-04-20 12:27 signautre\src\com\yonyou\com\util\PKCS.java
文件 2707 2016-04-19 15:51 signautre\src\com\yonyou\com\util\SignatureException.java
文件 5316 2016-04-25 10:54 signautre\src\com\yonyou\com\util\signPDF.java
文件 1441 2016-04-20 11:53 signautre\WebContent\fileuploadtest.jsp
文件 267604 2016-03-22 14:00 signautre\WebContent\js\jquery-1.8.0.js
文件 43892 2016-03-22 14:00 signautre\WebContent\js\jquery.form.js
文件 39 2016-04-19 14:18 signautre\WebContent\me
文件 146978 2016-04-20 15:30 signautre\WebContent\WEB-INF\img\12.png
文件 6160 2016-04-20 15:55 signautre\WebContent\WEB-INF\img\13.png
文件 2570 2016-04-20 16:34 signautre\WebContent\WEB-INF\img\sign.png
文件 487135 2012-11-07 08:51 signautre\WebContent\WEB-INF\lib\bcmail-jdk15-1.46.jar
文件 1815677 2012-11-07 08:52 signautre\WebContent\WEB-INF\lib\bcprov-jdk15-1.46.jar
文件 68622 2016-04-19 15:08 signautre\WebContent\WEB-INF\lib\commons-fileupload-1.3.jar
文件 185140 2016-04-20 09:43 signautre\WebContent\WEB-INF\lib\commons-io-2.4.jar
............此处省略25个文件信息
评论
共有 条评论