java學(xué)習(xí)

          java學(xué)習(xí)

           

          window下配置solr

          在window上安裝solr步驟
          1.在tomcat的目錄中放入solr的索引庫(kù)
          2.在webapps中放入solr的應(yīng)用程序
          3.在tomcat_file/solr/目錄中新建collection1目錄, 放入搜索庫(kù)文件,新建data文件夾,存放索引文件。
          新建core.properties文件,寫name=collection1。在/app/tomcat_file/solr/collection1/conf目錄中,
          修改scripts.conf文件。寫上 <dataDir>${solr.data.dir:D:/app/tomcat_file/solr/collection1/data}</dataDir>。
          5,在/app/tomcat_file/webapps/solr/WEB-INF中的web.xml文件中,配置:
           <env-entry>
                      <env-entry-name>solr/home</env-entry-name>
                             <env-entry-value>D:/tomcat_file/solr</env-entry-value>
                                    <env-entry-type>java.lang.String</env-entry-type>
                                        </env-entry>
          6.啟動(dòng)tomcat,配置solr成功

          posted @ 2016-08-01 09:40 楊軍威 閱讀(103) | 評(píng)論 (0)編輯 收藏

          Linux下,配置solr步驟

          在Linux上安裝solr步驟
          1.在tomcat的目錄中放入solr的索引庫(kù)
          2.在webapps中放入solr的應(yīng)用程序
          3.在/app/tomcat_file/conf/Catalina/localhost中新建solr.xml文件,內(nèi)容是:
          <?xml version="1.0" encoding="UTF-8"?>


          <Context docBase="/app/tomcat_file/webapps/solr" debug="0" crossContext="true" >

             <Environment name="solr/home" type="java.lang.String" value="/app/tomcat_file/solr" override="true" />

          </Context>
          4.在/app/tomcat_file/solr/目錄中新建collection1目錄, 放入搜索庫(kù)文件,新建data文件夾,存放索引文件。
          新建core.properties文件,寫name=collection1。在/app/tomcat_file/solr/collection1/conf目錄中,
          修改scripts.conf文件。寫上 <dataDir>${solr.data.dir:/app/tomcat_file/solr/collection1/data}</dataDir>。
          5,在/app/tomcat_file/webapps/solr/WEB-INF中的web.xml文件中,配置:
           <env-entry>
                      <env-entry-name>solr/home</env-entry-name>
                             <env-entry-value>/app/tomcat_file/solr</env-entry-value>
                                    <env-entry-type>java.lang.String</env-entry-type>
                                        </env-entry>
          6.啟動(dòng)tomcat,配置solr成功

          posted @ 2016-08-01 09:15 楊軍威 閱讀(145) | 評(píng)論 (0)編輯 收藏

          springmvc異常處理方式1

          1.
          @ExceptionHandler(ArithmeticException.class)
           public ModelAndView getArithmeticException(Exception ex){
            ModelAndView mv = new ModelAndView("error");
            mv.addObject("ex", ex);
            return mv;
           }
           @RequestMapping("/zero")
           public void ac(@RequestParam("i") int i){
            System.out.println(10/i);
            
           }

          當(dāng)發(fā)生ArithmeticException異常的時(shí)候,在error.jsp頁(yè)面輸出異常 。
          2.
          @ControllerAdvice
          public class Exceptions {
           @ExceptionHandler(ArithmeticException.class)
           public ModelAndView getArithmeticException(Exception ex){
            ModelAndView mv = new ModelAndView("error");
            mv.addObject("ex", ex);
            return mv;
           }
          }
          如果在本類中找不到異常處理的方法,就去@ControllerAdvice注解的類中查找異常處理的類的方法。

          3.

          @ResponseStatus(value=HttpStatus.BAD_REQUEST,reason="請(qǐng)求不對(duì)")
          public class UserExceptions extends RuntimeException{

           /**
            *
            */
           private static final long serialVersionUID = 1L;
           
          }


          在controller的方法里拋出UserExceptions 異常,在頁(yè)面上顯示
          HTTP Status 400 - 請(qǐng)求不對(duì)

          posted @ 2016-07-28 09:49 楊軍威 閱讀(109) | 評(píng)論 (0)編輯 收藏

          java不同版本加載jar的順序不一樣

          java不同版本加載jar的順序不一樣,window和Linux中,java不同版本加載jar的順序不一樣,所有不要以為在一個(gè)java版本和一個(gè)操作系統(tǒng)上成功運(yùn)行成功,就認(rèn)為程序沒(méi)問(wèn)題。只有在不同java版本和不同操作系統(tǒng)上都運(yùn)行成功,才說(shuō)明程序沒(méi)問(wèn)題。在java8一樣的情況下,window和Linux加載spring的jar文件順序不一樣!!!!!!

          posted @ 2016-07-25 17:09 楊軍威 閱讀(478) | 評(píng)論 (0)編輯 收藏

          Oracle11完全卸載方法

          一、在oracle11G以前卸載oracle會(huì)存在卸載不干凈,導(dǎo)致再次安裝失敗的情況,在運(yùn)行services.msc打開服務(wù),停止Oracle的所有服務(wù)。

          二、 oracle11G自帶一個(gè)卸載批處理\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat運(yùn)行該批處理程序?qū)⒆詣?dòng)完成oracle卸載工作,最后手動(dòng)刪除\app文件夾(可能需要重啟才能刪除)

          運(yùn)行過(guò)程中可能需要填寫如下項(xiàng):

          • 指定要取消配置的所有單實(shí)例監(jiān)聽程序[LISTENER]:LISTENER
          • 指定在此 Oracle 主目錄中配置的數(shù)據(jù)庫(kù)名的列表 [MYDATA,ORCL]: MYDATA,ORCL
          • 是否仍要修改 MYDATA,ORCL 數(shù)據(jù)庫(kù)的詳細(xì)資料? [n]: n
          • CCR check is finished
          • 是否繼續(xù) (y - 是, n - 否)? [n]: y

          三、運(yùn)行regedit命令,打開注冊(cè)表。刪除注冊(cè)表中與Oracle相關(guān)內(nèi)容,具體下:     

          • 刪除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目錄。
          • 刪除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中所有以oracle或OraWeb為開頭的鍵。
          • 刪除HKEY_LOCAL_MACHINE/SYSETM/CurrentControlSet/Services/Eventlog/application中所有以oracle開頭的鍵。
          • 刪除HKEY_CLASSES_ROOT目錄下所有以O(shè)ra、Oracle、Orcl或EnumOra為前綴的鍵。
          • 刪除HKEY_CURRENT_USER/SOFTWARE/Microsoft/windows/CurrentVersion/Explorer/MenuOrder/Start Menu/Programs中所有以oracle 開頭的鍵。
          • 刪除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注冊(cè)表鍵以外的所有含有Oracle的鍵。
          • 刪除環(huán)境變量中的PATHT CLASSPATH中包含Oracle的值。
          • 刪除“開始”/“程序”中所有Oracle的組和圖標(biāo)。
          • 刪除所有與Oracle相關(guān)的目錄,包括:  (1)、c:\Program file\Oracle目錄。 (2)、ORACLE_BASE目錄。(3)、c:\Documents and Settings\系統(tǒng)用戶名、LocalSettings\Temp目錄下的臨時(shí)文件。

          posted @ 2016-07-17 15:40 楊軍威 閱讀(161) | 評(píng)論 (0)編輯 收藏

          JavaScript原型和繼承

          (function (){
           
           function Person(){
            this.getAge=function (age){
             alert(age);
            }
            
           }
           //讓此類的所有對(duì)象有name屬性,showName方法
           Person.prototype.name="yjw";
           Person.prototype.showName=function(){
            alert(this.name);
           }
          // new Person().showName();
            
           
           var v={};
           //讓空對(duì)象v繼承Person,含有Person的所有屬性和方法
           v.__proto__=new Person();
           v.__proto__.constructor=v;
           v.getAge(1);
           v.showName();
           
           
          })()
          (function (){
           //創(chuàng)建一個(gè)人員類
           function Person(n){
            this.name=n;
            this.getAge=function (age){
             alert(age);
            }
           }
           //創(chuàng)建教師類
           function Teacher(name,books){
            //call方法可以將一個(gè)函數(shù)的對(duì)象上下文,從初始化變成由this來(lái)決定
            //調(diào)用Person的構(gòu)造函數(shù),
            Person.call(this, name);//this就是person的this,name屬性就是person的屬性
            this.books=books;
           }
           //讓教師類繼承人員類
           Teacher.prototype=new Person();
           Teacher.prototype.constructor=Teacher;//教師的構(gòu)造方法還是使用教師自己的構(gòu)造方法
           Teacher.prototype.getBook = function(){//給教師類的原型添加方法
            return this.name+"  "+this.books;
           }
           var jim = new Teacher("jim","extjs");
          // alert(jim.getBook());
           //jim.getAge(2);
           function extend(subClass,superClass){
            //1.讓子類原型類屬性等于父類的原型屬性,初始化一個(gè)中間空對(duì)象,為了轉(zhuǎn)換主父類關(guān)系
            var f = function(){};
            f.prototype=superClass.prototype;
            //2.讓子類繼承f
            subClass.prototype=new f();
            subClass.prototype.constructor=subClass;
            //3.為子類增加屬性,繼承父類的原型對(duì)象
            subClass.fuLei=superClass.prototype;
            //4.增加一個(gè)保險(xiǎn),就算父類的原型類是超類object,也要把父類的構(gòu)造函數(shù)的級(jí)別降下來(lái)
            if(superClass.prototype.constructor==Object.prototype.constructor){
             superClass.prototype.constructor=superClass;
            }
           }
           function Student(name,books){
            Student.fuLei.constructor.call(this,name);
            this.books=books;
            this.getBooks=function(){
             return this.name+"  "+this.books;
            }
           }
           extend(Student, Person);
           var s = new Student("s","a");
           alert(s.getBooks());
           s.getAge(2);
          })()

          posted @ 2016-06-21 16:13 楊軍威 閱讀(116) | 評(píng)論 (0)編輯 收藏

          java實(shí)現(xiàn)單點(diǎn)登錄的兩種方式

          1.如果兩個(gè)網(wǎng)站域名的一級(jí)域名相同,可以使用cookiefilter實(shí)現(xiàn)單點(diǎn)登錄,因?yàn)榫W(wǎng)站有可能(具體看cookie的設(shè)置)可以共享cookie。例如:www.bbs.aa.cn    www.news.aa.cn

          第一個(gè)網(wǎng)站在登錄后,把用戶信息寫到cookie中,當(dāng)訪問(wèn)第二個(gè)網(wǎng)站時(shí),第二個(gè)網(wǎng)站先經(jīng)過(guò)自己的filter,檢查session,如果沒(méi)有,查詢cookie,取出用戶信息,放在session中登錄。

          public void doFilter(ServletRequest req, ServletResponse resp,

                                      FilterChain chain) throws IOException, ServletException {

           

                             HttpServletRequest request = (HttpServletRequest) req;

                            

                             if(request.getSession().getAttribute("user")== null){

                                      Cookie[] cs = request.getCookies();

           

                                      if (cs != null && cs.length > 0) {

                                               for (Cookie c : cs) {

                                                         String cName = c.getName();

                                                         if (cName.equals("sso")) {

                                                                  String userName = c.getValue();

                                                                  request.getSession().setAttribute("user", userName);

                                                         }

                                               }

                                      }

                             }

           

                             chain.doFilter(request, resp);

           

                   }

          2.如果兩個(gè)網(wǎng)站域名的一級(jí)域名不同,不可以使用cookiefilter實(shí)現(xiàn)單點(diǎn)登錄,因?yàn)榫W(wǎng)站不可以共享cookie。例如:www.bbs.cn    www.news.cn

          使用cas框架服務(wù)實(shí)現(xiàn)單點(diǎn)登錄。1.部署cas服務(wù)端。2.在服務(wù)器端的ticketGrantingTicketCookieGenerator.xml中修改文件。<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"

                             p:cookieSecure="false"http://使用http協(xié)議

                             p:cookieMaxAge="-1"http://cookie有效時(shí)間

                             p:cookieName="yjwname"http://cookie名稱

                             p:cookiePath="/" />//項(xiàng)目名稱

          3.部署www.bbs.cn    www.news.cn服務(wù),在每個(gè)客戶端項(xiàng)目中加入casjar包,在web.xml中配置<?xml version="1.0" encoding="UTF-8"?>

          <!--

          Copyright (c) 2008, Martin W. Kirst

          All rights reserved.

           

          Redistribution and use in source and binary forms, with or without

          modification, are permitted provided that the following conditions are met:

           

          * Redistributions of source code must retain the above copyright notice,

           this list of conditions and the following disclaimer.

           

          * Redistributions in binary form must reproduce the above copyright

           notice, this list of conditions and the following disclaimer in the

           documentation and/or other materials provided with the distribution.

           

          * Neither the name of the Martin W. Kirst nor the names of its

           contributors may be used to endorse or promote products derived from

           this software without specific prior written permission.

           

          THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS

          IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

          TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A

          PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER

          OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

          EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

          PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR

          PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF

          LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

          NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

          SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

          -->

          <web-app id="mywebapp" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

                  

                   <display-name>mywebapp</display-name>

                  

                   <description>

                            

                             Simple sample, how to use CAS Java Client 3.x.

                             In this sample exists a public area (/)

                             and a private area (/protected/*).

                           

                   </description>

           

          <!-- Sign out not yet implemented -->

          <!--

                   <filter>

                             <filter-name>CAS Single Sign Out Filter</filter-name>

                             <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>

                   </filter>

          -->

           

                   <filter>

                             <filter-name>CAS Authentication Filter</filter-name>

                             <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>

                             <init-param>

                                      <!--cas服務(wù)器地址-->

                                      <param-name>casServerLoginUrl</param-name>

                                      <param-value>http://www.service.com:8081/login</param-value>

                             </init-param>

                             <init-param>

                                      <!--自己的地址-->

                                      <param-name>serverName</param-name>

                                      <param-value>http://www.bbs.com:8081</param-value>

                             </init-param>

                             <init-param>

                                      <param-name>renew</param-name>

                                      <param-value>false</param-value>

                             </init-param>

                             <init-param>

                                      <param-name>gateway</param-name>

                                      <param-value>false</param-value>

                             </init-param>

                   </filter>

                  

                   <filter>

                             <filter-name>CAS Validation Filter</filter-name>

                             <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

                             <init-param>

                                      <param-name>casServerUrlPrefix</param-name>

                                      <param-value>http://www.service.com:8081</param-value>

                             </init-param>

                             <init-param>

                                      <param-name>serverName</param-name>

                                      <param-value>http://www.bbs.com:8081</param-value>

                             </init-param>

                   </filter>

                  

                   <filter>

                             <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>

                             <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>

                   </filter>

                  

                   <filter>

                             <filter-name>CAS Assertion Thread Local Filter</filter-name>

                             <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>

                   </filter>

           

                   <!-- ************************* -->

           

          <!-- Sign out not yet implemented -->

          <!--

                   <filter-mapping>

                             <filter-name>CAS Single Sign Out Filter</filter-name>

                             <url-pattern>/*</url-pattern>

                   </filter-mapping>

          -->

           

                   <filter-mapping>

                             <filter-name>CAS Authentication Filter</filter-name>

                             <!--URL下的資源都需要驗(yàn)證登錄-->

                             <url-pattern>/protected/*</url-pattern>

                   </filter-mapping>

           

                   <filter-mapping>

                             <filter-name>CAS Validation Filter</filter-name>

                             <url-pattern>/*</url-pattern>

                   </filter-mapping>

                    

                   <filter-mapping>

                             <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>

                             <url-pattern>/*</url-pattern>

                   </filter-mapping>

                  

                   <filter-mapping>

                             <filter-name>CAS Assertion Thread Local Filter</filter-name>

                             <url-pattern>/*</url-pattern>

                   </filter-mapping>

                  

                   <filter-mapping>

                             <filter-name>CAS Validation Filter</filter-name>

                             <url-pattern>/proxyCallback</url-pattern>   

                   </filter-mapping>

                  

                   <!-- *********************** -->

           

          <!-- Sign out not yet implemented -->

          <!--

                   <listener>

                             <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>

                   </listener>

          -->

           

                  

                  

          </web-app>

          4.啟動(dòng)服務(wù),這樣就可以實(shí)現(xiàn)單點(diǎn)登錄

          posted @ 2016-06-05 11:17 楊軍威 閱讀(5954) | 評(píng)論 (0)編輯 收藏

          springmvc頁(yè)面跳轉(zhuǎn)元素亂碼解決方案

          在web.xml中配置
           <filter>
            <filter-name>CharacterEncodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
             <param-name>encoding</param-name>
             <param-value>utf-8</param-value>
            </init-param>
            <init-param>
                <param-name>forceEncoding</param-name>
                <param-value>true</param-value><!-- 強(qiáng)制進(jìn)行轉(zhuǎn)碼 -->
              </init-param>
           </filter>
           <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
           </filter-mapping>

          posted @ 2016-05-26 16:34 楊軍威 閱讀(208) | 評(píng)論 (0)編輯 收藏

          js中方法的行內(nèi)綁定和動(dòng)態(tài)綁定的區(qū)別

          <html>
          <head>
           <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          </head>
          <body>

             <div id="mydiv">aaaaa</div>
              <div id="mydiv1" onclick="test();">bbbbb</div>
               <div id="mydiv2" onclick="test2(this);">bbbbb</div>
          </body>

          <script type="text/javascript" >
          document.getElementById('mydiv').onclick=test1;
          //相當(dāng)于  對(duì)象.屬性=test1,相當(dāng)于對(duì)象擁有了test1屬性,this指向當(dāng)前對(duì)象
          function test1(){
           this.style.color='red';
          }
          function test(){
           this.style.color='red';
          }
          function test2(t){
           t.style.color='red';
          }
          //1.我們?cè)趈s定義的所有的全局變量 和方法,都是需要附屬在window上的,當(dāng)成window的屬性,所以在test方法中的
          //this指向window,不是當(dāng)前元素,所以test方法執(zhí)行報(bào)錯(cuò)。在js中,規(guī)定,函數(shù)被哪個(gè)元素調(diào)用,this指向這個(gè)元素。
          //當(dāng)方法被動(dòng)態(tài)綁定時(shí),是當(dāng)前元素調(diào)用方法,當(dāng)行內(nèi)綁定時(shí),如果不在方法中傳入當(dāng)前對(duì)象,方法中的this指向window。

          </script>
          </html>

          posted @ 2016-05-11 17:27 楊軍威 閱讀(1112) | 評(píng)論 (0)編輯 收藏

          Linux文件處理常用命令

          1.查看文件命令

          命令格式:ls -la (查看所有文件,包括隱藏文件)

          ls -l 或者ll (顯示文件詳細(xì)信息)

          ls -d (查看目錄屬性)

          2.文件類型和權(quán)限標(biāo)示

          - rw- rw- r--

          -表示文件 d表示目錄 l表示軟鏈接文件

          rw- 表示所有者的權(quán)限

          rw-表示所有組的權(quán)限

          r--表示其他人的權(quán)限

          r讀權(quán)限w寫權(quán)限x執(zhí)行權(quán)限

          3.命令mkdir 創(chuàng)建目錄 mkdir -p 遞歸創(chuàng)建目錄

          4.cd 進(jìn)入目錄 cd .. 返回上層目錄

          5.pwd 顯示當(dāng)前所在目錄

          6.rmdir 刪除空目錄

          7.cp -r 復(fù)制目錄 目的目錄   cp -p 復(fù)制目錄 目的目錄,保留文件屬性

          8.mv 剪切文件或者目錄或者 修改文件名

          9.rm -r 刪除目錄   rm -f 強(qiáng)制執(zhí)行 rm -rf 強(qiáng)制刪除文件或者目錄

          10.touch 創(chuàng)建文件

          11. cat 查看文件全文 cat -n 顯示行號(hào)

          12.more 查看大文件,f或者空格 向下翻頁(yè),enter 向下每行顯示,

          13.less 向上翻頁(yè)查看大文件

          14.head 文件名 head -n 10查看文件頭10

          15.tail -n 10 文件名 ,查看文件尾部10

          16.tail -f 文件夾 實(shí)時(shí)查看文件變化

          posted @ 2016-05-09 16:44 楊軍威 閱讀(156) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共43頁(yè): First 上一頁(yè) 10 11 12 13 14 15 16 17 18 下一頁(yè) Last 

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 兖州市| 龙陵县| 丰城市| 巍山| 青州市| 嘉峪关市| 金华市| 策勒县| 玉田县| 滨海县| 灌阳县| 郎溪县| 靖远县| 茌平县| 鄂州市| 黔西县| 灌阳县| 宜兴市| 新乡市| 临沂市| 九江县| 定州市| 上林县| 沾化县| 盐山县| 永兴县| 南京市| 无为县| 吉隆县| 周宁县| 镇雄县| 闽清县| 广安市| 化德县| 新余市| 宜城市| 曲水县| 泸州市| 赫章县| 梧州市| 莱州市|