?? sampleentryservlet.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 + -