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 楊軍威 閱讀(163) | 評論 (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 楊軍威 閱讀(1132) | 評論 (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 楊軍威 閱讀(474) | 評論 (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 楊軍威 閱讀(200) | 評論 (0)編輯 收藏

          spring 和 springmvc 父子容器的關系

          spring容器是父容器,包含的對象有dao,service等
          springmvc容器是子容器,包括controller
          子容器可以訪問父容器的 對象,但是子容器不可以訪問父容器的屬性。
          父容器不能訪問子容器的對象。 
          例如,controller可以訪問service,但是service不能訪問controller。

          posted @ 2017-02-21 13:35 楊軍威 閱讀(306) | 評論 (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 楊軍威 閱讀(121) | 評論 (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 楊軍威 閱讀(252) | 評論 (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 楊軍威 閱讀(147) | 評論 (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 楊軍威 閱讀(148) | 評論 (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 楊軍威 閱讀(288) | 評論 (0)編輯 收藏

          僅列出標題
          共43頁: First 上一頁 9 10 11 12 13 14 15 16 17 下一頁 Last 

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 渭南市| 闻喜县| 蒙城县| 陵水| 东海县| 石家庄市| 武冈市| 延津县| 两当县| 南投市| 托克托县| 遵义市| 新竹市| 临城县| 绥棱县| 保德县| 丰镇市| 固原市| 黎平县| 乐陵市| 德惠市| 金塔县| 宝兴县| 苏尼特右旗| 田林县| 固安县| 阳山县| 西乌珠穆沁旗| 冀州市| 永泰县| 墨竹工卡县| 六安市| 扎囊县| 沧州市| 太仓市| 天长市| 呼玛县| 江都市| 吉林市| 建昌县| 保亭|