hyljava

          #

          刷新窗口的方法

          <script type="text/javascript"> 

              window.parent.dialogArguments.document.execCommand('Refresh');   

          </script> 

          浮層內嵌iframe及frame集合窗口,刷新父頁面的多種方法

          <script type="text/javascript">   

             window.parent.location.reload();   

          </script> 

          彈出子頁面
          <script type="text/javascript">
             window.opener.location.reload();   
          </script> 
          子窗口刷新父窗口
          <script type="text/javascript">
             window.self.opener.location.reload();   
          </script> 
          刷新以open()方法打開的窗口[上面的彈出子頁面也可以完成]
          <script type="text/javascript">
               window.opener.location.href=window.opener.location.href;   
          </script> 

          posted @ 2013-04-12 15:53 何云隆 閱讀(314) | 評論 (0)編輯 收藏

          js中對象冒充示例

          javascript對象冒充示例
           <script type="text/javascript">
                  function Animal(name,age){
                      this.name=name;
                      this.age=age;
                      this.eat=function(){
                          alert("動物可以吃東西");
                      }
                  }
                  function Dog(name,age){
                      //把Animal構造函數賦給this.an
                      this.an=Animal;
                      //運行調用@!!!!非常重要
                      this.an(name,age);
                  }
                  var dog=new Dog("小白",2);
                  alert(dog.name);
                  dog.eat();
           </script>

          posted @ 2013-04-12 15:44 何云隆 閱讀(1770) | 評論 (0)編輯 收藏

          提示輸入內容

          <input name="keyword"  type="text"  value="請輸入關鍵字" onFocus="this.value=''" onBlur="if(!value){value=defaultValue;}"/>

          posted @ 2013-04-12 15:37 何云隆 閱讀(3065) | 評論 (2)編輯 收藏

          阻止超級連接的跳轉

          <a href="javascript:void(0)" onclick="changeMa()">看不清</a>
          onclick事件會被引發,但是不會發生任何跳轉,相當于一個死鏈接

          posted @ 2013-04-12 15:34 何云隆 閱讀(1247) | 評論 (0)編輯 收藏

          SpringMVC做二級聯動

          <select id="myCol" onchange="getChange()">
          <option value="1">
          大連交大
          </option>
          <option value="2">
          東北財經
          </option>
          <option value="3">
          大連海事
          </option>
          </select>
          <select id="myGet">
          </select>


          <script type="text/javascript"  >
          function getChange() {
          //獲取到第一個select表單value值
          var myCol = document.getElementById("myCol").value;
            //拼接成要獲取值的url
          var url = "getCateGory?myCol=" + myCol; //url  
          //利用jquery的ajax方法,使用此方法要引jquery包
          htmlobj = $.ajax( {
          url : url,
          async : false
          });
          //此處利用json處理值,還需要引json包,在服務器端可以使用GSON轉化數據,響應當前頁面
          /*服務器端:
          //需要引GSON包
            //創建一個Gson對象
          Gson gson = new Gson();
          //返回一個json格式的字符串 
          String pStr = gson.toJson(user);
                System.out.println(pStr);
          out.print(pStr);
          */
          //接取響應值,并且轉化成JSON對象
          var obj = JSON.parse(htmlobj.responseText);
          //此變量是為拼接而做
          var options = "";
          var myGet = document.getElementById("myGet");
          //myGet.removeChild("option");
          //刪除現有option節點
          for ( var i = 1; i <= myGet.length; i++) {
          myGet.remove(i);
          }
          myGet.remove(myGet.selectedIndex);
             //利用循環,在此將新的option添加上
             for(var i=0;i<obj.length;i++){
            alert(obj[i].uUserName);
               var myOption=document.createElement("option");
            myOption.setAttribute("value",obj[i].uId);
            var testN=document.createTextNode(obj[i].uUserName);
          myOption.appendChild(testN);
            myGet.appendChild(myOption);
            
           //此種方法最簡單,但是沒有技術含量
           //options+="<option value='"+obj[i].uId+"'>"+obj[i].uUserName+"</option>";
           }
          // myGet.innerHTML=options;
            
          }
          </script>

          posted @ 2013-04-12 15:30 何云隆 閱讀(3923) | 評論 (0)編輯 收藏

          Spring MVC級聯查詢(用戶與地址之間關系)

           這里的級聯查詢仿照Hibernate中的一對多關系映射,寫個例子留個筆記
          (地址表主表,用戶表從表)
          用戶表(類)User
          成員變量如下,并且對應有get和set方法
                  private String uId;
          private String uUserName;
          private String uPassWord;
          private String uTelephone;
          private int uAge;
          private Date uBirthday;
          對應的表如下:
           
          地址表(類)Address成員變量如下:
                  private int no;
          private String name;
          private List<User> userList;


          對應的UserDao中先寫:
          public List<User> findByAddressId(int a){
          String sql="select * from usermbo where address=?";
          List<User> users = new  ArrayList<User>();
          Object[] params=new Object[]{a};
          users = jdbcTemplate.query(sql,params, new UserRowMapper() );
          return users;
          }

          private class UserRowMapper implements ParameterizedRowMapper<User>{
          public User mapRow(ResultSet rs, int rowNum) throws SQLException {
          User user = new User();
          user.setuUserName(rs.getString("username"));
          user.setuAge(rs.getInt("age"));
          user.setuId(rs.getInt("id")+"");
          user.setuTelephone(rs.getString("telephone"));
          return user;
          }
          }

          此部完成以后,再寫AddressDao

          @Autowired
          private UserDao userDao ;


          public List<Address> getAddress(){
          String sql="select * from address";
          List<Address> addresss = new  ArrayList<Address>();
          addresss = jdbcTemplate.query(sql, new AddressRowMapper() );
          return addresss;
          }
          private class AddressRowMapper implements ParameterizedRowMapper<Address>{
          public Address mapRow(ResultSet rs, int rowNum) throws SQLException {
          Address address=new Address( );
          address.setNo(rs.getInt("no"));
          address.setName(rs.getString("name"));
                   address.setUserList( userDao.findByAddressId(rs.getInt("no")));
          return address;
          }
          }
          Service層再配一下(此層不配也行直接將
          @Autowired
          private AddressDao addressDao ;引入Controllar中即可)
          在Controllar中再寫
          addressService.getAddress()就可以查出結果
           [Address [name=計算力, no=1, userList=[User [uAddress=null, uAge=12, uBirthday=null, uId=11, uPassWord=null, uTelephone=1234567, uUserName=張三]]], Address [name=大連, no=2, userList=[]], Address [name=海南, no=3, userList=[User [uAddress=null, uAge=34, uBirthday=null, uId=12, uPassWord=null, uTelephone=2323232323, uUserName=李四], User [uAddress=null, uAge=33, uBirthday=null, uId=13, uPassWord=null, uTelephone=2323, uUserName=王武]]]] 

          posted @ 2013-04-12 13:10 何云隆 閱讀(3925) | 評論 (3)編輯 收藏

          SPRING-MVC訪問靜態文件,如jpg,js,css

          SPRING-MVC訪問靜態文件,如jpg,js,css

           

          如何你的DispatcherServlet攔截 *.do這樣的URL,就不存在訪問不到靜態資源的問題。如果你的DispatcherServlet攔截“/”,攔截了所有的請求,同時對*.js,*.jpg的訪問也就被攔截了。

           

          目的:可以正常訪問靜態文件,不要找不到靜態文件報404。
           
          方案一:激活Tomcat的defaultServlet來處理靜態文件

          Xml代碼  <servlet-mapping>       <servlet-name>default</servlet-name>      <url-pattern>*.jpg</url-pattern>     </servlet-mapping>    <servlet-mapping>           <servlet-name>default</servlet-name>        <url-pattern>*.js</url-pattern>    </servlet-mapping>    <servlet-mapping>            <servlet-name>default</servlet-name>           <url-pattern>*.css</url-pattern>      </servlet-mapping>    要配置多個,每種文件配置一個   

          要寫在DispatcherServlet的前面, 讓defaultServlet先攔截,這個就不會進入Spring了,我想性能是最好的吧。


          Tomcat, Jetty, JBoss, and GlassFish  默認 Servlet的名字 -- "default"
          Google App Engine 默認 Servlet的名字 -- "_ah_default"
          Resin 默認 Servlet的名字 -- "resin-file"
          WebLogic 默認 Servlet的名字  -- "FileServlet"
          WebSphere  默認 Servlet的名字 -- "SimpleFileServlet" 

           

           


          方案二: 在spring3.0.4以后版本提供了mvc:resources 
          mvc:resources 的使用方法:

          Xml代碼  <!-- 對靜態資源文件的訪問 -->    <mvc:resources mapping="/images/**" location="/images/" />  

            
          /images/**映射到 ResourceHttpRequestHandler進行處理,location指定靜態資源的位置.可以是web application根目錄下、jar包里面,這樣可以把靜態資源壓縮到jar包中。cache-period 可以使得靜態資源進行web cache 
           
          如果出現下面的錯誤,可能是沒有配置<mvc:annotation-driven />的原因。 
          報錯WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'

           

          使用<mvc:resources/>元素,把mapping的URI注冊到SimpleUrlHandlerMapping的urlMap中,
          key為mapping的URI pattern值,而value為ResourceHttpRequestHandler,
          這樣就巧妙的把對靜態資源的訪問由HandlerMapping轉到ResourceHttpRequestHandler處理并返回,所以就支持classpath目錄,jar包內靜態資源的訪問.
          另外需要注意的一點是,不要對SimpleUrlHandlerMapping設置defaultHandler.因為對static uri的defaultHandler就是ResourceHttpRequestHandler,
          否則無法處理static resources request.

           

           

          方案三 ,使用<mvc:default-servlet-handler/>

          Xml代碼  <mvc:default-servlet-handler/>  

           

          會把"/**" url,注冊到SimpleUrlHandlerMapping的urlMap中,把對靜態資源的訪問由HandlerMapping轉到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 處理并返回.
          DefaultServletHttpRequestHandler使用就是各個Servlet容器自己的默認Servlet.

           

           

          補充說明:多個HandlerMapping的執行順序問題:

          DefaultAnnotationHandlerMapping的order屬性值是:0

          <mvc:resources/ >自動注冊的 SimpleUrlHandlerMapping的order屬性值是: 2147483646

           

          <mvc:default-servlet-handler/>自動注冊的SimpleUrlHandlerMapping的order屬性值是:2147483647

           

          spring會先執行order值比較小的。當訪問一個a.jpg圖片文件時,先通過DefaultAnnotationHandlerMapping 來找處理器,一定是找不到的,我們沒有叫a.jpg的Action。再按order值升序找,由于最后一個SimpleUrlHandlerMapping 是匹配"/**"的,所以一定會匹配上,再響應圖片。

           

          訪問一個圖片,還要走層層匹配。真不知性能如何?改天做一下壓力測試,與Apache比一比。

           

          最后再說明一下,如何你的DispatcherServlet攔截 *.do這樣的URL,就不存上述問題了。


          轉載至:http://hi.baidu.com/blueskyfaith/item/a47483a91d5cfce015329b98

          posted @ 2013-04-09 14:48 何云隆 閱讀(4743) | 評論 (1)編輯 收藏

          JSP編程的過程中會遇到各種各樣的問題

           

          在JSP編程的過程中會遇到各種各樣的問題

          JSP常見問題1:

          表單request漢字處理:

          1. request.setCharacterEncoding("GB2312") 

          JSP常見問題2:

          在JSP網頁中獲取頁面的名稱:

          1. request.getRequestURI() ;//文件名  
          2. request.getRequestURL() ;//全部url 

          JSP常見問題3:

          頁面不保留緩存:

          1. response.setHeader("Pragma","No-cache");  
          2. response.setHeader("Cache-Control","no-cache");  
          3. response.setDateHeader("Expires", 0);  
          4.  

          JSP常見問題4:

          日期時間(服務器端)

          1. String datestr ;  
          2. java.text.DateFormat df = new java.text.SimpleDateFormat("MM月dd日 HH:mm E"); //這里格式化  
          3. datestr = df.format(new java.util.Date()) ;  
          4. out.println(datestr);  
          5.  

          或者

          1. % java.util.Date shijian= new java.util.Date();%>  
          2. %=shijian.getYear()+1900%>%=shijian.getMonth()+1%>%=shijian.getDate()%>  
          3. %=shijian.getHour()%>%=shijian.getMinute()%>  
          4.  

          JSP常見問題5:

          java中運用正則。

          jdk需是1.4以上 import="java.util.regex.*

          JSP常見問題6:

          點后退顯示網頁過期

          在里面加以下代碼

          1. META http-equiv=Pragma content=no-cache  
          2. META http-equiv=Cache-Control content=no-cache  
          3. META http-equiv=Expires content=0  
          4.  

          和 3 原理一樣。

          JSP常見問7:

          swtich不能作用在long上和String上:

          switch(expr1)中,expr1是一個整數表達式。傳遞給 switch 和 case 語句的參數應該是
          int、 short、 char 或者 byte。long,string 都不能作用于swtich。

          JSP常見問題8:

          計算執行所花費的時間

          代碼開始取時間,結束后取時間,相減

          1. long t1 = System.currentTimeMillis();  
          2. .... ...... ....  ...your code  
          3. long t2 = System.currentTimeMillis() ;  
          4. long time = t2-t1;  
          5.  

          JSP常見問題9:

          四舍五入,保留小數點后兩位小數?

          1. import java.text.*;  
          2. NumberFormat nf=NumberFormat.getNumberInstance();  
          3. nf.setMaximumFractionDigits(2);  
          4. nf.setMinimumFractionDigits(2);  
          5. nf.format(numb);  

          或者(+0.005 - 0.01)再取.后兩位

          JSP常見問題10:

          form的默認方法是get.

          post方式是向服務器傳送大容量數據時使用的方法。(再打開一個socket.?)

          JSP常見問題11:

          防止用戶直接輸入url進去頁面:

          ◆是在要訪問的頁面中加入控制.這個一般用session。

          ◆是從web服務器控制,對某一目錄的所有訪問要通過驗證.(有人說把jsp放到web-inf下)

          JSP常見問題12:

          數據庫是datetime 型 ,插入當前時間到數據庫:

          1. java.sql.Date sqlDate = new java.sql.Date();  
          2. PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");  
          3. pstmt.setDate(1,sqlDate);  
          4. pstmt.executeUpdate();  
          5.  

          其實一般數據庫都有自己的系統時間函數。

          insert into foo(time) values(sysdate)

          JSP常見問題13:

          session存取int類型的變量:

          1. session.setAttribute("int", i+""); //注意這里i+""  
          2. int i = Integer.parseInt(session.getAttribute("int"));  
          3.  

          session的一些概念。

          用戶在瀏覽網頁時,由于Http 協議是一種無狀態的協議,往往在不同的頁面之間存在數據交換的問題,這就需要在這些不同的頁面之間共享數據。常見的實現方法是把要共享的數據保存到 Session 中。比如在用戶登錄的頁面中把一些用戶的信息保存到Session 之中,然后在其他的頁面中讀取用戶的信息。這些共享的數據可以是字符串或者與Java 的原始數據類型相關的對象,也可以是一個Java 對象。

          Session 只能保存對象,不能保存原始的數據類型,比如:

          session.setAttribute(“count”,10)

          是非法的語句,如果要把值為10 的整數保存到Session 中,需要使用以下的方法:

          session.setAttribute(“count”,new Integer(10));

          然后在另一個頁面中使用:

          (Integer)session.getAttribute(“count”)

          來把這個整數讀取出來。

          was中設置可以把session放在系統的數據庫中,但這樣影響效率。session大小最好不要太大

          JSP常見問題14:

          把字符轉化成ASCII碼

          int a='A'; out.println(a);

          JSP常見問題15:

          String s = new String("xyz");創建了兩個String Object對象,一個是“xyx”,一個是指向“xyx”的引用對象s。

          還有典型的equals() 與 == 這個參考在堆棧原理。

          JSP常見問題16:

          Hashtable和HashMap 

          Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

          Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步。

          posted @ 2013-03-25 17:17 何云隆 閱讀(327) | 評論 (0)編輯 收藏

          師者,所以傳道授業解惑也

          師者,所以傳道授業解惑也。”一千多年前韓愈在《師說》里講的這句話,幾乎成了教師職業的定義,直到今天,我們很多中小學老師仍然常常以“傳道授業解惑”者自居,卻不知韓老先生說的“傳道授業解惑”,本不是指的中小學老師。

               韓愈在《師說》中說得很清楚:“彼童子之師,授之書而習其句讀者也,非吾所謂傳其道、解其惑者也。”(那些小孩子的老師,是教孩子讀書,掌握句讀的,并不是我所謂的傳授道理、解答疑難的人)古代所謂的“童子”,大致相當于今天的未成年人,也就是中小學生。這些孩子的老師的工作,在韓愈眼里,是談不到“傳道授業解惑”的。可見,今天中小學教師以傳道授業解惑者自居,并不符合韓老先生的本意。
               韓愈的這種態度說明了什么呢?我想,這一方面說明了韓愈對基礎教育的輕視,另一方面也說明了他的清醒。我國古代的教育,基本上是成人教育,孔子的學生好像沒有未成年人,都是大老爺們。所以我國古代的教育思想,都是成人教育思想,那時的教育家們,對于兒童心理和兒童的成長規律,比較生疏,也不屑于研究,這應該說是一個缺點。這也提醒我們,在繼承古代教育思想的時候,要注意有所分析、改造和取舍,不能盲目傳承。

               今天的中小學教師,張口就說什么“傳道授業解惑”,這是比較盲目的。同時我們應該看到,韓愈的這種態度自有一定的合理性。他對未成年人的教育,期望值不算高,相較于今日每天高喊“人文主義”的教育者們,我覺得韓愈的頭腦沒有發熱,他并不指望孩子小小年紀就能入“道”。韓愈的要求或許低了點,基礎教育確有影響學生世界觀價值觀的作用,但是,把“立人”的千鈞重擔都放在或主要放在中小學教師的身上,顯然缺乏合理性。

              不過,傳道授業解惑這種提法,用于今日,毛病還是很大的。傳,授,解,分明是一副教師中心,居高臨下的姿態,抹殺了受教育者的主體性,有明顯的灌輸色彩。這種教育姿態,無論在成人教育、高等教育還是基礎教育中,都是落后的。

              要“解惑”當然必須學習,但學習不等于必須“從師”,“從師”而學只是學習的一部分,或者一小部分。離開學習就沒有老師,離開老師卻有學習。“惑而不從師,其為惑也,終不解矣”,等于宣布學生不可能超過老師,也就等于否定了革新和創造,剩下的只有繼承。這是一種將人際關系凌駕于智慧之上的思維方式,是學習領域中的“人治”。它當然會抑制智慧的發展。這是一種封閉的思維方式,它只有單向的傳遞,沒有雙向的交流。它當然會抑制科學的進步。西方的哲人卻另有一種思維方式:“我愛老師,但更愛真理!”這是一種真理高于人際關系的思維方式。這是一種開放的、雙向的思維方式。它推動了西方智慧的發展,科學的進步。
              往事越千年。在我們的學校里,絕大部分老師至今還姓“韓”,學生還是在等著老師來“解惑”,甚至連他們的“惑”都是老師提出的,只是一種“解惑表演。”(考試不就是這樣嗎)我見到有的博士生,一接觸到和導師不同的見解,立刻噤若寒蟬,一副“若為尊師故,真理亦可拋”的架式。你看這人際關系有多么厲害!要想鼓勵創新,只好對“惑而不從師 ,其為惑也,終不解矣”的思維方式進行改革,沒有辦法。
          轉載至:http://hnpx.cersp.com/article/browse/102634.jspx

          posted @ 2013-03-25 13:10 何云隆 閱讀(226) | 評論 (0)編輯 收藏

          (轉載)Session

               摘要: 摘要:雖然session機制在web應用程序中被采用已經很長時間了,但是仍然有很多人不清楚session機制的本質,以至不能正確的應用這一技術。本文將詳細討論session的工作機制并且對在Java web application中應用session機制時常見的問題作出解答。目錄:一、術語session二、HTTP協議與狀態保持三、理解cookie機制四、理解session機制...  閱讀全文

          posted @ 2013-03-23 09:53 何云隆 閱讀(236) | 評論 (0)編輯 收藏

          僅列出標題
          共11頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          主站蜘蛛池模板: 都兰县| 龙海市| 泸定县| 长顺县| 卢氏县| 兰西县| 山西省| 七台河市| 北碚区| 安康市| 靖江市| 红河县| 会理县| 留坝县| 汕尾市| 璧山县| 夹江县| 凌云县| 资兴市| 辽阳县| 通化县| 洪泽县| 济南市| 宜春市| 星座| 梁平县| 彰武县| 金昌市| 谷城县| 玛纳斯县| 昌江| 长泰县| 高雄县| 竹山县| 和林格尔县| 安丘市| 青海省| 湘西| 华安县| 罗定市| 通江县|