process

//取得所有参数及值;

String url = request.getServletPath() + "?" + request.getQueryString();
     String QueryPath = request.getServletPath() + "?" + request.getQueryString();
     Enumeration enumOne=request.getParameterNames();
     while(enumOne.hasMoreElements()){ 
      String s = (String)enumOne.nextElement(); 
      if(s.equals("method"))
      String queryStr += request.getParameter(s);
      System.out.println("Parameter\t" + s + "\t=\t" +queryStr);
     }

/**
     * 将接收的参数转换编码
     * @param parm
     * @return
     */
    public String enCoderRequestParm(String parm){
  String temp ="";
  try {
   temp= new String(parm.getBytes("ISO-8859-1"), "UTF-8");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  return temp;
 }

/**
     * 下载模板文件,
     * @param filePath
     * @param response
     */
 @SuppressWarnings("unused")
 protected void downTemplateFileTo(String filePath, HttpServletResponse response) {
  File file = new java.io.File(filePath);
  long long_len = file.length();
  FileInputStream inputStream = null;
  try {
   inputStream = new FileInputStream(file);
   if (inputStream != null) {
    String fname = file.getName();
    response.setContentType("application/x-msdownload");
    String header = "attachment; filename=" + fname;
    response.setHeader("Content-Disposition", header);
    response.setContentLength((int) long_len);
    byte[] b = new byte[2048];
    int len = 0;
    while ((len = inputStream.read(b)) != -1) {
     try {
     response.getOutputStream().write(b, 0, len);
     }catch(Exception ex){
      
     }
    }
   }
   inputStream.close();
  } catch (Exception ex) {
   System.out.println("Download error: ");
   ex.printStackTrace();
  }
 }
 
 
  /**
     * 下载模板文件,
     * @param filePath
     * @param response
     */
 @SuppressWarnings("unused")
 protected void downTemplateFileTo(String filePath, HttpServletResponse response,String fname) {
  
  try {
   fname = new String(fname.getBytes(), "iso8859-1");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  File file = new java.io.File(filePath);
  long long_len = file.length();
  FileInputStream inputStream = null;
  try {
   inputStream = new FileInputStream(file);
   if (inputStream != null) {
   
    response.setContentType("application/x-msdownload");
    String header = "attachment; filename=" + fname;
    response.setHeader("Content-Disposition", header);
    response.setContentLength((int) long_len);
    byte[] b = new byte[2048];
    int len = 0;
    while ((len = inputStream.read(b)) != -1) {
     try {
     response.getOutputStream().write(b, 0, len);
     }catch(Exception ex){
     }
    }
   }
   inputStream.close();
  } catch (Exception ex) {
   System.out.println("Download error: ");
   ex.printStackTrace();
  } finally{
   File f = new java.io.File(filePath);
   if(f.exists()){
    f.delete();
   }
  }
 }
 
 
 
 
  /**
     * 下载模板文件,
     * @param filePath
     * @param response
     */
 @SuppressWarnings("unused")
 protected void downTemplateFileTo(String filePath, HttpServletResponse response,String fname,String nouser) {
  
  try {
   fname = new String(fname.getBytes(), "iso8859-1");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  File file = new java.io.File(filePath);
  long long_len = file.length();
  FileInputStream inputStream = null;
  try {
   inputStream = new FileInputStream(file);
   if (inputStream != null) {
   
    response.setContentType("application/x-msdownload");
    String header = "attachment; filename=" + fname;
    response.setHeader("Content-Disposition", header);
    response.setContentLength((int) long_len);
    byte[] b = new byte[2048];
    int len = 0;
    while ((len = inputStream.read(b)) != -1) {
     try {
     response.getOutputStream().write(b, 0, len);
     }catch(Exception ex){
     }
    }
   }
   inputStream.close();
  } catch (Exception ex) {
   System.out.println("Download error: ");
   ex.printStackTrace();
  } finally{
   
  }
 }
 
 /**
  * 创建文件
  * @param filePath 文件的全路径
  * @return
  */
 public File createUploadLogWriter(String filePath) {
  File file = null;
  try {
   file = new File(filePath);
   if (file.exists()) {
    log.info("文件存在");
   } else {
    log.info("文件不存在,正在创建...");
    if (file.createNewFile()) {
     log.info("文件创建成功!");
    } else {
     log.info("文件创建失败!");
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return file;
 }
 /**
  * 验证文件的类型是否为传入的类型
  * @param fileName
  * @param type
  * @return
  */
 public boolean checkThisFileType(String fileName, String type) {
  String types[] = fileName.split("\\.");
  String ttype = types[types.length - 1];
  if (ttype.equalsIgnoreCase(type) || ttype.equalsIgnoreCase(type)) {
   return true;
  } else {
   return false;
  }
 }
 /**
  * 创建日志文件
  * fpath = "\\模块目录\\log\\类型Log.txt";
  * @param request
  * @param fpath
  * @return
  */
 public BufferedWriter createLogWriter(HttpServletRequest request, String fpath) {
  String basePath = request.getSession().getServletContext().getRealPath("");
  String fullPath = basePath + fpath;
  BufferedWriter output = null;
  try {
   File f = this.createUploadLogWriter(fullPath);
   output = new BufferedWriter(new FileWriter(f));
  } catch (Exception e) {
   e.printStackTrace();
  }
  return output;
 }

 

11-23
Process在不同场景下有不同含义和用途,以下是一些相关信息: ### 在Java编程场景 Process类是非常有用的类,ProcessBuilder.start() 和 Runtime.exec 方法能创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法 [^2]。而且虽然 Process 新开了一个进程,但代码不会等待其进程执行,会直接往下执行,代码执行完毕之后,Java 程序结束,Process 对象消失,而 Process 对应的进程可能关闭也可能开启,这取决于进程开启速度和 Java 程序退出速度的快慢 [^1]。 ### 在 Python 编程场景 在 Python 的 `multiprocessing` 模块中也有 Process 类,可用于创建子进程。例如可以通过函数式方式创建子进程,创建时可指定 `target` 参数来指定子进程要执行的函数,使用 `start()` 方法启动子进程。若创建对象时没有给定 `target` 参数,会调用执行 Process 类中 `run` 方法;若指定了 `target` 参数,`start()` 会调用 `target` 指定的函数去执行 [^4]。示例代码如下: ```python from multiprocessing import Process import os, time # 函数式方式创建子进程 def sub_process(name): print(f'子进程PID:{os.getpid()},父进程的PID:{os.getppid()},--------{name}') time.sleep(1) def sub_process2(name): print(f'子进程PID:{os.getpid()},父进程的PID:{os.getppid()},--------{name}') time.sleep(1) if __name__ == '__main__': # 主进程 print('主进程开始执行') for i in range(5): # 创建第一个子进程 p1 = Process(target=sub_process, args=('xxy',)) # 没有给定target参数,不会执行自己编写的函数中的代码,会调用执行Process类中run方法 # 创建第二个子进程 p2 = Process(target=sub_process2, args=(18,)) p1.start() # 如果Process类创建对象时没有target参数,就调用Process类中的run方法去执行 p2.start() # 如果Process类创建对象时指定了target参数,start()调用target指定的函数去执行 # 终止进程 # p1.terminate() # p2.terminate() print('主程序执行结束') ``` ### 在 Oracle 数据库场景 在 Oracle 中有专用服务器和共享服务器两种模式。在专用模式下,一个会话对应一个 server process,控制 server process 的参数为 Process。例如可以通过 `show parameter process` 查看相关参数 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值