Flex 와 servlet 통신 (Httpservice)

이전에 flex 와 자바 통신 은 remoteobject 를 사용 해 왔 습 니 다. 오늘 Httpservice 를 시 도 했 습 니 다. 구체 적 인 실현 방법 은 아래 를 보 세 요.
1. eclipse 를 열 고 새 웹 프로젝트 프로젝트 를 servletTest 라 고 명명 합 니 다.
2 웹. xml 파일 에 다음 코드 를 추가 합 니 다.
<servlet>
		<servlet-name>MyServlet</servlet-name>
		<servlet-class>com.ultra.test.MyServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>MyServlet</servlet-name>
		<url-pattern>/MyServlet/*</url-pattern>
	</servlet-mapping>

3 새 MyServlet. java 파일, HttpServlet 계승
코드 는 다음 과 같 습 니 다:
package com.ultra.test;

import java.io.IOException;  
import java.io.PrintWriter;

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

public class MyServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;   
	  
	    public MyServlet() {   
	        super();   
	    }   
	  
	    protected void doGet(HttpServletRequest request,   
	            HttpServletResponse response) throws ServletException, IOException {   
	    	String result = getHelloWorld(request, response);   
	    	
	    	PrintWriter p = response.getWriter();
			response.setContentType("text/xml");
			p.print(result);
			System.out.println("……………………………………………    …………………………………………………" + result);
	    }   
	  
	    protected void doPost(HttpServletRequest request,   
	        HttpServletResponse response) throws ServletException, IOException {
	    	doGet(request, response);   
	    }
	    
	    private String getHelloWorld(HttpServletRequest request,   
		        HttpServletResponse response)
	    {
	    	String backString;
	    	String methodName = request.getParameter("name");
	    	backString = "Hello " + methodName + " !";
	    	return backString;
	    }
}

자, tomcat 에 배치 하고 백 스테이지 는 여기 서 끝 냅 니 다.
프론트 데스크 다시 보기:
1 새 flex 프로젝트 프로젝트 프로젝트, 이름 ServletTest
2. ServletTest. mxml 에 코드 추가
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

	<fx:Script>
		<![CDATA[
			import mx.rpc.events.ResultEvent;
			protected function getText_clickHandler(event:MouseEvent):void
			{
				service.method = "get";
				service.resultFormat="text";
				service.useProxy=false;
				service.addEventListener(ResultEvent.RESULT, resultHandler);
				var obj:Object = new Object;
				obj.name = txt1.text;
				service.send(obj);
			}
			
			private function resultHandler(event:ResultEvent):void
			{
				var result:String = String(event.result);
				txt2.text = result;
			}
		]]>
	</fx:Script>

	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
		<s:HTTPService id="service" url="http://localhost:8080/ServletTest/MyServlet" />
	</fx:Declarations>
	
	<s:Panel width="400" height="500">
		<s:TextInput id="txt1" width="50" x="50" y="10"/>
		<s:Button id="getText" x="50" y="50" label="    " click="getText_clickHandler(event)"/>
		<s:TextInput id="txt2" x="50" y="100" width="100"/>
	</s:Panel>
</s:Application>

마지막 중요 한 단계:
오른쪽 키 로 클릭 하여 프로젝트 이름:
properties --> flex server
Application server type J2EE 로 선택
use remote object addess 서비스 제거
서버 위치 설정
나의 것 은:
Web root:D:\server\apache-tomcat-6.0.18\webapps\ServletTest
root URL:http://localhost:8080/ServletTest
이렇게 하면 돼!실행, OK!
궁금 한 게 있 으 면 QQ 로 연락 하 세 요.  373153188

좋은 웹페이지 즐겨찾기