皮杜妮

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  887 Posts :: 3 Stories :: 7 Comments :: 0 Trackbacks

2016年5月4日 #

jfinal+freemarker+jquery mobile  开发出web应用, 然后找个壳子打包成apk应用。





http://www.cnblogs.com/gzggyy/archive/2013/05/14/3077510.html
posted @ 2016-09-25 17:54 猪眼睛| 编辑 收藏

可以使用AntiSamy防范XSS跨站脚本攻击



常用XSS方式分为以下几种:

1.      输入框中直接输入恶意脚本,如:

><script>alert(document.cookie)</script>

2.      输入框中输入html标签,在标签中嵌入恶意脚本,如src,href,css style等。

<IMG SRC="javascript:alert('XSS');">; <BODY BACKGROUND="javascript:alert('XSS')"> <STYLE>li {list-style-image:url("javascript:alert('XSS')");}</STYLE><UL><LI>XSS</br>

3.      将恶意脚本注入在event事件中,如onClick,onBlur,onMouseOver等事件。

<a onmouseover="alert(document.cookie)">xxslink</a>

4.      在remote style sheet,javascript中,如

<LINK REL="stylesheet"HREF="javascript:alert('XSS');">
posted @ 2016-07-08 11:44 猪眼睛| 编辑 收藏

ElasticSearch各个版本的apo
https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.2/index.html


posted @ 2016-05-10 15:46 猪眼睛| 编辑 收藏


dubbo是阿里巴巴的框架,主要有4部分组成,1 服务台提供方, 2 服务注册方 3 服务消费分 4 监控部分

1. 注册方一般用zookeeper, 先下载安装,启动zkservece.cmd 会报错,需要修改配置文件 zoo.cfg. 路径中conf/下,,没有自己加一个。
正常启动

2. 编写一个服务器端, 创建maven项目

pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>DubboService</groupId>
  <artifactId>DubboService</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build/>
          <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>2.5.3</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.18.1-GA</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.15</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jms</artifactId>
                        <groupId>javax.jms</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>mail</artifactId>
                        <groupId>javax.mail</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
                <version>2.5.6.SEC03</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.6</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.5</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.101tec</groupId>
                <artifactId>zkclient</artifactId>
                <version>0.4</version>
            </dependency>
        </dependencies>
      <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
        </repository>
    </repositories>   
    
</project>

config/applicationProvider.xml  配置文件,里面定义了注册的bean, 和zookeeper的地址
<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd ">
    <dubbo:application name="hello-world" />
    <!-- 注册地址 -->
     <dubbo:registry address="zookeeper://localhost:2181" />
     <dubbo:protocol name="dubbo" port="20880" />
        <!-- Service interface Concurrent Control -->
        <dubbo:service interface="cn.zto.service.IProcessData"    ref="demoService" executes="10" />
        <!-- designate implementation -->
        <bean id="demoService" class="cn.zto.service.impl.ProcessDataImpl" />
    </beans>
IProcessData定义接口及实现类
package cn.zto.service.impl;

import cn.zto.service.IProcessData;
public class ProcessDataImpl implements IProcessData {
public String hello(String name) {
    System.out.println(name);
    return "hello : " + name;
}}

package cn.zto.service;

public interface IProcessData {
    public String hello(String name);
}
启动服务
package cn.zto.app;

import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) throws Exception {
     ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext(    new String[] {
"config/applicationProvider.xml"
});
context.start();
System.out.println("按任意键退出");
System.in.read();
}}
运行起来。如下
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
按任意键退出



下面再建一个client程序
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>DubboClient</groupId>
  <artifactId>DubboClient</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build/>
 
          <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>2.5.3</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.18.1-GA</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.15</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jms</artifactId>
                        <groupId>javax.jms</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>mail</artifactId>
                        <groupId>javax.mail</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
                <version>2.5.6.SEC03</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.6</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.5</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.101tec</groupId>
                <artifactId>zkclient</artifactId>
                <version>0.4</version>
            </dependency>
        </dependencies>
 
 
      <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
        </repository>
    </repositories>   
    
</project>


注册的接口类,和要服务器端的包路径一致

package cn.zto.service;

public interface IProcessData {
    public String hello(String name);
}

客户端的配置文件,接口定义及zookeeper的地址
<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd ">
    <dubbo:application name="consumer-of-helloworld-app" />
    <!-- 注册地址 -->
     <dubbo:registry address="zookeeper://localhost:2181"/>
     <dubbo:consumer timeout="5000" />
     <dubbo:reference id="demoService" interface="cn.zto.service.IProcessData"/>
</beans>

客户端启动
package cn.zto.consumer;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.zto.service.IProcessData;

public class ConsumerThd{
    
    
    
public void sayHello(){
ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext(    
new String[] {"config/applicationProvider.xml"});
context.start();
IProcessData demoService=(IProcessData) context.getBean("demoService");
System.out.println(demoService.hello("world"));
}


public static void main(String args[]){
    new ConsumerThd().sayHello();
}



}


运行结果如下

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
hello : world


这样就基本实现了dubbo的框架,很简单吧




posted @ 2016-05-04 17:03 猪眼睛| 编辑 收藏

spring boot 是spring 4.0提供的微框架,支持 jdk 1.8, maven 3以上,  否则会报一些错误。

1. pom 文件, 主要写依赖关系,
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>spring-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-boot-example</name>
    
    <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>1.3.3.RELEASE</version>
    </parent>
    
    <!-- Add typical dependencies for a web application -->
    
    <dependencies>
        <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        
        
    </dependencies>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2. 然后就是提供的接口类UserController, 实体类User, 主要是几个注解
@RestController   l类同spring mvc 的@Controller
@RequestMapping   类同spring mvc

package two;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")

public class UserController {

    @RequestMapping("/hello")
    public User view(){
        
        User user=new User();
        user.setId((long)100);
        user.setName("fanjs");
        return user;
        
        
    }

package two;

public class User {
private Long id;
private String name;
public Long getId() {
    return id;
}
public void setId(Long id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}


3.  然后就是程序启动,这里不需要spring xml文件,完全依赖注解。
@EnableAutoConfiguration
@Configuration
@ComponentScan

package two;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan
@EnableAutoConfiguration


public class RunMain {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        SpringApplication.run(RunMain.class, args);
    }

}

4.  测试路径

http://localhost:8080/user/hello

{"id":100,"name":"fanjs"}






posted @ 2016-05-04 15:39 猪眼睛| 编辑 收藏

1、maven包查询:

   http://mvnrepository.com/
2、maven公共仓库

   http://mirrors.ibiblio.org/pub/mirrors/maven2/
   http://gradle.artifactoryonline.com/gradle/libs

   http://gradle.artifactoryonline.com/gradle/plugins
   http://google-maven-repository.googlecode.com/svn/repository
   http://maven.springframework.org/release
   http://maven.springframework.org/milestone
   http://repository.codehaus.org
   http://repository.jboss.org/nexus/content/groups/public-jboss
   http://repo.jfrog.org/artifactory/plugins-releases-local
   http://repo.jfrog.org/artifactory/libs-releases-local
   http://download.java.net/maven/1
   http://download.java.net/maven/2
   http://repo1.maven.org/maven2
   http://www.intalio.org/public/maven2/

   http://www.jarvana.com/jarvana/browse/

   http://maven.alfresco.com/nexus/content/groups/public

posted @ 2016-05-04 10:22 猪眼睛| 编辑 收藏