📄 wapreceive.java
字号:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdom.Element;
import org.jdom.Attribute;
import org.jdom.output.XMLOutputter;
import org.jdom.output.Format;
public class wapreceive extends HttpServlet {
public static void main(String args[]){
//System.out.println("aaaaaaaaaaaaaaaaa");
}
/**
*
*/
private static final long serialVersionUID = 1L;
private static Log log = null;
private static final String CONTENT_TYPE = "text/xml";
private int resultstatus = 1;//返回状态值
SAXBuilder sb = new SAXBuilder();//用到Jdom
private Document doc=null;
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
Format format = Format.getPrettyFormat();
XMLOutputter outputter = new XMLOutputter(format.setIndent(" "));
String flag = "service_order_to_cp";
if(request.getContentLength() <= 0){//没有数据
resultstatus = 1;
log.error("接收数据为空");
outputter.output(setReturnStatus(resultstatus,flag), out);
return;
}
try{
DataInputStream din = new DataInputStream(request.getInputStream());//输入流
doc = sb.build(din);//绑定输入流
din.close();
wapuser user = new wapuser();
//定义一个bean,
//里面有相应字段变量及数据库操作方法
//得到根元素
Element root = doc.getRootElement();
flag = root.getAttributeValue("id");//根元素的属性id的值
//得到根元素所有子元素的集合
List message = root.getChildren();
//叠代显示所有元素
Iterator it = message.iterator();
while (it.hasNext())
{
Element e = (Element) it.next();
if(e.getName().equals("cpcode")){
user.setCpcode(e.getAttributeValue("value"));//设置cpcode=属性value的值
}
else if(e.getName().equals("userid")){
user.setUserid(e.getAttributeValue("value"));
}
else if(e.getName().equals("encryptflag")){
user.setEncryptflag(e.getAttributeValue("value"));
}
else if(e.getName().equals("serviceid")){
user.setServiceid(e.getAttributeValue("value"));
}
else if(e.getName().equals("ispack")){
user.setIspack(e.getAttributeValue("value"));
}
else if(e.getName().equals("sub_type")){
user.setSub_type(e.getAttributeValue("value"));
}
else if(e.getName().equals("orderdate")){
user.setOrderdate(e.getAttributeValue("value"));
}
else if(e.getName().equals("disorderdate")){
user.setOrderdate(e.getAttributeValue("value"));
}
}
int updatenum = user.setWapUser();//设置值后,此方法把值存入数据库,当然有相关的逻辑判断,包括是否已存在,是否更新退定等
if(updatenum>0){//updatenum大于零说明操作数据库成功
resultstatus = 0;//接收成功
log.info(flag+"用户信息"+user.getUserid()+"成功");//是个log的操作
}
//导出xml格式,输出到out流中,setreturnStatus()为设置xml格式
outputter.output(setReturnStatus(resultstatus, flag), out);
}catch(Exception e){
log.error("接收数据有误",e);//log操作
}
}
/**
* 设置返回信息
* @param resultstatus int
* @return Document
*/
private Document setReturnStatus(int resultstatus,String flag){
Element webelement = new Element("webmethod");//根
Document retdoc = new Document(webelement);
webelement.setAttribute(new Attribute("id",flag));//根属性
webelement.addContent(new Element("result").setAttribute(new Attribute("status",String.valueOf(resultstatus))));//添加元素及属性
return retdoc;
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
static
{
log = LogFactory.getLog(wapreceive.class.getName());//设置log
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -