`
qq123zhz
  • 浏览: 524975 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
jslint java验证javascript 利用jslint对javascript进行语法校验
package com.yonge.validateScript;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;

import com.googlecode.jslint4java.Issue;
import com.googlecode.jslint4java.JSLint;
import com.googlecode.jslint4java.JSLintBuilder;
import com.googlecode.jslint4java.JSLintResult;
import com.googlecode.jslint4java.Option;

/**
 * 利用JSLint验证js的正确性
 * @author wb-gaoy
 * @version $Id: JSLintTest.java,v 0.1 2012-12-17 下午4:46:23 wb-gaoy Exp $
 */
public class JSLintTest {

    public static void main(String[] args) throws IOException {
        JSLintBuilder builder = new JSLintBuilder();

        //使用默认的jslint.js进行初始化
        JSLint jsLint = builder.fromDefault();
        //自定义jslint.js进行初始化
        /*JSLint jsLint = builder.fromFile(new File(JSLintTest.class.getResource("/").getPath()
                                                  + "/resource/webjslint.js"));*/
        //过滤的警告选项
       jsLint.addOption(Option.SLOPPY);
        jsLint.addOption(Option.WHITE);
        jsLint.addOption(Option.EQEQ);
        jsLint.addOption(Option.NOMEN);
        jsLint.addOption(Option.UNDEF);
        jsLint.addOption(Option.CONTINUE);
        jsLint.addOption(Option.ON);
        jsLint.addOption(Option.REGEXP);
        jsLint.addOption(Option.VARS);
        jsLint.addOption(Option.PLUSPLUS);

        //jsLint.lint(String systemId, Reader reader)第一个参数是指需要检查的文件名称,第二个参数是文件的内容
        JSLintResult result = jsLint.lint("test.js", new FileReader(new File(ValidateScript.class
            .getResource("/").getPath() + "/resource/test.js")));
        List<Issue> issues = result.getIssues();
        System.out.println(String.format("总共有%1$d个问题", issues.size()));
        if (issues != null && issues.size() > 0) {
            for (Issue issue : issues) {
                System.out.println(String.format("第%1$s行的%2$s出现问题,原因:%3$s", issue.getLine(),
                    issue.getEvidence(), issue.getReason()));
            }
        }
    }
}
RC创建java工程 rcp Eclipse插件开发中创建java工程的代码
package com.wisoft.magicube.codegenerator.popup.actions;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.eclipse.core.resources.ICommand;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.ui.PreferenceConstants;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;

public class NewJavaProjectAction implements IObjectActionDelegate {

	public void run(IAction action) {
		// 获取工作区
		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

		// ///////////////////////////////////创建新项目///////////////////////////
		final IProject project = root.getProject("xyz");
		
		// 设置工程的位置
		// 为项目指定存放路径,默认放在当前工作区
		IPath projectPath = new Path("g:/myplugIn");
		IWorkspace workspace = root.getWorkspace();
		final IProjectDescription description = workspace.newProjectDescription(project.getName());
		description.setLocation(projectPath);

		// 设置工程标记,即为java工程
		String[] javaNature = description.getNatureIds();
		String[] newJavaNature = new String[javaNature.length + 1];
		System.arraycopy(javaNature, 0, newJavaNature, 0, javaNature.length);
		newJavaNature[javaNature.length] = "org.eclipse.jdt.core.javanature"; // 这个标记证明本工程是Java工程
		description.setNatureIds(newJavaNature);

		// /////////////////////////////
		try {
			NullProgressMonitor monitor = new NullProgressMonitor();
			project.create(description, monitor);
			project.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1000));
		} catch (CoreException e) {
			e.printStackTrace();
		}

		// 下面代码只在新建向导的情况下才可用
		/*
		 * //创建新项目,WorkspaceModifyOperation位于org.eclipse.ui.ide中
		 * WorkspaceModifyOperation workspaceModifyOperation = new
		 * WorkspaceModifyOperation() {
		 * 
		 * @Override protected void execute(IProgressMonitor monitor) throws
		 * CoreException, InvocationTargetException, InterruptedException { try
		 * { monitor.beginTask("", ); project.create(description, monitor);
		 * 
		 * if(monitor.isCanceled()){ throw new OperationCanceledException(); }
		 * 
		 * project.open(IResource.BACKGROUND_REFRESH, new
		 * SubProgressMonitor(monitor, )); } catch (Exception e) {
		 * e.printStackTrace(); } finally{ monitor.done(); } } };
		 * //接下来调用IWizard的getContainer().run()方法.
		 */

		// 转化成java工程
		IJavaProject javaProject = JavaCore.create(project);
		// //////////////////////////////////添加JRE库////////////////////////////
		try {
			// 获取默认的JRE库
			IClasspathEntry[] jreLibrary = PreferenceConstants.getDefaultJRELibrary();
			// 获取原来的build path
			IClasspathEntry[] oldClasspathEntries = javaProject.getRawClasspath();
			List list = new ArrayList();
			list.addAll(Arrays.asList(jreLibrary));
			list.addAll(Arrays.asList(oldClasspathEntries));

			javaProject.setRawClasspath(list.toArray(new IClasspathEntry[list.size()]), null);
		} catch (JavaModelException e) {
			e.printStackTrace();
		}

		// //////////////////////////////////创建输出路径/////////////////////////////
		IFolder binFolder = javaProject.getProject().getFolder("bin");
		try {
			binFolder.create(true, true, null);
			javaProject.setOutputLocation(binFolder.getFullPath(), null);
		} catch (CoreException e) {
			e.printStackTrace();
		}

		// /////////////////////////设置Java生成器///////////////////////
		try {
			IProjectDescription description2 = javaProject.getProject().getDescription();
			ICommand command = description2.newCommand();
			command.setBuilderName("org.eclipse.jdt.core.javabuilder");
			description2.setBuildSpec(new ICommand[] { command });
			description2.setNatureIds(new String[] { "org.eclipse.jdt.core.javanature" });
			javaProject.getProject().setDescription(description2, null);
		} catch (CoreException e) {
			e.printStackTrace();
		}

		// /////////////////////////////创建源代码文件夹//////////////////////////
		// ///////////源文件夹和文件夹相似,只是使用PackageFragmentRoot进行了封装////////
		IFolder srcFolder = javaProject.getProject().getFolder("src");
		try {
			srcFolder.create(true, true, null);
			// this.createFolder(srcFolder);
			// 创建SourceLibrary
			IClasspathEntry srcClasspathEntry = JavaCore.newSourceEntry(srcFolder.getFullPath());

			// 得到旧的build path
			IClasspathEntry[] oldClasspathEntries = javaProject.readRawClasspath();

			// 添加新的
			List list = new ArrayList();
			list.addAll(Arrays.asList(oldClasspathEntries));
			list.add(srcClasspathEntry);

			// 原来存在一个与工程名相同的源文件夹,必须先删除
			IClasspathEntry temp = JavaCore.newSourceEntry(new Path("/xyz"));
			if (list.contains(temp)) {
				list.remove(temp);
			}

			System.out.println(list.size());

			javaProject.setRawClasspath(list.toArray(new IClasspathEntry[list.size()]), null);
		} catch (CoreException e) {
			e.printStackTrace();
		}

		// ///////////////////////////////创建包//////////////////////////
		// IPackageFragmentRoot packageFragmentRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
		//此处得到的src目录只读

		try {
			// 先找指定的源文件夹所在的IPackageFragmentRoot
			IPackageFragmentRoot packageFragmentRoot = javaProject.findPackageFragmentRoot(new Path("/xyz/src"));
			// 根据IPackageFragmentRoot创建IPackageFragment,IPackageFragment就是包了
			IPackageFragment packageFragment = packageFragmentRoot.createPackageFragment("com.aptech.plugin", true, null);

		// //////////////////////////////////创建Java文件////////////////////////
			String javaCode = "package com.aptech.plugin;public class HelloWorld{public static void main(String[] args){System.out.println(\"中华人民共和国\");}}";
			packageFragment.createCompilationUnit("HelloWorld.java", javaCode, true, new NullProgressMonitor());

		} catch (JavaModelException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
	}


	public void selectionChanged(IAction action, ISelection selection) {
	}

}
mybatis Spring3.0和Mybatis的集成,含事务配置
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byType" xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
	<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:spring-jdbc.properties</value>
			</list>
		</property>
	</bean>
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${jdbc.driver}">
		</property>
		<property name="url" value="${jdbc.url}">
		</property>
		<property name="username" value="${jdbc.username}">
		</property>
		<property name="password" value="${jdbc.password}">
		</property>
	</bean>
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="configLocation" value="classpath:SqlMapConfig.xml"></property>
		<property name="dataSource" ref="dataSource"></property>
		<property name="mapperLocations" value="classpath*:mappers-*.xml"></property>
	</bean>
	<!-- 由spring管理mybatis的事物 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	<!-- 定义拦截器,用来指定事物属性,级别,和异常处理 -->
	<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<!-- PROPAGATION_SUPPORTS: 如果已经存在事务,则加入事务;如果没有事务,则以非事务的方式执行; 
				PROPAGATION_MANDATORY: 使用当前事务, 如果没有, 则抛出异常; 
				PROPAGATION_REQUIRED: 新建事务,如果当前有事务, 则挂起; P
				ROPAGATION_NOT_SUPPORTED:以非事务的方式执行, 如果当前有事务, 则挂起; 
				PROPAGATION_NEVER:以非事务的方式执行, 如果当前有事务,则抛出异常; 
				+/-Exception</prop> + 表示异常出现时事物提交 - 表示异常出现时事务回滚 -->
				<prop key="find*">PROPAGATION_SUPPORTS,readOnly</prop>
				<prop key="del*"> PROPAGATION_SUPPORTS</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
			</props>
		</property>
	</bean>
	<!-- 用来定义那些类需要采用事物管理 spring 事物的动态代理类 BeanNameAutoProxyCreator 根据类名自动代理,接受表达式 -->
	<bean id="BeanProxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="beanNames">
			<!-- 对类名以MybatisService结尾的类进行代理 -->
			<value>*MybatisService</value>
		</property>
		<!-- 对代理类进行加载拦截器(实现通知的过程) -->
		<property name="interceptorNames">
			<list>
				<value>transactionInterceptor</value>
			</list>
		</property>
	</bean>
</beans>
外网地址 获取本机外网IP地址(External IP Address)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 获取本机外网IP地址
 * 思想是访问网站http://checkip.dyndns.org/,得到返回的文本后解析出本机在外网的IP地址
 * @author Administrator
 *
 */
public class ExternalIpAddressFetcher {
    // 外网IP提供者的网址
    private String externalIpProviderUrl;

    // 本机外网IP地址
    private String myExternalIpAddress;

    public ExternalIpAddressFetcher(String externalIpProviderUrl) {
        this.externalIpProviderUrl = externalIpProviderUrl;

        String returnedhtml = fetchExternalIpProviderHTML(externalIpProviderUrl);
        
        parse(returnedhtml);
    }

    /**
     * 从外网提供者处获得包含本机外网地址的字符串
     * 从http://checkip.dyndns.org返回的字符串如下
     * <html><head><title>Current IP Check</title></head><body>Current IP Address: 123.147.226.222</body></html>
     * @param externalIpProviderUrl
     * @return
     */
    private String fetchExternalIpProviderHTML(String externalIpProviderUrl) {
        // 输入流
        InputStream in = null;
        
        // 到外网提供者的Http连接
        HttpURLConnection httpConn = null;

        try {
            // 打开连接
            URL url = new URL(externalIpProviderUrl);
            httpConn = (HttpURLConnection) url.openConnection();
                        
            // 连接设置
            HttpURLConnection.setFollowRedirects(true);
            httpConn.setRequestMethod("GET");
            httpConn.setRequestProperty("User-Agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");

            // 获取连接的输入流
            in = httpConn.getInputStream();
            byte[] bytes=new byte[1024];// 此大小可根据实际情况调整
            
            // 读取到数组中
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                   && (numRead=in.read(bytes, offset, bytes.length-offset)) >= 0) {
                offset += numRead;
            }
            
            // 将字节转化为为UTF-8的字符串        
            String receivedString=new String(bytes,"UTF-8");
            
            // 返回
            return receivedString;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                in.close();
                httpConn.disconnect();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

        // 出现异常则返回空
        return null;
    }
    
    /**
     * 使用正则表达式解析返回的HTML文本,得到本机外网地址
     * @param html
     */
    private void parse(String html){
        Pattern pattern=Pattern.compile("(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})", Pattern.CASE_INSENSITIVE);    
        Matcher matcher=pattern.matcher(html);        
        while(matcher.find()){
            myExternalIpAddress=matcher.group(0);
        }    
    }    

    /**
     * 得到本机外网地址,得不到则为空
     * @return
     */
    public String getMyExternalIpAddress() {
        return myExternalIpAddress;
    }
    
    public static void main(String[] args){
        ExternalIpAddressFetcher fetcher=new ExternalIpAddressFetcher("http://checkip.dyndns.org/");
        
        System.out.println(fetcher.getMyExternalIpAddress());
    }
}
加密 使用jasypt加密properties文件密码
package example;
import org.jasypt.util.text.BasicTextEncryptor;
/**
 * 加密解密类
 * @author Administrator
 *
 */
public class PasswordEncryptorTest {
    public static void main(String[] args) {
        //加密 
        BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); 
        textEncryptor.setPassword("root");
        String newPassword = textEncryptor.encrypt("123456");
        System.out.println(newPassword);
//        解密 
        BasicTextEncryptor textEncryptor2 = new BasicTextEncryptor(); 
        textEncryptor2.setPassword("root"); 
        String oldPassword = textEncryptor2.decrypt(newPassword);   
        System.out.println(oldPassword);
    }
}
displaytag displaytag 扩展displaytag标签库 标记
<attribute>
      <name>onmouseover</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
      <type>java.lang.String</type>
      <description>
          JavaScript onmouseover event attribute. add by lovejj.
      </description>
    </attribute>
jquery loading jquery loading 基于jquery的loading mask遮罩控件
<script type="text/javascript" src="loading-min.js" charset="UTF-8"></script>
<script type="text/javascript" src="jquery.bgiframe.min.js" charset="UTF-8"></script>
<link href="loading.css" type="text/css" rel="stylesheet">
apache 反向代理均衡负载 集群 请教apache跟tomcat做集群session不同步问题


LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

ProxyPass /admin balancer://tomcatcluster/admin lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
ProxyPassReverse /admin balancer://tomcatcluster/admin

<Proxy balancer://tomcatcluster>
BalancerMember ajp://localhost:8009 route=web1
BalancerMember ajp://localhost:10009 smax=10 route=web2
BalancerMember ajp://localhost:11009 route=web3
BalancerMember ajp://localhost:12009 smax=10 route=web4
</Proxy>

jquery使用技巧 jquery 常用jquery使用技巧
$(document).ready(function() {
jQuery.fn.center = function () {
this.css("position","absolute");
this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
return this;
}
$("#id").center();
}); 
struts2 登陆后跳转到指定页面 java 登录后跳转到最后访问URL
<!-- 不需要验证登录的请求都放在这个 package 里面 -->
<package name="login" extends="struts-default" namespace="/login">
</package>

<!-- 需要验证的请求放在这个 package 里面 -->
<package name="login-check" extends="checklogin" namespace="/login">
</package>
python 声控 python python语音控制电脑_uusee全屏
# -*- coding: utf-8 -*-
import time
import speech
import subprocess
import win32com.client
from zoomUUSee import zoomUUSee

"""author:alex8224 天气冷了,全屏麻烦,随后写的,方便偷懒"""

cmdDict=None
wsh=win32com.client.Dispatch("WScript.Shell")

def voiceCallBack(phrase,listene):
		funcptr=cmdDict[phrase]
		if funcptr:
				funcptr()

def goodbye(listener):
		listener.stoplistening()

def listenSong():
		#subprocess.Popen("D:\Program Files\KuGou\KuGou2010\KuGoo.exe")
		pass

def stopSong():
		"""发送ctrl+alt+s"""
		wsh.SendKeys("^%{F5}")	

def nextSong():
		"""发送ctrl+alt+right"""
		wsh.SendKeys("^%{RIGHT}")

def prevSong():
		"""发送ctrl+alt+left"""
		wsh.SendKeys("^%{LEFT}")

def plusSound():
		"""发送ctrl+alt+up"""
		for i in range(5):
				wsh.SendKeys("^%{UP}")
				time.sleep(.5)

def jianSound():
		"""发送ctrl+alt+down"""
		for i in range(5):
				wsh.SendKeys("^%{DOWN}")
				time.sleep(.5)

def shutdownPC():
		stopSong()
		subprocess.Popen("shutdown -s -t 180")

def cancelshutdown():
		subprocess.Popen("shutdown -a")

def myPC():
		subprocess.Popen("explorer c:\\")


if __name__ == "__main__":
		global cmdDict
		cmdDict={u'全屏播放':zoomUUSee,u'再见':goodbye,u'听歌':listenSong,u'睡觉啦':shutdownPC,u'大点':plusSound,u'小点':jianSound,u'下':nextSong,\
						u'上':prevSong,u'取消':cancelshutdown,u'不听':stopSong}
		listener=speech.listenfor(cmdDict.keys(),voiceCallBack)
		while listener.islistening():
				time.sleep(1)
web.xml java web.xml 中的安全性配置
<security-constraint>
  <display-name>
  baseporject</display-name>
  <web-resource-collection>
   <web-resource-name>baseproject</web-resource-name>
   <url-pattern>*.jsp</url-pattern>
   <url-pattern>*.do</url-pattern>
   <http-method>GET</http-method>
   <http-method>PUT</http-method>
   <http-method>HEAD</http-method>
   <http-method>TRACE</http-method>
   <http-method>POST</http-method>
   <http-method>DELETE</http-method>
   <http-method>OPTIONS</http-method>
  </web-resource-collection>
  <auth-constraint>
   <description>
   baseproject</description>
   <role-name>All Role</role-name>
  </auth-constraint>
  <user-data-constraint>
   <transport-guarantee>NONE</transport-guarantee>
  </user-data-constraint>
 </security-constraint>
 <login-config>
登陆界面 android Android QQ登录界面
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, Date!</string>
    <string name="app_name">丸子-Widget</string>
    <string name="strInputAccHint">输入帐号</string>
    <string name="strAccInputLabel">帐号</string>
    <string name="strPswInputLabel">密码</string>
    <string name="opt_remember">记住密码</string>
    <string name="login">登 录</string>
    <string name="opt_hideLogin">隐身登录</string>
    <string name="opt_silent">静音登录</string>
    <string name="opt_openVibra">开启振动</string>
    <string name="opt_acceptGroupMsg">接收群消息</string>
</resources>
produce flex java send message to flex(BlazeDS)
package com.kinorsoft;
import java.util.Date;

import flex.messaging.MessageBroker;
import flex.messaging.messages.AsyncMessage;

public class MessageSender {

	public void sendMessageToClients(String messageBody)
	{
		AsyncMessage msg = new AsyncMessage();

		msg.setClientId("Java-Based-Producer-For-Messaging");
		msg.setTimestamp(new Date().getTime());
		//you can create a unique id
		msg.setMessageId("Java-Based-Producer-For-Messaging-ID");
		//destination to which the message is to be sent
		msg.setDestination("mychat");		
		//set message body
		msg.setBody(messageBody != null?messageBody:"");
		//set message header
		msg.setHeader("sender", "From the server");

		//send message to destination
		MessageBroker.getMessageBroker(null).routeMessageToService(msg, null);			
	}

}
flex produce flex java send message to flex(BlazeDS)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" 
	creationComplete="applicationInit()">
	<mx:Script>
		<![CDATA[
			import mx.messaging.ChannelSet;
			import mx.messaging.channels.AMFChannel;
			import mx.controls.Alert;
			import mx.messaging.events.MessageEvent;
			import mx.messaging.messages.AsyncMessage;
			import mx.messaging.events.MessageFaultEvent;
			import mx.messaging.events.MessageAckEvent;
			import mx.rpc.events.ResultEvent;
			import mx.rpc.events.FaultEvent;
			
			private function applicationInit():void{
				var url:String ="http://192.168.1.102/blazeds/"; //随便的以个blazeds应用 如果192.168.1.102改成 localhost后其它的电脑就访问不了。
//				var myStreamingAMF:StreamingAMFChannel = new StreamingAMFChannel(url+"my-streaming-amf", url+"messagebroker/streamingamf");
				var myPollingAMF:AMFChannel = new AMFChannel(url+"my-polling-amf", url+"messagebroker/amfpolling");
				myPollingAMF.pollingEnabled = true;//轮询
				myPollingAMF.pollingInterval = 1000;//隔多长时间询问一次 1miao
				var channelSet:ChannelSet = new ChannelSet();
//				channelSet.addChannel(myStreamingAMF);
				channelSet.addChannel(myPollingAMF);
							
				messageProducer.channelSet = channelSet;
				messageConsumer.channelSet = channelSet;
				
				messageConsumer.subscribe();				
			}
			
			private function addMessageToArea(message:String):void
			{
				chatMessagesArea.text = chatMessagesArea.text + "\n" + message;
			}
			
			private function handleResponse(event:MessageEvent):void
			{
				var message:String = null;
				message = event.message.headers["sender"] + ": " + event.message.body;
				addMessageToArea(message);	
			}
			private function sendMessage():void
			{
				var message:AsyncMessage = new AsyncMessage();
				message.headers = new Array();
				message.headers["sender"] = "sunny";
				message.body = chatMessageTxt.text;
				messageProducer.send(message);
				chatMessageTxt.text = "";
			}
			
			private function handleFaults(event:MessageFaultEvent):void
			{
				Alert.show(event.faultString);
			}
			
			private function handleAcknowledgements(event:MessageAckEvent):void
			{
				trace("done");
			}
			
		]]>
	</mx:Script>

	<mx:Producer id="messageProducer"
		destination="mychat"
		fault="handleFaults(event);"
		acknowledge="handleAcknowledgements(event)"
		/>
	<mx:Consumer id="messageConsumer"
		destination="mychat"		
		fault="handleFaults(event)"
		message="handleResponse(event)"
		/>
	<mx:VBox width="100%" height="100%">
		<mx:TextArea id="chatMessagesArea" editable="false"  width="100%" height="100%" 
			fontFamily="Georgia" fontSize="19" color="#2194AD"/>
		<mx:HBox width="100%" height="27">
			<mx:TextInput id="chatMessageTxt"  width="100%" height="100%" 
				fontFamily="Georgia" fontSize="15" enter="sendMessage()"/>
			<mx:Button id="chatMessageBtn" label="Send" width="64" 
				height="100%" click="sendMessage();"/>		
		</mx:HBox>						
	</mx:VBox>
	
</mx:Application>
swfObject flex swfobject三种使用方法

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
//1.使用Json初始化变量、参数、属性
    var flashvars = {
     picArray=mypics,
     effectName:"wipeRight",
     delay:"4000"
    };
    var params = {
      wmode: "Opaque"
    };
    var attributes = {
     
    };
    swfobject.embedSWF("slideshow.swf", "myContent", "480", "640", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

//2.参数传递
    var FlashVars= {};
    var mypics = new Array("pic/2.jpg","pic/3.jpg","pic/4.jpg","pic/1.jpg");
		FlashVars.picArray=mypics;
		FlashVars.effectName="wipeRight";
		FlashVars.delay="4000";
    var params = {wmode: "Opaque""};
    var attributes = {};
    swfobject.embedSWF("slidein.swf", "myContent", "480", "640", "9.0.0", "expressInstall.swf", FlashVars, params, attributes);
//3、直接写在后面
    swfobject.embedSWF("slidein.swf", "content5", "480", "640", "9.0.0", "expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"});
</script>

xml object flex flex 将XML文件类型转换成Flex Object键值对类型
var obj:Object = 
  new SimpleXMLDecoder(true).decodeXML(new XMLDocument(xl.toXMLString())).node;
flex_excel flex flex 使用as3xls 生成 excel表格 . 解决中文乱码, 支持web application
private var sheet:Sheet;
drawing 11 命令模式--撤销恢复
/* Generated by Together */

package com.javapatterns.command.drawlines;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.Enumeration;
import java.util.Vector;

//(接收者,负责具体实施和执行一个请求)画布,可以在该画布上画任意条直线
public class Drawing extends Canvas implements MouseListener,
		MouseMotionListener {

	private static final long serialVersionUID = -4887753465176351050L;
	private SimpleDraw applet;//应用程序
	private Vector<Line> lines;//线集合
	private Point startPosition;//画线开始位置
	private Point mousePosition;//鼠标位置
	private boolean mousePressed;//鼠标是否按下

	//构造方法,初始化属性信息
	public Drawing(SimpleDraw owner) {
		applet = owner;
		lines = new Vector<Line>();
		mousePressed = false;//默认鼠标未按下
		setBackground(Color.GREEN);//设置画布背景色
		addMouseListener(this);//添加鼠标监听器,自己实现了该接口
		addMouseMotionListener(this);//添加鼠标移动事件的侦听器,自己实现了该接口
	}

	//添加一条线(行动方法)
	public void add(Line line) {
		lines.addElement(line);
		repaint();
	}

	//删除一条线(行动方法)
	public void remove(Line line) {
		lines.removeElement(line);
		repaint();
	}

	public void paint(Graphics graphics) {
		Enumeration<Line> enumeration = lines.elements();
		Line currentLine;

		while (enumeration.hasMoreElements()) {
			currentLine = (Line) (enumeration.nextElement());
			currentLine.paint(graphics);
		}
		if (mousePressed) {
			graphics.drawLine(startPosition.x, startPosition.y,
					mousePosition.x, mousePosition.y);
		}
	}

	//鼠标按键在组件上单击(按下并释放)时调用
	public void mouseClicked(MouseEvent event) {
	}

	//鼠标进入到组件上时调用
	public void mouseEntered(MouseEvent event) {
	}

	//鼠标离开组件时调用
	public void mouseExited(MouseEvent event) {
	}

	//鼠标按键在组件上按下时调用
	public void mousePressed(MouseEvent event) {
		mousePressed = true;//设置鼠标为按下状态
		startPosition = event.getPoint();//记录直线的开始位置
	}

	//鼠标按钮在组件上释放时调用
	public void mouseReleased(MouseEvent event) {
		if (!event.getPoint().equals(startPosition)) {//两点不重合
			Line line = new Line(startPosition, event.getPoint());//创建直线
			AddLineCommand command = new AddLineCommand(this, line);//创建添加直线的一个命令
			applet.execute(command);//请求者请求命令的执行
		}
		mousePressed = false;
	}

	public void mouseDragged(MouseEvent event) {
		mousePosition = event.getPoint();
		repaint();
	}

	public void mouseMoved(MouseEvent event) {
	}
}
Global site tag (gtag.js) - Google Analytics