• 大小: 4.23MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-11
  • 语言: Java
  • 标签:

资源简介

本示例通过java自动生成证书,并根据证书对pdf文件进行电子签名,本程序为b/s结构,在服务器端对上传的文件进行电子签名

资源截图

代码片段和文件信息

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.xml

     文件         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\meta-INF\MANIFEST.MF

     文件     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个文件信息

评论

共有 条评论

相关资源