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

📄 pushsiservlet.java

📁 想移动运营上提交wappush的标准代码
💻 JAVA
字号:
package com.nokia.pgw; 
import javax.servlet.ServletException; 
import java.io.*; 
import java.net.*; 
import java.text.SimpleDateFormat; 
import javax.xml.transform.Transformer; 
import javax.servlet.http.*; 
import org.dom4j.*; 
import org.dom4j.io.*; 
/** 
* The PushSIServlet submits a push request 
* with a Service Indication to a Push Gateway 
* 
* Servlet requires three parameters provided in HTTP request: 
* ms = MSISDN to send push message 
* href = URL of push message service 
* msg = Message visible to user of push message 
* 
* @Nokia, 2001 
*/ 
public class PushSIServlet extends HttpServlet { 
// MSISDN parameter name from request 
private static String MSISDN_PARAM = "ms"; 
// URL parameter name from request 
private static String HREF_PARAM = "href"; 
// Message parameter name from request 
private static String MESSAGE = "msg";  

// Application name 
private String _app_name = "MyPushApp"; 
// Notification URL initial set-up, can be set up in servlet initialisation parameters 
private String _notification_URL = "http://localhost/push/notificationInbox.jsp"; 
// XSLT Transformer object 
private Transformer _siTransformer; 
// Push Gateway URL address 
private URL _pgw; 
public void init() 
throws ServletException 
{ 
// Load the SI stylesheet as Transformer 
try { 
javax.servlet.ServletContext context = getServletContext(); 
_siTransformer = loadStylesheet(context.getRealPath("si.xsl")); 
_pgw = new URL(getInitParameter("pgw")); 
_app_name = getInitParameter("app-name"); 
_notification_URL = getInitParameter("notification-URL"); 
} 
catch (MalformedURLException e) { 
throw new ServletException("PGW URL is malformed", e); 
} 
} 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException 
{ 
doPost(request, response); 
} 
public void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException 
{ 
URLConnection connection = _pgw.openConnection();  

connection.setRequestProperty("Authorization", "Basic xyzabc123"); 
connection.setRequestProperty("Content-type", "multipart/related; boundary=multipart-boundary"); 
Document submission = DocumentHelper.createDocument(); 
Element si = submission.addElement("si"); // We create a XML doc with a si root element 
si.addAttribute("push-id", _app_name + System.currentTimeMillis()); 
si.addAttribute("URL", getParameter(HREF_PARAM, request)); 
si.setText(getParameter(MESSAGE, request)); // The message that the user will see 
si.addElement("addressee").addAttribute("address", getParameter(MSISDN_PARAM, request)); 
_siTransformer.setParameter("application-name", _app_name); 
_siTransformer.setParameter("notification-URL", _notification_URL); 
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss'Z'"); 
String created = formatter.format(new java.util.Date()); 
_siTransformer.setParameter("time", created); 
connection.setDoOutput(true); 
submit(submission, _siTransformer, connection.getOutputStream()); 
PrintWriter writer = response.getWriter(); 
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null) 
writer.println(inputLine); 
} 
private void submit(Document xmlDoc, Transformer stylesheet, OutputStream out) 
throws ServletException 
{ 
try { 
javax.xml.transform.stream.StreamResult result = new javax.xml.transform.stream.StreamResult(out); 
stylesheet.transform(new DocumentSource(xmlDoc), result); 
} 
catch (javax.xml.transform.TransformerException e) { 
throw new ServletException("XSLT problem", e); 
} 
} 
private void printXML(Node xmlNode, Transformer stylesheet, javax.servlet.http.HttpServletResponse  

response) throws ServletException 
{ 
try { 
XMLWriter xwriter = new XMLWriter(response.getOutputStream()); 
xwriter.write(xmlNode); 
} 
catch (IOException e) { 
throw new ServletException("XSLT Response problem", e); 
} 
} 
private Transformer loadStylesheet(String fullPathName) 
throws ServletException 
{ 
try { 
Transformer transformer = javax.xml.transform.TransformerFactory.newInstance().newTransformer 
(new javax.xml.transform.stream.StreamSource(fullPathName)); 
return transformer; 
} 
catch (javax.xml.transform.TransformerConfigurationException e) { 
throw new ServletException("XSLT Transformer problem", e); 
} 
} 
protected String getParameter(String name, HttpServletRequest request) 
{ 
String value = request.getParameter(name); 
if (value == null) value = ""; 
return value; 
} 
}  

⌨️ 快捷键说明

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