java flex xml_FLEX与JAVA的交互问题 -DOM4J-xml
展开全部
没满意答案,我自己回答.我也只是初学者,水平非常有限,这未必正确,但希望给需要62616964757a686964616fe4b893e5b19e31333335326162这方面信息的人一个参考: 我写的是登录环节,输入密码,帐号,到java端的servlet,servlet再去数据库查询,返回信息到登录页面. 1.我上面的flex项目已经以xml格式发送到java端的servlet. 下面提供flex 下面写servlet的说明: 我这是用dom4j,没有的人先去网上下在这个包,然后导入, import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.ResultSet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import java.sql.DriverManager; import java.sql.Statement; //下面一个class本来好像是dom4j里面,当时什么情况忘记了,反正这样能实现效果 class Dom4jUtil1 { public static void writeDocToOut(Document doc, String sCharSet, OutputStream out) { if(null==doc)return ; OutputFormat fmt = new OutputFormat(" ", true, sCharSet); try { org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(out, fmt); doc.setXMLEncoding(sCharSet); xmlWriter.write(doc); xmlWriter.close(); } catch (Exception e) { e.printStackTrace(); }} public static Document getDocFromStream(InputStream in) { Document doc = null; try { doc = new SAXReader().read(in); } catch (Exception e) { } return doc; } } //以上可以复制不改,永恒不变,下面是自己写的servlet-->loginxiaow () public class loginxiaow extends HttpServlet { //构造方法,我抄的,有什么影响不知道. public loginxiaow() { super(); } //也是抄的 public void destroy() { super.destroy(); // Just puts "destroy" string in log } //下面自己的实际需要 private void xiaow(HttpServletRequest request, HttpServletResponse response) throws Exception{ Document rtdoc=null; //传输信息必须的部分 InputStream in; in = request.getInputStream(); //Dom4jUtil1,这就是上面那个Dom4jUtil1 class Document reqDoc=Dom4jUtil1.getDocFromStream(in); Element root=reqDoc.getRootElement();//Element是元素,xml里面的信息 //xml里面的,大概是这样,其中xxx就是你的是String action取得值 String action=root.valueOf("@ACTION"); System.out.println("action=="+action);//测试用,java端显示 if("loginxiaow".equalsIgnoreCase(action)){//注册请求用户信息 // System.out.println("username=="+root.valueOf("@USERNAME")); // System.out.println("password=="+root.valueOf("@PASSWORD")); } String username=root.valueOf("@USERNAME"); String password=root.valueOf("@PASSWORD"); if(username!=null&&password!=null) {//sql字符串,就是输入到数据库的语句,整句输出 String sql="select * from xiaow_user where [user]='"+username+"' and password='"+password+"'"; System.out.println(sql); SQL(sql); System.out.println(); } if(canGo==true)//canGo判断是否有权限进入下一个页面,不过这个写法很烂 { canGo=false; rtdoc=DocumentHelper.createDocument(); System.out.println("if(canGo==true):"+canGo); Element rtroot=rtdoc.addElement("DATAPACKET");//创建 元素/节点 rtroot.addAttribute("message", "登录成功");//属性message System.out.println("登录成功"); OutputStream out=response.getOutputStream(); Dom4jUtil1.writeDocToOut(rtdoc, "UTF-8", out); out.flush(); out.close(); }else{ rtdoc=DocumentHelper.createDocument(); Element rtroot=rtdoc.addElement("DATAPACKET"); rtroot.addAttribute("message", "密码错误"); System.out.println("密码错误"); System.out.println("if(canGo==false):"+canGo); OutputStream out=response.getOutputStream(); Dom4jUtil1.writeDocToOut(rtdoc, "UTF-8", out); out.flush(); out.close(); } OutputStream out=response.getOutputStream(); Dom4jUtil1.writeDocToOut(rtdoc, "UTF-8", out); out.flush(); out.close(); } boolean canGo=false; public void SQL(String sql) { String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=dscy9999"; //连接服务器和数据库,我的是这个dscy9999 String userName = "admin"; //数据库用户名 String userPwd = "admin"; //数据库密码 Connection dbConn; Statement stmt =null; ResultSet rt=null; try { Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); stmt=dbConn.createStatement(); System.out.println("连接成功,rt="+rt); //如果连接成功 控制台输出连接成功 rt=stmt.executeQuery(sql); //遍历结果集 while(rt.next()) { if(null!=rt.getString("user")&&null!=rt.getString("password")) { canGo=true; System.out.println("canGo=true;"+canGo); } else{System.out.println("if(null!=");} System.out.println("用户:"+rt.getString("user")+"密码:"+rt.getString("password")) ; } rt.close(); dbConn.close(); } catch (Exception e) { e.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { xiaow(request,response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { doGet(request,response); }} 大概是这样,我也不太会,但是我这个功能实现了
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
java flex xml_FLEX与JAVA的交互问题 -DOM4J-xml相关推荐
- flex LCDS 整合 java 增删改查
1,建一个userdb库,再建userinfo表,字段:id(int),username(varchar),password(varchar). 2,DBConnection.java package ...
- java flex 图片上传_flex上传图片到java服务器
今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下.重点在java侧的实现. flex侧:文件上载到在url参数中传递的URL.该URL必须是配置为接受上载的服务器脚本.F ...
- C# Java间进行RSA加密解密交互
C# Java间进行RSA加密解密交互 原文:C# Java间进行RSA加密解密交互 这里,讲一下RSA算法加解密在C#和Java之间交互的问题,这两天纠结了很久,也看了很多其他人写的文章,颇受裨益, ...
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...
- java flex 上传文件_使用Flex和java servlet上传文件
资源都是来自网上.本实例将展示使用Flex和java servlet上传文件. 事前准备就是到http://commons.apache.org 下载common-fileupload-1.1.1.j ...
- flex java 全局拦截_flex + java 过滤敏感词
过滤敏感词这个相对比较容易做到,网上也很多方法,看得比较多的一个方法就是:把所有的敏感词写入到一个properties文件中,程序启动时拼成一个正则表达式.这个也只是比较基础的敏感词过滤器,比较强大的 ...
- flex socket java,Flex的socket与java使用amf3进行通信
amf3,adobe创立的数据格式由于使用二进制,没有了xml等冗余的字符数据量会少很多!而且很多测试报告均测出amf传递效果很高. 这次是使用Flex的Socket类与java的服务端进行通信, 步 ...
- flex上传图片到java服务器
今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下.重点在java侧的实现. flex侧:文件上载到在url参数中传递的URL.该URL必须是配置为接受上载的服务器脚本.F ...
- java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...
最新文章
- #define WIN32_LEAN_AND_MEAN 的作用
- 您遵循过这些Jenkins优秀实践吗?
- Android应用程序键盘(Keyboard)消息处理机制分析(3)
- 第五章--加载内核Kernel.bin
- Office 365 批量创建用户步骤
- AngularJS学习之旅—AngularJS Http(九)
- DevC++怎么更改背景颜色
- 如何处理Docker的错误消息request canceled:Docker代理问题
- Spring Boot错误–创建在类路径资源DataSourceAutoConfiguration中定义的名称为“ dataSource”的bean时出错...
- 难过的时候看一看 再坏能有多坏!
- DELMIA软件:机器人抓手工具制作
- 敏捷开发vs 传统开发
- 简历中尽量不要出现精通_在个人简历中,熟悉、了解、熟练、精通之间有什么区别?...
- 理性讨论: 《崩坏3》是不是目前打击感最好的动作手游?
- unity实现点线智能连接+1
- 复制粘贴-实现动态爱心 网页版
- 滑块拖动验证码智能识别验证码技术(持续更新)
- 开机卡logope引导不了_开机卡LOGO不要慌小匠来帮忙—常见的开机卡LOGO问题排查方法...
- 中国大学MOOC-陈越、何钦铭-数据结构-2019夏期末考试(含答案)
- ldap协议端口号_什么是LDAP协议端口号? 比较LDAP端口389和636
热门文章
- stateflow中向量与矩阵
- 组合电路Verilog的几种描述方式
- 万字长文搞定C语言指针
- 测试如何学python_如何从0开始学Python自动化测试
- linux c嵌入汇编语言,Linux 下的C和Intel 汇编语言混用
- python3.7安装包多大_python3.7 pip 安装第三方包
- inxtrackup mysql_雪糕 的动态 - SegmentFault 思否
- cf两边黑屏怎么解决win10_win10开机无限黑屏转圈重启解决方法
- ldap基本dn_2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程...
- openssl 64位编译_海思hi3516dv300开发--live555交叉编译