⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sampleentryservlet.java

📁 adoble form 实现pdf 表单电子化管理的软件非常好
💻 JAVA
字号:
package com.res.webprint.sample;

import javax.servlet.*;
import javax.servlet.http.*;
import org.w3c.dom.*;

import java.io.*;
import java.util.*;

import com.res.webprint.xml.*;
import com.ibm.xml.parser.*;
import com.res.webprint.servlet.*;
import com.res.webprint.base.*;

/**
 * <p>Sample Entry Servlet</p>
 * <p>This servlet is emulated to call webprint system. The calling routine
 *    is an example for using this printing system</p>
 * <p>Copyright Realesoft (c) 2005</p>
 * @version 1.0
 */


public class SampleEntryServlet extends HttpServlet implements PrintConstants {

  //调用打印的参照页面样例
  private final static String PRINT_PAGE = "/sample.jsp";

  //初始化Servlet
  public void init() throws ServletException {
    super.init();
  }
  //处理HTTP Get请求
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     processRequest(request, response);
  }
  //处理HTTP Post请求
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     processRequest(request, response);
  }
  //处理HTTP Get和Post请求
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, java.io.IOException {

    //创建PrintKeyData事例
    PrintKeyData keyData = new PrintKeyData();
    String formId = request.getParameter(FORM_ID);
    //构造xml打印数据
   Hashtable params = new Hashtable(20);
    for (Enumeration e = request.getParameterNames(); e.hasMoreElements(); )
    {
      String paraName = (String) e.nextElement();
      String parmValue = request.getParameter(paraName);
       if (parmValue == null || parmValue.length() == 0)
       {
           parmValue = "";
       }
       params.put(paraName, parmValue);
    }
    //设置打印数据,格式参照Part-4
    keyData.setXmlPrintStr(constructXMLFormat(params));
    //设置打印页面的相对路径,如 jsp
    keyData.setJspPath("jsp");
    //设置打印表单ID
    keyData.setFormId(request.getParameter(FORM_ID));
    //设置Web Server根路径,如http://localhost:8080/webprint
    keyData.setWebRootURI("http://localhost:8080/webprint");
    //创建PrintState事例
    PrintState state = new PrintState(request);
    state.setPrintKeyData(keyData);

    //调用打印页面
    RequestDispatcher rd  = getServletContext().getRequestDispatcher(
     "/"+keyData.getJspPath()+PRINT_PAGE);
    rd.forward(request, response);
  }

  //释放资源
  public void destroy() {

  }
   //产生xml格式数据
   private String constructXMLFormat(Hashtable paramMap) throws IOException
   {
     if(paramMap == null||paramMap.isEmpty())
       return null;

     TXDocument xmlDoc = XMLMod.createTXDocument("WEBPRINT");
     Element rootNode = xmlDoc.getDocumentElement();
     for(Enumeration keys = paramMap.keys();keys.hasMoreElements();)
     {
        String key = (String)keys.nextElement();
        XMLMod.set(rootNode,key,(String)paramMap.get(key));
     }
     StringWriter wr = new StringWriter();

     xmlDoc.toXMLString(wr);
     return wr.getBuffer().toString();

   }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -