java学习

java学习

 

Extjs解密1

/**
* Created by Administrator on 2017/3/24.
*/

var extend=function (c,f) {
c.prototype=f.prototype;
}
var f=function () {
this.a='aa';

}
f.prototype={
say:function () {
alert('f');
}
}
var c=function () {
this.b='aa';
}
extend(c,f);//只能继承prototype实现的方法
var c1=new c();
c1.say();


Ext.namespace('com.ext');
com.ext.First=function () {
var kiss='中国';

}
com.ext.First.prototype={
init:function () {
alert('init');
alert('kiss');
},
method:function () {
alert('method');
}
}
//var f=new com.ext.First();
//f.method();
com.ext.Second=function () {

}
Ext.extend(com.ext.Second,com.ext.First,{

method:function () {
alert('method2');
},
fun:function () {
alert('fun');
}
});
var s=new com.ext.Second();
s.method();
s.fun();
Student=function (config) {
this.a='3';
Ext.apply(this,config);
}
var st=new Student({a:'1',b:'2'});
alert(st.a);

Student1=function (config) {
this.a='3';
Ext.applyIf(this,config);
}
var st=new Student1({a:'1',b:'2'});
alert(st.a);
/**apply方法覆盖所有的属性
* applyIf不覆盖属性
*
*/



posted @ 2017-03-24 17:52 杨军威 阅读(150) | 评论 (0)编辑 收藏

solr搜索配置拼音检索

1.准备jar包
将ik的jar包、pinyin4j-2.5.0​.jar、solr-4.9.0\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-4.9.0.jar拷贝到%TOMCAT_HOME%\webapps\solr\WEB-INF\lib下
2.修改schema.xml
<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">    
    <analyzer type="index">    
        <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>    
        <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>    
       
    </analyzer>    
      
    <analyzer type="query">         
        <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>    
        <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>    
        
    </analyzer>    
</fieldType>  
<fieldType name="text_smartcn"     class="solr.TextField" positionIncrementGap="0">  
    <analyzer type="index">  
      <tokenizer     class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>  
      <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>  
    </analyzer>  
    <analyzer type="query">    
       <tokenizer     class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>  
      <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>   
    </analyzer>   
</fieldType>  
3.需要拼音分词的字段使用这些fieldType
4.在搜索字段时配上这些拼音字段

posted @ 2017-03-16 10:56 杨军威 阅读(1119) | 评论 (0)编辑 收藏

solr配置权重和高亮的java端配置

参与权重的查询字段最好是可以进行分词配置过的,
例子程序:
//权重
query.set("defType","dismax");  
query.set("qf","username^10000 zgxltext^10000   usernameSpell^10000   id^10000    email^10000   jgtext^10000  xueweitext^10000    zhiweitext^10000  sextext^10000 zhijitext^10000    companytext^10000 zuzhitext^10000 companysubtext^10000  sbfamily^1 sbharvest^1 sbproject^1 sbteach^1 sbwaiyu^1   sbwork^1   sbzhiCheng^1 ");
//高亮
query.setHighlight(true);  
query.setParam("hl", "true"); //highlighting  
       query.setParam("hl.fl", "username id email jgtext xueweitext zhiweitext sextext zhijitext companytext zuzhitext companysubtext zgxltext");  
       query.setHighlightSimplePre("<font color=\'red\'>");  
       query.setHighlightSimplePost("</font>");  
       query.setHighlightFragsize(200);  
       query.setHighlightSnippets(3);
List<SPEntity> lpojo = response.getBeans(SPEntity.class);
Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
List<String> list2 =null;
//     
if (lpojo != null && lpojo.size()>0 && highlighting != null){
for(SPEntity sp : lpojo){
Map<String, List<String>> map = highlighting.get(sp.getId());
list2 = map.get("username");
if (list2 != null && list2.size()>0){
sp.setUsername(list2.get(0));
}
list2 = map.get("id");
if (list2 != null && list2.size()>0){
sp.setId(list2.get(0));
}
list2 = map.get("email");
if (list2 != null && list2.size()>0){
sp.setEmail(list2.get(0));
}
list2 = map.get("jgtext");
if (list2 != null && list2.size()>0){
sp.setJgtext(list2.get(0));
}
list2 = map.get("xueweitext");
if (list2 != null && list2.size()>0){
sp.setXueweitext(list2.get(0));
}
list2 = map.get("zhiweitext");
if (list2 != null && list2.size()>0){
sp.setZhiweitext(list2.get(0));
}
list2 = map.get("sextext");
if (list2 != null && list2.size()>0){
sp.setSextext(list2.get(0));
}
list2 = map.get("zhijitext");
if (list2 != null && list2.size()>0){
sp.setZhijitext(list2.get(0));
}
list2 = map.get("companytext");
if (list2 != null && list2.size()>0){
sp.setCompanytext(list2.get(0));
}
list2 = map.get("zuzhitext");
if (list2 != null && list2.size()>0){
sp.setZuzhitext(list2.get(0));
}
list2 = map.get("companysubtext");
if (list2 != null && list2.size()>0){
sp.setCompanysubtext(list2.get(0));
}
list2 = map.get("zgxltext");//
if (list2 != null && list2.size()>0){
sp.setZgxltext(list2.get(0));
}
}
}

posted @ 2017-03-14 15:30 杨军威 阅读(466) | 评论 (0)编辑 收藏

使用jQuery和jsonp解决js跨域问题

客户端系统js代码:
<script type="text/javascript">
function test(a){
alert(a.name);
return a;
}
$.ajax({
    url:'http://ip:8090/mobile/test.json?method=test',
    type:'POST', //GET
    async:true,    //或false,是否异步
    data:{
     //   name:'yang',age:25
    },
    timeout:5000,    //超时时间
    dataType:'jsonp',    //返回的数据格式:json/xml/html/script/jsonp/text
    beforeSend:function(xhr){
     
    },
    success:function(data,textStatus,jqXHR){
    },
    error:function(xhr,textStatus){
       
    },
    complete:function(){
      
    }
})
</script>
服务端系统代码:
test({name:'yang',age:25});
客户端访问跨域系统时,传递客户端需要执行的方法名,服务端在查询出数据后,使用传递的方法名封装成js方法的执行返回,客户端程序就直接执行此方法。

springmvc后台例子,返回jsonp数据代码
//第一种字符串返回jsonp格式数据
@RequestMapping(value="/get/{method}",produces=MediaType.APPLICATION_JSON_VALUE+";charset=utf-8")
@ResponseBody
public String getUser(@PathVariable String method) {
User user = userService.selectByPrimaryKey(1);
Gson gson = new Gson();
String userJson = gson.toJson(user);
return method+"("+userJson+")";
}
//第二种对象返回jsonp格式数据
spring版本4.1以上
@RequestMapping("/gett/{method}")
@ResponseBody
public Object gett(@PathVariable String method) {
User user = userService.selectByPrimaryKey(1);
MappingJacksonValue mjv =  new MappingJacksonValue(user);
mjv.setJsonpFunction(method);
return mjv;
 
}

posted @ 2017-02-22 15:55 杨军威 阅读(194) | 评论 (0)编辑 收藏

spring 和 springmvc 父子容器的关系

spring容器是父容器,包含的对象有dao,service等
springmvc容器是子容器,包括controller
子容器可以访问父容器的 对象,但是子容器不可以访问父容器的属性。
父容器不能访问子容器的对象。 
例如,controller可以访问service,但是service不能访问controller。

posted @ 2017-02-21 13:35 杨军威 阅读(299) | 评论 (0)编辑 收藏

nginx 配置tomcat

   upstream  project
{
        server 127.0.0.1:8080 weight=3;   tomcat地址
        server 127.0.0.1:8082;   tomcat地址
    }
    server {
        listen       80;             发布的访问地址的端口
        server_name  test.tt.com;    发布的访问地址
        location / {
            proxy_pass   http://project;
            index  index.html index.htm;
        }
    }

posted @ 2017-02-21 10:57 杨军威 阅读(113) | 评论 (0)编辑 收藏

mavne 常用命令

1mvn  compile   编译源代码

2mvn  test     执行所有的测试类方法

3mvn clean     清除class

4mvn package    打包

5mvn install  安装到本地仓库中

6 mvn archetype:generate -DgroupId=com.aaa.bbb -DartifactId=ccc-bbb -Dversion=0.0.1-SNAPSHOT    新建项目

7<dependency>

         <groupId></groupId>

         <artifactId></artifactId>

         <version></version>

         <scope>compile</scope>编译和打包的时候会依赖(这个属性是默认的)

<scope>provided</scope>编译和测试的时候依赖,打包的时候不依赖,例如servlet-api,打包的时候tomcat中有,会冲突,所有不打包,但是编译和测试的时候需要这个jar

<scope>test</scope> 在测试范围有效,在编译和打包的时候不会使用这个依赖。并且不会传递依赖,例如,其他项目依赖此包时,此jar不会被传递依赖。

<scope>runtime</scope> 在运行的时候依赖,在编译的时候不依赖。

      </dependency>

8a-->直接依赖jar1.1   b-->直接依赖jar1.2    c-->直接依赖a,b   ,c先依赖a,后依赖b,所以a依赖jar1.1版本

9、当依赖级别相同的时候,先依赖谁,就用它,当依赖级别不同的时候,用依赖级别短的依赖。

10<exclusions>

            <exclusion>

           

            </exclusion>

         </exclusions>

的意思是说不使用此jar依赖的某个jar包,可以解决jar冲突的问题。

11、继承的绝对路径是pom文件,聚合的是模块的位置。

posted @ 2017-02-15 15:18 杨军威 阅读(240) | 评论 (0)编辑 收藏

maven 添加收费地 jar包 Missing artifact com.oracle

1.下载oracle jar包,放在计算机用户目录下,例如C:\Users\Administrator目录下。
2.在cmd下执行
mvn install:install-file -DgroupId=com.Oracle -DartifactId=ojdbc14 -Dversion=10.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc14.jar   -DgeneratePom=true
这样加把jar加载到本地库了。

posted @ 2017-02-06 10:37 杨军威 阅读(138) | 评论 (0)编辑 收藏

不同数据库分页的语句

/** * 通过数据库类型处理翻页查询语句 * 注释:如果框架当前不支持此种数据库分页查询,则返回一个空值字符串。 * * @param strSql 待执行SQL语句 * @param start 开始行数 * @param pageCount 每页行数 * */ private static String dealSqlByDBType(String dbType,String strSql,int start,int pageCount) { if(dbType==null)return ""; String retSql = ""; if(dbType.equals("mysql")) { //MYSQL数据库采用limit关键字进行分页 int startItem = start -1;if(startItem<0)startItem = 0; retSql = strSql + " limit " + startItem + "," + pageCount; } else if(dbType.equals("oracle")) { //ORACLE数据库采用ROWNUM控制分页 int startItem = start; if(startItem<=0){startItem = 0;} int endItem = startItem + pageCount; retSql = "SELECT * FROM (" + "SELECT A.*,ROWNUM RN FROM(" + strSql + ") A WHERE ROWNUM<="+ endItem +") WHERE RN >"+startItem; } else if(dbType.equals("db2")) { //DB2数据库采用ROWNUMBER() OVER()函数进行分页 //其中OVER()函数中必须包含排序字段,此处用“1”代替 int startItem = start -1;if(startItem<0)startItem = 0; int endItem = startItem + pageCount; retSql = "SELECT * FROM (" + "SELECT B.*, ROWNUMBER() OVER(1) AS RN FROM (" + strSql + ") AS B )AS A WHERE A.RN <= "+ endItem +" AND A.RN >= "+ startItem; } else if(dbType.equals("sqlserver2005")) { //SQLSERVER2005采用ROW_NUMBER()函数进行分页 //其中OVER()函数中必须包含排序字段,此处用“1”代替 int startItem = start -1;if(startItem<0)startItem = 0; int endItem = startItem + pageCount; retSql = "SELECT * FROM (" + "SELECT B.*, ROW_NUMBER() OVER(1) RN FROM (" + strSql + ") B )A WHERE A.RN <= "+ endItem +" AND A.RN >= "+ startItem; } else if(dbType.equals("derby")) { //通过OFFSET等关键字进行翻页(尚未经过测试) int startItem = start -1;if(startItem<0)startItem = 0; //int endItem = startItem + pageCount; retSql = strSql + " OFFSET "+ startItem +" ROWS" + " FETCH NEXT "+ pageCount +" ROWS ONLY"; } return retSql; }

posted @ 2016-09-22 10:05 杨军威 阅读(140) | 评论 (0)编辑 收藏

json转复杂java对象

String objParam = "{name:\"c\",configType:1,list:[{label:\"c\",tableName:\"c\",vfiled:\"c\",category:\"c\"},{label:\"c\",tableName:\"c\",vfiled:\"c\",category:\"c\"}]}";//request.getParameter("objParam"); JSONObject jsonObject = JSONObject.fromObject(objParam); Map classMap = new HashMap(); classMap.put("list", DtoSearch.class); ResultData resultData = (ResultData) net.sf.json.JSONObject.toBean( jsonObject, ResultData.class, classMap);

posted @ 2016-09-20 17:42 杨军威 阅读(277) | 评论 (0)编辑 收藏

仅列出标题
共43页: First 上一页 9 10 11 12 13 14 15 16 17 下一页 Last 

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜