当前位置:编程学习 > JAVA >>

flex和java交互的三种方法之二:httpservice

环境:myeclipse8.5+flex4+blazeds 
            描述:flex4中httpservice与服务器端交互的值传递问题 
            方式一:通过<s:request/>标签进行交互,在该标签内部以要传递的参数名作为该标签内的子标签,值作为内容进行传递,服务端接受数据采用request.getParmeter("参数名")获取数据. 
            示例代码: 
            flex中的代码: 
<!--定义HttpService发送请求--> 
        <s:HTTPService id="service" 
                       url="http://localhost:8080/testhttpservice/testHttpServiceServlet" 
                       useProxy="false" 
                       fault="service_faultHandler(event)" 
                       result="service_resultHandler(event)"> 
            <!--第一种传值方式--> 
            
            <s:request > 
                <!--参数名称作标签,中间填充参数值--> 
                <username>{txtusername.text}</username> 
                <password>{txtpassword.text}</password> 
            </s:request> 
            
        </s:HTTPService>        后台接受参数的代码: 
        //获取flex传递的参数 username password 
        String username=request.getParameter("username"); 
        //get方式处理乱码 
        //username=new String(username.getBytes("ISO-8859-1"),"utf-8"); 
        String password=request.getParameter("password"); 
        //password=new String(password.getBytes("ISO-8859-1"),"utf-8");        方式二:第二种传值方式通过send()方法传值send方法中传递参数 ,服务端接受数据采用request.getParmeter("参数名")获取数据. 
        示例代码: 
                //第二种传值方式 通过send()方法传值 send方法中传递参数 
                //定义一object对象 
                var val:Object=new Object(); 
                //分别将文本框username,password的值传递到后台 
                //object对象.参数名=值   传值操作 
                val.username=txtusername.text; 
                val.password=txtpassword.text; 
                service.send(val);        贴出完整的代码: 
        服务器端: 
package com.servlet; 

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.ArrayList; 
import java.util.List; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** *//** 
* 功能描述:flex httpservice与java交互参数传递探讨<br> 
* @author sxyx2008<br> 
* @date 2010-07-19 

*/ 
@SuppressWarnings("serial") 
public class TestHttpServiceServlet extends HttpServlet { 
    
    @Override 
    protected void service(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException { 
        //处理post方式乱码 
        request.setCharacterEncoding("utf-8"); 
        //设置浏览器输出字符编码 
        response.setCharacterEncoding("utf-8"); 
        PrintWriter writer=response.getWriter(); 
        //获取flex传递的参数 username password 
        String username=request.getParameter("username"); 
        //get方式处理乱码 
        
        //username=new String(username.getBytes("ISO-8859-1"),"utf-8"); 
        String password=request.getParameter("password"); 
        //password=new String(password.getBytes("ISO-8859-1"),"utf-8"); 
        
        //构建一个list存放一些数据用来模拟用户是否存在这一功能 
        List<String> list=new ArrayList<String>(); 
        list.add("张三"); 
        list.add("李四"); 
        list.add("王五"); 
        list.add("曹操"); 
        list.add("孙权"); 
        list.add("刘备"); 
        //检验用户 
        if(list.contains(username)){ 
  &n

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,