java创建API,通过document生成xml返回给外部
2017-04-13 10:59
381 查看
/** * Descriptions DoSomethingAPIサーブレット * * @version xxxx-xx-xx * @author xxxx * @since JDK1.6 * */ public class DoSomethingAPI extends HttpServlet { private static final long serialVersionUID = -6628892825606366902L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // リクエストパラメータ取得 String uid = request.getParameter( "userid" ); // ユーザーステータスマップ取得 Map<String, String> userStatusMap = new HashMap<String, String>(); try { // 応答用データ取得 userStatusMap = UserHelper.getUserStatus( uid ); } catch ( Exception e ) { e.printStackTrace(); response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR ); return; } // 応答XML生成 String responseString = createResponseXmlString( userStatusMap ); if ( responseString == null ) { response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR ); return; } // 応答返却 response.setContentType( "text/xml; charset=UTF-8" ); PrintWriter printWriter = response.getWriter(); printWriter.print( responseString ); } /*------------------------------------------------------------------------- / メソッド名 : createResponseXmlString /------------------------------------------------------------------------*/ /** * アップロード通知応答用のXMLを生成し、文字列として返却します。 * @return 変換後XML文字列 * @param responseMap 応答情報Map */ public String createResponseXmlString( Map<String, String> responseMap ) { String retString = null; // XMLデータ生成 try { Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Element responseElement = document.createElement( "result" ); String nickname = responseMap.get( "nickname" ); // nickname生成 Element nicknameElement = document.createElement( "nickname" ); nicknameElement.appendChild( document.createTextNode( nickname ) ); responseElement.appendChild( nicknameElement ); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty( OutputKeys.ENCODING, "UTF-8" ); transformer.setOutputProperty("version","1.0"); transformer.setOutputProperty( OutputKeys.INDENT, "yes" ); DOMSource source = new DOMSource( responseElement ); StringWriter strReturn = new StringWriter(); transformer.transform( source, new StreamResult( strReturn ) ); retString = strReturn.toString(); } catch ( Exception e ) { e.printStackTrace(); } return retString; } }
相关文章推荐
- 通过XmlDocument动态生成XML文件
- 外部表(三)--解读通过sql*loader生成的创建外部表的日志
- Java读取、创建xml(通过dom方式)文档版
- java通过xml配置属性用iText包生成pdf文件
- Java读取、创建xml(通过dom方式)
- 通过Java进行网页抓取并生成plist创建代码
- Java 通过httpClient Post方式提交xml,并从服务端返回数据
- Java读取、创建xml(通过dom方式)
- Java读取、创建xml(通过dom方式)
- C#开发之生成XmlDocument用来返回错误提示信息
- java 通过外部类的实例创建内部类的实例
- Java通过XML字符串生成XML物理文件
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- 通过VMWare的Webservice API创建ESX/ESXi用户的JAVA源码
- java通过dom创建和解析xml
- 通过JAXB注解,根据java类生成xml内容
- Java读取、创建xml(通过dom方式)
- JAVA调用返回XML格式数据的WebService,并通过XPath解析XML的应用
- Java读取、创建xml(通过dom方式)
- dom4j来解析xml,通过URL获取服务器端返回的字符串,java swing 实现的页面