<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 15, 文章 - 0, 評論 - 5, 引用 - 0
    數(shù)據(jù)加載中……

    2008年7月27日

    4xx - 客戶端錯誤

    發(fā)生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。 ·400 - 錯誤的請求。
    ·401 - 訪問被拒絕。IIS 定義了許多不同的 401 錯誤,它們指明更為具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在 IIS 日志中顯示: ·401.1 - 登錄失敗。
    ·401.2 - 服務(wù)器配置導(dǎo)致登錄失敗。
    ·401.3 - 由于 ACL 對資源的限制而未獲得授權(quán)。
    ·401.4 - 篩選器授權(quán)失敗。
    ·401.5 - ISAPI/CGI 應(yīng)用程序授權(quán)失敗。
    ·401.7 – 訪問被 Web 服務(wù)器上的 URL 授權(quán)策略拒絕。這個錯誤代碼為 IIS 6.0 所專用。

    ·403 - 禁止訪問:IIS 定義了許多不同的 403 錯誤,它們指明更為具體的錯誤原因: ·403.1 - 執(zhí)行訪問被禁止。
    ·403.2 - 讀訪問被禁止。
    ·403.3 - 寫訪問被禁止。
    ·403.4 - 要求 SSL。
    ·403.5 - 要求 SSL 128。
    ·403.6 - IP 地址被拒絕。
    ·403.7 - 要求客戶端證書。
    ·403.8 - 站點訪問被拒絕。
    ·403.9 - 用戶數(shù)過多。
    ·403.10 - 配置無效。
    ·403.11 - 密碼更改。
    ·403.12 - 拒絕訪問映射表。
    ·403.13 - 客戶端證書被吊銷。
    ·403.14 - 拒絕目錄列表。
    ·403.15 - 超出客戶端訪問許可。
    ·403.16 - 客戶端證書不受信任或無效。
    ·403.17 - 客戶端證書已過期或尚未生效。
    ·403.18 - 在當(dāng)前的應(yīng)用程序池中不能執(zhí)行所請求的 URL。這個錯誤代碼為 IIS 6.0 所專用。
    ·403.19 - 不能為這個應(yīng)用程序池中的客戶端執(zhí)行 CGI。這個錯誤代碼為 IIS 6.0 所專用。
    ·403.20 - Passport 登錄失敗。這個錯誤代碼為 IIS 6.0 所專用。

    ·404 - 未找到。 ·404.0 -(無) – 沒有找到文件或目錄。
    ·404.1 - 無法在所請求的端口上訪問 Web 站點。
    ·404.2 - Web 服務(wù)擴(kuò)展鎖定策略阻止本請求。
    ·404.3 - MIME 映射策略阻止本請求。

    ·405 - 用來訪問本頁面的 HTTP 謂詞不被允許(方法不被允許)
    ·406 - 客戶端瀏覽器不接受所請求頁面的 MIME 類型。
    ·407 - 要求進(jìn)行代理身份驗證。
    ·412 - 前提條件失敗。
    ·413 – 請求實體太大。
    ·414 - 請求 URI 太長。
    ·415 – 不支持的媒體類型。
    ·416 – 所請求的范圍無法滿足。
    ·417 – 執(zhí)行失敗。
    ·423 – 鎖定的錯誤。

    posted @ 2008-08-04 14:16 zhouzhou@ 閱讀(312) | 評論 (1)編輯 收藏

    小結(jié) Commons BeanUtils

     

    Commons BeanUtils 的官方網(wǎng)址:http://commons.apache.org/beanutils/

    Commins BeanUtils是針對JavaBeans一般性操作的組件,可以用來對JavaBeans進(jìn)行復(fù)制,屬性的讀取,設(shè)置,修改,還以動態(tài)構(gòu)造JavaBeans對象。

    使用這個組件需要三個Jar文件
    其中兩個是 commons-logging-1.1.1下的commons-logging-1.1.1.jar 和commons-logging-api-1.1.1.jar
    剩下一個是   commons-beanutils-1.8.0-BETA   下的commons-beanutils-1.8.0-BETA.jar
    把這三個加入到項目的構(gòu)件路徑下即可。

    下面為一個簡單的例子

    新建User Profile Address BeanUtilsExample 四個類


    1 User.java

    package com.v503.zhouzhou;

    public class User {
     private Long userId;
     private String username;
     private String password;
     private Profile profile;

     public Long getUserId() {
      return userId;
     }

     public  void setUserId(Long userId) {
      this.userId = userId;
     }

     public String getUsername() {
      return username;
     }

     public void setUsername(String username) {
      this.username = username;
     }

     public String getPassword() {
      return password;
     }

     public void setPassword(String password) {
      this.password = password;
     }

     public Profile getProfile() {
      return profile;
     }

     public void setProfile(Profile profile) {
      this.profile = profile;
     }

    }

    2 Profile.java

    package com.v503.zhouzhou;

    import java.util.Date;
    import java.util.Map;

     

    public class Profile {
     private Map<String, String> phone;
     private Address[] address;
     private Date birthDate;
     private String email;

     public Map<String, String> getPhone() {
      return phone;
     }

     public void setPhone(Map<String, String> phone) {
      this.phone = phone;
     }

     public Address[] getAddress() {
      return address;
     }

     public void setAddress(Address[] address) {
      this.address = address;
     }

     public Date getBirthDate() {
      return birthDate;
     }

     public void setBirthDate(Date birthDate) {
      this.birthDate = birthDate;
     }

     public String getEmail() {
      return email;
     }

     public void setEmail(String email) {
      this.email = email;
     }

    }



    3 Address.java

    package com.v503.zhouzhou;

    public class Address {
     private String postCode;
     private String country;
     private String city;
     private String addr;

     public Address() {

     }

     public Address(String postCode, String country, String city, String addr) {
      this.postCode = postCode;
      this.country = country;
      this.city = city;
      this.addr = addr;
     }

     public String getPostCode() {
      return postCode;
     }

     public void setPostCode(String postCode) {
      this.postCode = postCode;
     }

     public String getCountry() {
      return country;
     }

     public void setCountry(String country) {
      this.country = country;
     }

     public String getCity() {
      return city;
     }

     public void setCity(String city) {
      this.city = city;
     }

     public String getAddr() {
      return addr;
     }

     public void setAddr(String addr) {
      this.addr = addr;
     }

    }



    4 BeanUtilsExample.java


    package com.v503.zhouzhou;

    import java.lang.reflect.InvocationTargetException;
    import java.util.GregorianCalendar;
    import java.util.HashMap;
    import java.util.Map;

    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.PropertyUtils;


    public class BeanUtilsExamples {

     @SuppressWarnings("unused")
     private User prepareData() {
      Address[] address = { new Address("111111", "中國", "保定", "河北大學(xué)"),
        new Address("22222", "中國", "保定", "河北大學(xué)工商學(xué)院") };
      Profile profile = new Profile();
      profile.setBirthDate(new GregorianCalendar(1987, 04, 17).getTime());
      profile.setEmail("aa1987417@126.com");
      Map<String, String> phone = new HashMap<String, String>();
      phone.put("mobilephone", "1532222706");
      phone.put("home", "110");
      profile.setPhone(phone);
      profile.setAddress(address);

      User user = new User();
      user.setUserId(new Long(503));
      user.setUsername("zhouzhou");
      user.setProfile(profile);
      user.setPassword("hicc");
      return user;

     }

     public static void main(String[] args) {
      BeanUtilsExamples a = new BeanUtilsExamples();
      User user = a.prepareData();
      System.out.println("輸出對象的屬性值---------------------------------");
      try {
       System.out.println(BeanUtils.getProperty(user, "userId"));       //BeanUtils中讀取屬性的方法getProperty()
       System.out.println(BeanUtils.getProperty(user, "username"));
       System.out.println(BeanUtils.getProperty(user, "password"));
       System.out.println(BeanUtils.getProperty(user, "profile.email"));
       System.out.println(BeanUtils.getProperty(user, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user, "profile.phone(home)"));
       System.out.println(BeanUtils.getProperty(user, "profile.phone(mobilephone)"));
       System.out.println(BeanUtils.getProperty(user, "profile.address[0].city"));
       System.out.println(PropertyUtils.getProperty(user, "profile.address[1].country"));
       
       User user2 = new User();
       BeanUtils.copyProperties(user2, user); //BeanUtils中復(fù)制屬性的方法getProperty()

       System.out.println("輸出復(fù)制屬性的屬性值-------------------------------");
       System.out.println(BeanUtils.getProperty(user, "username"));
       System.out.println(BeanUtils.getProperty(user, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user, "profile.phone(home)"));
       System.out.println(BeanUtils.getProperty(user, "profile.address[0].city"));
       
       
       System.out.println("輸出復(fù)制屬性修改以后的屬性值---------------------");
       BeanUtils.setProperty(user2, "userId", new Long(8888888));   //設(shè)置屬性的方法
       PropertyUtils.setProperty(user2, "username", "周旭");
       BeanUtils.setProperty(user2, "profile.email", "549748067@qq.com");
       BeanUtils.setProperty(user2, "profile.birthDate", new GregorianCalendar(2008, 8, 1).getTime());
       BeanUtils.setProperty(user2, "profile.address[0]", new Address("6666666", "中國","紫園","保定"));
       System.out.println(BeanUtils.getProperty(user2, "userId"));
       System.out.println(BeanUtils.getProperty(user2, "username"));
       System.out.println(BeanUtils.getProperty(user2, "profile"));
       System.out.println(BeanUtils.getProperty(user2, "profile.email"));
       System.out.println(BeanUtils.getProperty(user2, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user2, "profile.address[0].city"));

       System.out.println("與被復(fù)制屬性值的對象的比較-------------------------------");
       System.out.println(BeanUtils.getProperty(user, "userId"));
       System.out.println(BeanUtils.getProperty(user, "username"));
       System.out.println(BeanUtils.getProperty(user, "profile"));
       System.out.println(BeanUtils.getProperty(user, "profile.email"));
       System.out.println(BeanUtils.getProperty(user, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user, "profile.address[0].city"));
      } catch (IllegalAccessException e) {

       e.printStackTrace();
      } catch (InvocationTargetException e) {

       e.printStackTrace();
      } catch (NoSuchMethodException e) {

       e.printStackTrace();
      }

     }

    }


     




     

    posted @ 2008-08-01 10:38 zhouzhou@ 閱讀(594) | 評論 (0)編輯 收藏

    JavaBeans對象的作用范圍

            作用范圍            對應(yīng)的對象         對象的類型
             page                    pageContext          pagetext
             request                request                  servletRequest
             session                session                   HttpSession
             application           application             servletContext


    page:只對當(dāng)前頁面有效

    request:在當(dāng)前頁面有效,同時當(dāng)這個頁面通過forward方式轉(zhuǎn)向另外頁面或通過include方式包含另外頁面,在這些另外的頁面也有效

    session:可以訪問其他的jsp頁面中,作用范圍跨頁面,但只針對一個特定的用戶

    application:任何用戶創(chuàng)建一個JavaBeans對象,所用戶都可以使用這個對象

    posted @ 2008-07-30 17:12 zhouzhou@ 閱讀(177) | 評論 (0)編輯 收藏

    JS驗證方法

     <!--  
      說明:每個校驗函數(shù)默認(rèn)都不校驗要求的輸入長度,只有當(dāng)用戶有輸入的時候才開始校驗;  
                  這樣設(shè)計的目的是因為實際應(yīng)用中有的表單是可以不要輸入的,如果某個表單域要求一定輸入,  
          那就可以象最后那個表單域一樣加入長度校驗。  
      -->  
      <HTML><HEAD><TITLE>FormCheck</TITLE>  
      <META   http-equiv=Content-Type   content="text/html;   charset=gb2312">  
      <STYLE>TD   {FONT-SIZE:   12px;   COLOR:   #333333}</STYLE>  
      <SCRIPT   language=JavaScript   type=text/JavaScript    
       >

     /*焦點放置在第一個表單域*/  
      function   focusInFirst(){  
        document.forms[0].elements[0].focus();}  
       
      /*判斷用戶輸入是否為空*/  
      function   isEmpty(ui)   {  
        return   (ui==null||ui=="");}  
       
      /*取得用戶輸入的字符串的長度*/  
      function   getLength(ui)   {  
        var   i,sum=0;  
        for(i=0;i<ui.length;i++)   {  
          if   ((ui.charCodeAt(i)>=0)   &&   (ui.charCodeAt(i)<=255))  
            sum++;  
              else  
        sum+=2;}  
        return   sum;}  
       
      /*是否為數(shù)字、字母或下劃線*/  
      function   isNLU(ui)   {  
          var   valid=/^\w*$/;  
          return   (valid.test(ui));}  
       
      /*判斷是否為身份證號碼*/  
      function   isIdno(ui){  
          var   valid=/(^\d{16}$)|(^\d{18}$)/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為郵政編碼*/  
      function   isPostCode(ui){  
          var   valid=/^\d{6}$/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為固定電話*/  
      function   isChinaTel(ui){  
          var   valid=/^0\d{2,3}\-\d{7,8}$/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為移動電話*/  
      function   isChinaMob(ui){  
          var   valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為電話,只能為固定電話或移動電話*/  
      function   isTel(ui){  
          var   valid=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為郵件*/  
      function   isMail(ui){  
        if(isEmpty(ui)){return   true;}  
          var   notValid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;  
          var   valid=/^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;  
        return   (!notValid.test(ui)&&valid.test(ui));}  
       
      /*用戶輸入字符串長度是否在兩值之間*/  
      function   isLenBetween(ui,minl,maxl)   {  
          return   (ui>=minl&&ui<=maxl);}

     


    </SCRIPT>  
       
      <SCRIPT   language=JavaScript>  
      <!--  
      function   formCheck(){  
      if(!isIdno(document.testForm.id.value)){  
        alert("身份證號碼輸入有誤!要求只能輸入數(shù)字,長度為16或18位。");  
        document.testForm.id.focus();  
        return   false;}  
      if(!isChinaTel(document.testForm.tel.value)){  
        alert("固定電話號碼輸入有誤!合法的格式為:區(qū)號-電話號碼。");  
        document.testForm.tel.focus();  
        return   false;}  
      if(!isChinaMob(document.testForm.mobi.value)){  
        alert("移動電話號碼輸入有誤!");  
        document.testForm.mobi.focus();  
        return   false;}  
      if(!isMail(document.testForm.mail.value)){  
        alert("郵箱輸入有誤!");  
        document.testForm.mail.focus();  
        return   false;}  
      if(!isPostCode(document.testForm.post.value)){  
        alert("郵政編碼輸入有誤!要求只能輸入數(shù)字,長度為6位。");  
        document.testForm.post.focus();  
        return   false;}  
      if(!isNLU(document.testForm.nlu.value)){  
        alert("該域只能輸入數(shù)字、字母或下劃線!");  
        document.testForm.nlu.focus();  
        return   false;}  
      var   len=getLength(document.testForm.leng.value);  
      if(len<4||len>6){  
        alert("該域要求輸入長度范圍是4至6個字符!");  
        document.testForm.leng.focus();  
        return   false;}  
      }  
      //-->  
      </SCRIPT>  
       
      <BODY   text=#000000   bgColor=#ffffff   onload=focusInFirst()>  
      <CENTER><B><FONT   face="Geneva,   Arial,   Helvetica,   san-serif"   color=#ff6600    
      size=4>The   sample   of   FormCheck</FONT></B>   <FONT    
      face="Arial,   Helvetica,   sans-serif"   size=2>(By   Roczhao)   </FONT>  
      <HR   width="60%"   color=#000000   noShade   SIZE=1>  
       
      <FORM   name=testForm   onsubmit="return   formCheck();"   method=post>  
      <TABLE   cellSpacing=0   cellPadding=0   width=500   border=1>  
          <TBODY>  
          <TR>  
              <TD   width=182   height=25>身份證:</TD>  
              <TD   width=312><INPUT   name=id>   </TD></TR>  
          <TR>  
              <TD   width=182   height=25>固定電話:</TD>  
              <TD   width=312><INPUT   name=tel>   </TD></TR>  
          <TR>  
              <TD   width=182   height=25>手機(jī)號碼:</TD>  
              <TD   width=312><INPUT   name=mobi>   </TD></TR>  
          <TR>  
              <TD   width=182   height=25>郵箱:</TD>  
              <TD   width=312><INPUT   name=mail>   </TD></TR>  
          <TR>  
              <TD   width=182   height=25>郵編:</TD>  
              <TD   width=312><INPUT   name=post>   </TD></TR>  
          <TR>  
              <TD   width=182   height=25>只能輸入數(shù)字、字母、下劃線:</TD>  
              <TD   width=312><INPUT   name=nlu>   </TD></TR>  
          <TR>  
              <TD   width=182   height=25>輸入長度在4-6之間:</TD>  
              <TD   width=312><INPUT   name=leng>   </TD></TR>  
          <TR   align=center>  
              <TD   colSpan=2   height=25><INPUT   type=submit   value="     點擊測試     "   name=Submit>    
              </TD></TR></TBODY></TABLE></FORM></CENTER></BODY></HTML>  
       
       
       
      /*js函數(shù)文件   formcheck.js*/  
       
      /*------------------------------------------------------------------------------  
        *   File:   formcheck.js   
        *   Description:FormCheck組件的函數(shù)庫文件(部分),共計110個方法  
        *------------------------------------------------------------------------------*/  
      /*焦點放置在第一個表單域*/  
      function   focusInFirst(){  
        document.forms[0].elements[0].focus();}  
       
      /*判斷用戶輸入是否為空*/  
      function   isEmpty(ui)   {  
        return   (ui==null||ui=="");}  
       
      /*取得用戶輸入的字符串的長度*/  
      function   getLength(ui)   {  
        var   i,sum=0;  
        for(i=0;i<ui.length;i++)   {  
          if   ((ui.charCodeAt(i)>=0)   &&   (ui.charCodeAt(i)<=255))  
            sum++;  
              else  
        sum+=2;}  
        return   sum;}  
       
      /*是否為數(shù)字、字母或下劃線*/  
      function   isNLU(ui)   {  
          var   valid=/^\w*$/;  
          return   (valid.test(ui));}  
       
      /*判斷是否為身份證號碼*/  
      function   isIdno(ui){  
          var   valid=/(^\d{16}$)|(^\d{18}$)/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為郵政編碼*/  
      function   isPostCode(ui){  
          var   valid=/^\d{6}$/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為固定電話*/  
      function   isChinaTel(ui){  
          var   valid=/^0\d{2,3}\-\d{7,8}$/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為移動電話*/  
      function   isChinaMob(ui){  
          var   valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為電話,只能為固定電話或移動電話*/  
      function   isTel(ui){  
          var   valid=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;  
          return   (isEmpty(ui)||valid.test(ui));}  
       
      /*判斷是否為郵件*/  
      function   isMail(ui){  
        if(isEmpty(ui)){return   true;}  
          var   notValid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;  
          var   valid=/^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;  
        return   (!notValid.test(ui)&&valid.test(ui));}  
       
      /*用戶輸入字符串長度是否在兩值之間*/  
      function   isLenBetween(ui,minl,maxl)   {  
          return   (ui>=minl&&ui<=maxl);}

    posted @ 2008-07-30 10:57 zhouzhou@ 閱讀(360) | 評論 (0)編輯 收藏

    一個簡單js驗證的例子

    <html>
     <head>
      <title>潛在用戶網(wǎng)絡(luò)調(diào)查</title>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <script language="javascript">
     function validate(myform){
        if(myform.name.value.length==0){
           alert("請?zhí)顚懹脩裘?);
           myform.name.focus();
           return false;
        }
       
       
        if(myform.password.value.length==0){
           alert("密碼不能為空!");
           myform.password.focus();
           return false;
        }
     } 
     </script>
     </head>
     <body>
      <form name="form1" method="POST" action="/servlet/loginlorm1"
       id="form1" onsubmit="return validate(this)">
       <table border="0">
        <tr>
         <td align="right">
          姓名:
         </td>
         <td colspan="2" align="left">
          <input type="text" name="name" size="40">
         </td>
        </tr>
        <tr>
         <td align="right">
          密碼:
         </td>
         <td colspan="2" align="left">
          <input type="password" name="password" size="40">
         </td>
         <td>
          <input type="reset" value="reset">
          <input type="submit" value="submit">
         </td>
        </tr>

       </table>
      </form>
     </body>
    </html>

     

    posted @ 2008-07-30 10:51 zhouzhou@ 閱讀(273) | 評論 (0)編輯 收藏

    處理隱藏表單的方法

    實例名稱:  滿意度調(diào)查表


    HTML頁面代碼

    <html>
    <head>
    <title> 網(wǎng)站使用滿意度調(diào)查 </title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>

    <form method="post" action="/webproject1/servlet/loginlorm1">
    <input type="hidden" name="survey_type" value="滿意度調(diào)查">
    <table border="0">
     <tr>
      <td align="right">您對本網(wǎng)站提供的所有服務(wù)滿意嗎?</td> 
     </tr>
      <tr>
       <td>
       <input type="submit" name="attitude" value="滿意">
       <input type="submit" name="attitude" value="不滿意">
        </td>
      </tr>
    </table>
    </form>
    </body>
    </html>


    servlet中的代碼

    package com.v503.zhouzhou;

    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Enumeration;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    @SuppressWarnings("serial")
    public class LoginForm1 extends HttpServlet {

     public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {

                      doPost(request,response);
     }


     @SuppressWarnings("unchecked")
     public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
      response.setContentType("text/html;charset=utf-8");
      PrintWriter out = response.getWriter();
      out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
      request.setCharacterEncoding("utf-8");
      out.println("<HTML>");
      out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
      out.println("  <BODY>");
     // 處理方法
      @SuppressWarnings("unused")
      Enumeration  e=request.getParameterNames();
      @SuppressWarnings("unused")
      String parameter=null;
      while(e.hasMoreElements()){
       parameter=(String)e.nextElement();
       @SuppressWarnings("unused")
       String value[]=request.getParameterValues(parameter);
       out.println(parameter+"<br>");
       out.println("<ul>");
      for(int i=0;i<value.length;i++)
      out.println("<li>"+value[i]+"</li>"); 
      out.println("</ul>"); 
      }

      out.println("  </BODY>");
      out.println("</HTML>");
      out.flush();
      out.close();
     }
     public String filterHtml(String value){
      value=value.replaceAll("&","&amp");
      value=value.replaceAll("<", "&lt;");
      value=value.replaceAll(">", "&gt;");
      value=value.replaceAll(" ","&nbsp;");
      value=value.replaceAll("'","value39;");
      value=value.replaceAll("\"","value;");
      value=value.replaceAll("\n", "value");
      return value;
     }

    }





    posted @ 2008-07-29 21:22 zhouzhou@ 閱讀(551) | 評論 (0)編輯 收藏

    一個servlet處理表單的簡單例子

      實例名稱:    潛在用戶網(wǎng)絡(luò)調(diào)查表


    HTML頁面代碼

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>

     <head>
      <title>潛在用戶網(wǎng)絡(luò)調(diào)查</title>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
     </head>

     <body>
      <h1>
       潛在用戶網(wǎng)絡(luò)調(diào)查
      </h1>
      <br>
      <form method="post" action="/webproject1/servlet/loginform">
       <table border="0">
        <tr>
         <td align="right">
          姓名:
         </td>
         <td colspan="2" align="left">
          <input type="text" name="name" size="40">
         </td>
        </tr>
        <tr>
         <td align="right">
          EMAIL:
         </td>
         <td colspan="2" align="left">
          <input type="text" name="email" size="40">
         </td>
        </tr>
        <tr>
         <td align="right">
          年紀(jì):
         </td>
         <td align="left">
          <input type="radio" name="age" value="18">
          小于18
          <input type="radio" name="age" value="18-25">
          18 - 25
          <input type="radio" name="age" value="26-40">
          26-40
          <input type="radio" name="age" value=">40">
          大于 40
         </td>
        </tr>
        <tr>
         <td align="right">
          編程時間:
         </td>
         <td align="left">
          <select name="codetime" size=1>
           <option value="never">
            不編程
           <option value="6">
            小于6個月
           <option value="6-12">
            6 - 12 月
           <option value="12-24">
            1 - 2年
           <option value=">24">
            2年以上
          </select>
         </td>
        </tr>
        <tr>
         <td align="right">
          使用的操作系統(tǒng)
         </td>
         <td align="left">
          <select name="os" size="6" multiple>
           <option value="WinXP">
            Win XP
           </option>
           <option value="Win2000/2003">
            Win 2000/2003
           </option>
           <option value="Linux">
            Linux
           </option>
           <option value="FreeBSD">
            FreeBSD
           </option>
           <option value="MacOS">
            Mac OS
           </option>
           <option value="other">
            other
           </option>
          </select>
         </td>
        </tr>
        <tr>
         <td>
          使用的編程語言
         </td>
         <td>
          <input type="checkbox" name="language" value="C">
          C
          <input type="checkbox" name="language" value="C++">
          C++
          <input type="checkbox" name="language" value="C#">
          C#
          <input type="checkbox" name="language" value="Python">
          Python
          <input type="checkbox" name="language" value="Java">
          Java
          <input type="checkbox" name="language" value="VB">
          VB
          <input type="checkbox" name="language" value="Dephi">
          Dephi
         </td>
        </tr>
        <tr>
         <td align="right">
          建議:
         </td>
         <td colspan="2" align="left">
          <textarea name="comment" cols="40" rows="4"></textarea>
         </td>
        </tr>
        <tr>
         <td></td>
         <td>
          <input type="reset" value="reset">
          <input type="submit" value="submit">
         </td>
        </tr>
       </table>
      </form>
     </body>
    </html>


    servlet中的代碼

    package com.v503.zhouzhou;

    import java.io.IOException;
    import java.io.PrintWriter;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class LoginForm extends HttpServlet {


     private static final long serialVersionUID = 1560239073696880062L;


     public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {

            doPost(request, response);
     }

     
     public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {

      response.setContentType("text/html;charset=utf-8");
      PrintWriter out = response.getWriter();
      out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
      request.setCharacterEncoding("utf-8");
      out.println("<HTML>");
      out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
      out.println("  <BODY>");
      out.println("姓名:"+filterHtml(request.getParameter("name"))+"<br>");
      out.println("email:"+filterHtml(request.getParameter("email"))+"<br>");
      out.println("年齡:"+filterHtml(request.getParameter("age"))+"<br>");
      out.println("編程時間:"+request.getParameter("codetime")+"<br>");
      out.println("使用的操作系統(tǒng):");
      @SuppressWarnings("unused")
      String os[]=request.getParameterValues("os");
      for(int i = 0;i<os.length;i++)
      {   out.println(os[i]+"<br>");} 
      out.println("使用的編程語言");
      @SuppressWarnings("unused")
      String language[]=request.getParameterValues("language");
      for(int i = 0;i<language.length;i++)
      {out.println(language[i]+"<br>");}
      out.println("建議:"+filterHtml(request.getParameter("comment"))+"<br>");
      out.println("  </BODY>");
      out.println("</HTML>");
      out.flush();
      out.close();
     }
    // 過濾的方法
     public String filterHtml(String value){
      value=value.replaceAll("&","&amp");
      value=value.replaceAll("<", "&lt;");
      value=value.replaceAll(">", "&gt;");
      value=value.replaceAll(" ","&nbsp;");
      value=value.replaceAll("'","value39;");
      value=value.replaceAll("\"","value;");
      value=value.replaceAll("\n", "value");
      return value;
     }

    }


    web.xml文件代碼

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>LoginForm</servlet-name>
        <servlet-class>com.v503.zhouzhou.LoginForm</servlet-class>
      </servlet>

      <servlet-mapping>
        <servlet-name>LoginForm</servlet-name>
        <url-pattern>/servlet/loginform</url-pattern>
      </servlet-mapping>
     
    </web-app>




     

    posted @ 2008-07-29 20:41 zhouzhou@ 閱讀(1158) | 評論 (0)編輯 收藏

    DOS命令集

    目錄操作類命令

    (一)MD——建立子目錄
    1.功能:創(chuàng)建新的子目錄
    2.類型:內(nèi)部命令
    3.格式:MD[盤符:][路徑名]〈子目錄名〉
    4.使用說明:
    (1)"盤符":指定要建立子目錄的磁盤驅(qū)動器字母,若省略,則為當(dāng)前驅(qū)動器;
    (2)"路徑名":要建立的子目錄的上級目錄名,若缺省則建在當(dāng)前目錄下.
    例:(1)在C盤的根目錄下創(chuàng)建名為FOX的子目錄;(2)在FOX子目錄下再創(chuàng)建USER子目錄.
    C:,>MD FOX (在當(dāng)前驅(qū)動器C盤下創(chuàng)建子目錄FOX)
    C:,>MD FOX ,USER (在FOX 子目錄下再創(chuàng)建USER子目錄)

    (二)CD——改變當(dāng)前目錄
    1.功能:顯示當(dāng)前目錄
    2.類型:內(nèi)部命令
    3.格式:CD[盤符:][路徑名][子目錄名]
    4.使用說明:
    (1)如果省略路徑和子目錄名則顯示當(dāng)前目錄;
    (2)如采用"CD,"格式,則退回到根目錄;
    (3)如采用"CD.."格式則退回到上一級目錄.
    例:(1)進(jìn)入到USER子目錄;(2)從USER子目錄退回到子目錄;(3)返回到根目錄.
    C:,>CD FOX ,USER(進(jìn)入FOX子目錄下的USER子目錄)
    C:,FOX,USER>CD.. (退回上一級根目錄)
    C:,FOX>CD, (返回到根目錄)
    C:,>

    (三)RD——刪除子目錄命令
    1.功能:從指定的磁盤刪除了目錄.
    2.類型:內(nèi)部命令
    3.格式:RD[盤符:][路徑名][子目錄名]
    4.使用說明:
    (1)子目錄在刪除前必須是空的,也就是說需要先進(jìn)入該子目錄,使用DEL(刪除文件的命令)將其子目錄下的文

    件刪空,然后再退回到上一級目錄,用RD命令刪除該了目錄本身;
    (2)不能刪除根目錄和當(dāng)前目錄.
    例:要求把C盤FOX子目錄下的USER子目錄刪除,操作如下:
    第一步:先將USER子目錄下的文件刪空;
    C,>DEL C:,FOX,USER,*.*
    第二步,刪除USER子目錄.
    C,>RD C:,FOX,USER

    (四)DIR——顯示磁盤目錄命令
    1.功能:顯示磁盤目錄的內(nèi)容.
    2.類型:內(nèi)部命令
    3.格式:DIR [盤符][路徑][/P][/W]
    4. 使用說明:/P的使用;當(dāng)欲查看的目錄太多,無法在一屏顯示完屏幕會一直往上卷,不容易看清,加上/P參數(shù)

    后,屏幕上會分面一次顯示23行的文件信息,然后暫停,并提示;Press any key to continue
    /W的使用:加上/W只顯示文件名,至于文件大小及建立的日期和時間則都省略.加上參數(shù)后,每行可以顯示五個

    文件名.

    (五)PATH——路徑設(shè)置命令
    1.功能:設(shè)備可執(zhí)行文件的搜索路徑,只對文件有效.
    2.類型:內(nèi)部命令
    3.格式:PATH[盤符1]目錄[路徑名1]{[;盤符2:],〈目錄路徑名2〉…}
    4.使用說明:
    (1)當(dāng)運行一個可執(zhí)行文件時,DOS會先在當(dāng)前目錄中搜索該文件,若找到則運行之;若找不到該文件,則根據(jù)

    PATH命令所設(shè)置的路徑,順序逐條地到目錄中搜索該文件;
    (2)PATH命令中的路徑,若有兩條以上,各路徑之間以一個分號";"隔開;
    (3)PATH命令有三種使用方法:
    PATH[盤符1:][路徑1][盤符2:][路徑2]…(設(shè)定可執(zhí)行文件的搜索路徑)
    PATH:(取消所有路徑)
    PATH:(顯示目前所設(shè)的路徑)

    (六)TREE——顯示磁盤目錄結(jié)構(gòu)命令
    1.功能:顯示指定驅(qū)動器上所有目錄路徑和這些目錄下的所有文件名.
    2.類型:外部命令
    3.格式:TREE[盤符:][/F][》PRN]
    4.使用說明:
    (1)使用/F參數(shù)時顯示所有目錄及目錄下的所有文件,省略時,只顯示目錄,不顯示目錄下的文件;
    (2)選用>PRN參數(shù)時,則把所列目錄及目錄中的文件名打印輸出.

    (七)DELTREE——刪除整個目錄命令
    1.功能:將整個目錄及其下屬子目錄和文件刪除.
    2.類型:外部命令
    3.格式:DELTREE[盤符:]〈路徑名〉
    4.使用說明:該命令可以一步就將目錄及其下的所有文件,子目錄,更下層的子目錄一并刪除,而且不管文件的

    屬性為隱藏,系統(tǒng)或只讀,只要該文件位于刪除的目錄之下,DELTREE都一視同仁,照刪不誤.使用時務(wù)必小心


    磁盤操作類命令

    (一)FORMAT——磁盤格式化命令
    1.功能:對磁盤進(jìn)行格式化,劃分磁道和扇區(qū);同時檢查出整個磁盤上有無帶缺陷的磁道,對壞道加注標(biāo)記;建立

    目錄區(qū)和文件分配表,使磁盤作好接收DOS的準(zhǔn)備.
    2.類型:外部命令
    3.格式:FORMAT〈盤符:〉[/S][/4][/Q]
    4.使用說明:
    (1)命令后的盤符不可缺省,若對硬盤進(jìn)行格式化,則會如下列提示:WARNING:ALL DATA ON NON ——

    REMOVABLE DISK
    DRIVE C:WILL BE LOST !
    Proceed with Format (Y/N)
    (警告:所有數(shù)據(jù)在C盤上,將會丟失,確實要繼續(xù)格式化嗎 )
    (2)若是對軟盤進(jìn)行格式化,則會如下提示:Insert mew diskette for drive A;
    and press ENTER when ready…
    (在A驅(qū)中插入新盤,準(zhǔn)備好后按回車鍵).
    (3)選用[/S]參數(shù),將把DOS系統(tǒng)文件IO.SYS ,MSDOS.SYS及COMMAND.COM復(fù)制到磁盤上,使該磁盤可以做為DOS

    啟動盤.若不選用/S參數(shù),則格式化后的磙盤只能讀寫信息,而不能做為啟動盤;
    (4)選用[/4]參數(shù),在1.2MB的高密度軟驅(qū)中格式化360KB的低密度盤;
    (5)選用[/Q]參數(shù),快速格式化,這個參數(shù)并不會重新劃分磁盤的磁道貌岸然和扇區(qū),只能將磁盤根目錄,文件

    分配表以及引導(dǎo)扇區(qū)清成空白,因此,格式化的速度較快.
    (6)選用[/U]參數(shù),表示無條件格式化,即破壞原來磁盤上所有數(shù)據(jù).不加/U,則為安全格式化,這時先建立一個

    鏡象文件保存原來的FAT表和根目錄,必要時可用UNFORRMAT恢復(fù)原來的數(shù)據(jù).

    (二)UNFORMAT恢復(fù)格式化命令
    1.功能:對進(jìn)行過格式化誤操作丟失數(shù)據(jù)的磁盤進(jìn)行恢復(fù).
    2.類型:外部命令
    3.格式:UNFORMAT〈盤符〉[/L][/U][/P][/TEST]
    4.使用說明:用于將被"非破壞性"格式化的磁盤恢復(fù).根目錄下被刪除的文件或子目錄及磁盤的系統(tǒng)扇區(qū)(包括

    FAT,根目錄,BOOT扇區(qū)及硬盤分區(qū)表)受損時,也可以用UNFORMAT來搶救.
    (1)選用/L參數(shù)列出找到的子目錄名稱,文件名稱,大孝日期等信息,但不會真的做FORMAT工作.
    (2)選用/P參數(shù)將顯示于屏幕的報告(包含/L參數(shù)所產(chǎn)生的信息)同時也送到打印機(jī).運行時屏幕會顯

    示:"Print out will be sent to LPT1"
    (3)選用/TEST參數(shù)只做模擬試驗(TEST)不做真正的寫入動作.使用此參數(shù)屏幕會顯示:"Simulation only"
    (4)選用/U參數(shù)不使用MIRROR映像文件的數(shù)據(jù),直接根據(jù)磁盤現(xiàn)狀進(jìn)行UNFORMAT.
    (5)選用/PSRTN;修復(fù)硬盤分區(qū)表.
    若在盤符之后加上/P,/L,/TEST之一,都相當(dāng)于使用了/U參數(shù),UNFORMAT會"假設(shè)"此時磁盤沒有MIRROR映像文

    件.
    注意:UNFORMAT對于剛FORMAT的磁盤,可以完全恢復(fù),但FORMAT后若做了其它數(shù)據(jù)的寫入,則UNFORMAT就不能

    完整的救回數(shù)據(jù)了.UNFORMAT并非是萬能的,由于使用UNFORMAT會重建FAT與根目錄,所以它也具有較高的危險

    性,操作不當(dāng)可能會擴(kuò)大損失,如果僅誤刪了幾個文件或子目錄,只需要利用UNDELETE就夠了.

    (三) CHKDSK——檢查磁盤當(dāng)前狀態(tài)命令
    1.功能:顯示磁盤狀態(tài),內(nèi)存狀態(tài)和指定路徑下指定文件的不連續(xù)數(shù)目.
    2.類型:外部命令
    3.格式:CHKDSK [盤符:][路徑][文件名][/F][/V]
    4.使用說明:
    (1)選用[文件名]參數(shù),則顯示該文件占用磁盤的情況;
    (2)選[/F]參數(shù),糾正在指定磁盤上發(fā)現(xiàn)的邏輯錯誤;
    (3)選用[/V]參數(shù),顯示盤上的所有文件和路徑.

    (四)DISKCOPY——整盤復(fù)制命令
    1.功能:復(fù)制格式和內(nèi)容完全相同的軟盤.
    2.類型:外部命令
    3.格式:DISKCOPY[盤符1:][盤符2:]
    4.使用說明:
    (1)如果目標(biāo)軟盤沒有格式化,則復(fù)制時系統(tǒng)自動選進(jìn)行格式化.
    (2)如果目標(biāo)軟盤上原有文件,則復(fù)制后將全部丟失.
    (3)如果是單驅(qū)動器復(fù)制,系統(tǒng)會提示適時更換源盤和目標(biāo)盤,請操作時注意分清源盤和目標(biāo)盤.

    (五)LABEL——建立磁盤卷標(biāo)命令
    1.功能:建立,更改,刪除磁盤卷標(biāo).
    2.類型:外部命令
    3.格式:LABEL[盤符:][卷標(biāo)名]
    4.使用說明:
    (1)卷標(biāo)名為要建立的卷標(biāo)名,若缺省此參數(shù),則系統(tǒng)提示鍵入卷標(biāo)名或詢問是否刪除原有的卷標(biāo)名;
    (2)卷標(biāo)名由1至11個字符組成.

    (六)VOL——顯示磁盤卷標(biāo)命令
    1.功能:查看磁盤卷標(biāo)號.
    2.類型:內(nèi)部命令
    3.格式:VOL[盤符:]
    4.使用說明:省略盤符,顯示當(dāng)前驅(qū)動器卷標(biāo).

    (七)SCANDISK——檢測,修復(fù)磁盤命令
    1.功能:檢測磁盤的FAT表,目錄結(jié)構(gòu),文件系統(tǒng)等是否有問題,并可將檢測出的問題加以修復(fù).
    2.類型:外部命令
    3.格式:SCANDISK[盤符1:]{[盤符2:]…}[/ALL]
    4.使用說明:
    (1)CCANDISK適用于硬盤和軟盤,可以一次指定多個磁盤或選用[/ALL]參數(shù)指定所有的磁盤;
    (2)可自動檢測出磁盤中所發(fā)生的交叉連接,丟失簇和目錄結(jié)構(gòu)等邏輯上的錯誤,并加以修復(fù).

    (八)DEFRAG——重整磁盤命令
    1..功能:整理磁盤,消除磁盤碎塊.
    2.類型:外部命令
    3.格式:DEFRAG[盤符:][/F]
    4.使用說明:選用/F參數(shù),將文件中存在盤上的碎片消除,并調(diào)整磁盤文件的安排,確保文件之間毫無空隙.從

    而加快讀盤速度和節(jié)省磁盤空間.

    (九)SYS——系統(tǒng)復(fù)制命令
    1.功能:將當(dāng)前驅(qū)動器上的DOS系統(tǒng)文件IO.SYS,MSDOS.SYS和COMMAND.COM 傳送到指定的驅(qū)動器上.
    2.類型:外部命令
    3.格式:SYS[盤符:]
    *使用說明:如果磁盤剩余空間不足以存放系統(tǒng)文件,則提示:No roomfor on destination disk.


    文件操作類命令

    (一) COPY文件復(fù)制命令
    1.功能:拷貝一個或多個文件到指定盤上.
    2.類型:內(nèi)部命令
    3.格式:COPY [源盤][路徑]〈源文件名〉[目標(biāo)盤][路徑][目標(biāo)文件名]
    4.使用說明:
    (1)COPY是文件對文件的方式復(fù)制數(shù)據(jù),復(fù)制前目標(biāo)盤必須已經(jīng)格式化;
    (2)復(fù)制過程中,目標(biāo)盤上相同文件名稱的舊文件會被源文件取代;
    (3)復(fù)制文件時,必須先確定目標(biāo)般有足夠的空間,否則會出現(xiàn);insufficient的錯誤信息,提示磁盤空間不夠;
    (4)文件名中允許使用通配舉"*"" ",可同時復(fù)制多個文件;
    (5)COPY命令中源文件名必須指出,不可以省略.
    (6)復(fù)制時,目標(biāo)文件名可以與源文件名相同,稱作"同名拷貝"此時目標(biāo)文件名可以省略;
    (7)復(fù)制時,目標(biāo)文件名也可以與源文件名不相同,稱作"異名拷貝",此時,目標(biāo)文件名不能省略;
    (8)復(fù)制時,還可以將幾個文件合并為一個文件,稱為"合并拷貝",格式如下:COPY;[源盤][路徑]〈源文件名1

    〉〈源文件名2〉…[目標(biāo)盤][路徑]〈目標(biāo)文件名〉;
    (9)利用COPY命令,還可以從鍵盤上輸入數(shù)據(jù)建立文件,格式如下:COPY CON [盤符:][路徑]〈文件名〉;
    (10)注意:COPY命令的使用格式,源文件名與目標(biāo)文件名之間必須有空格!

    (二)XCOPY——目錄復(fù)制命令
    1.功能:復(fù)制指定的目錄和目錄下的所有文件連同目錄結(jié)構(gòu).
    2.類型:外部命令
    3.格式:XCOPY [源盤:]〈源路徑名〉[目標(biāo)盤符:][目標(biāo)路徑名][/S][/V][/E]
    4.使用說明:
    (1)XCOPY是COPY的擴(kuò)展,可以把指定的目錄連文件和目錄結(jié)構(gòu)一并拷貝,但不能拷貝隱藏文件和系統(tǒng)文件;
    (2)使用時源盤符,源目標(biāo)路徑名,源文件名至少指定一個;
    (3)選用/S時對源目錄下及其子目錄下的所有文件進(jìn)行COPY.除非指定/E參數(shù),否則/S不會拷貝空目錄,若不指

    定/S參數(shù),則XCOPY只拷貝源目錄本身的文件,而不涉及其下的子目錄;
    (4)選用/V參數(shù)時,對的拷貝的扇區(qū)都進(jìn)行較驗,但速度會降低.

    (三)TYPE——顯示文件內(nèi)容命令
    1.功能:顯示ASCII碼文件的內(nèi)容.
    2.類型:內(nèi)部命令.
    3.格式:TYPE[盤符:][路徑]〈文件名〉
    4.使用說明:
    (1)顯示由ASCII碼組成的文本文件,對.EXE.COM等為擴(kuò)展名的文件,其顯示的內(nèi)容是無法閱讀的,沒有實際意

    義2;
    (2)該命令一次只可以顯示一個文件的內(nèi)容,不能使用通配符;
    (3)如果文件有擴(kuò)展名,則必須將擴(kuò)展名寫上;
    (4)當(dāng)文件較長,一屏顯示不下時,可以按以下格式顯示;TYPE[盤符:][路徑]〈文件名〉|MORE,MORE為分屏顯

    示命令,使用些參數(shù)后當(dāng)滿屏?xí)r會暫停,按任意鍵會繼續(xù)顯示.
    (5)若需將文件內(nèi)容打印出來,可用如下格式:
    TYPE[盤符:][路徑]〈文件名〉,>PRN
    此時,打印機(jī)應(yīng)處于聯(lián)機(jī)狀態(tài).

    (四) REN——文件改名命令
    1.功能:更改文件名稱
    2.類型:內(nèi)部命令
    3.格式:REN[盤符:][路徑]〈舊文件名〉〈新文件名〉
    4.使用說明:
    (1)新文件名前不可以加上盤符和路徑,因為該命令只能對同一盤上的文件更換文件名;
    (2)允許使用通配符更改一組文件名或擴(kuò)展名.

    (五)FC——文件比較命令
    1.功能:比較文件的異同,并列出差異處.
    2.類型:外部命令
    3.格式:FC[盤符:][路徑名]〈文件名〉[盤符:][路徑名][文件名][/A][/B][/C][/N]
    4.使用說明:
    (1)選用/A參數(shù),為ASCII碼比較模式;
    (2)選用/B參數(shù),為二進(jìn)制比較模式;
    (3)選用/C參數(shù),將大小寫字符看成是相同的字符.
    (4)選用/N參數(shù),在ASCII碼比較方式下,顯示相異處的行號.

    (六)ATTRIB——修改文件屬性命令
    1.功能:修改指定文件的屬性.(文件屬性參見2.5.4(二)文件屬性一節(jié))
    2.類型:外部命令.
    3.格式:ATTRIB[文件名][R][——R][A][——A][H][——H][S][——S][/S]
    4.使用說明:
    (1)選用R參數(shù),將指定文件設(shè)為只讀屬性,使得該文件只能讀取,無法寫入數(shù)據(jù)或刪除;選用——R參數(shù),去除只

    讀屬性;
    (2)選用A參數(shù),將文件設(shè)置為檔案屬性;選用——A參數(shù),去除檔案屬性;
    (3)選用H參數(shù),將文件調(diào)協(xié)為隱含屬性;選用——H參數(shù),去隱含屬性;
    (4)選用S參數(shù),將文件設(shè)置為系統(tǒng)屬性;選用——S參數(shù),去除系統(tǒng)屬性;
    (5)選用/S參數(shù),對當(dāng)前目錄下的所有子目錄及作設(shè)置.

    (七) DEL——刪除文件命令
    1.功能:刪除指定的文件.
    2.類型:內(nèi)部命令
    3.格式:DEL[盤符:][路徑]〈文件名〉[/P]
    4.使用說明:
    (1)選用/P參數(shù),系統(tǒng)在刪除前詢問是否真要刪除該文件,若不使用這個參數(shù),則自動刪除;
    (2)該命令不能刪除屬性為隱含或只讀的文件;
    (3)在文件名稱中可以使用通配符;
    (4)若要刪除磁盤上的所有文件(DEL*·*或DEL·),則會提示:(Arey ou sure )(你確定嗎 )若回答Y,則進(jìn)行

    刪除,回答N,則取消此次刪除作業(yè).

    (八) UNDELETE——恢復(fù)刪除命令
    1.功能:恢復(fù)被誤刪除命令
    2.類型:外部命令.
    3.格式:UNDELETE[盤符:][路徑名]〈文件名〉[/DOS]/LIST][/ALL]
    4.使用說明:使用UNDELETE可以使用"*"和" "通配符.
    (1)選用/DOS參數(shù)根據(jù)目錄里殘留的記錄來恢復(fù)文件.由于文件被刪除時,目錄所記載斬文件名第一個字符會

    被改為E5,DOS即依據(jù)文件開頭的E5和其后續(xù)的字符來找到欲恢復(fù)的文件,所以,UNDELETE會要求用戶輸入一個

    字符,以便將文件名字補(bǔ)齊.但此字符不必和原來的一樣,只需符合DOS的文件名規(guī)則即可.
    (2)選用/LIST只"列出"符合指定條件的文件而不做恢復(fù),所以對磁盤內(nèi)容完全不會有影響.
    (3)選用/ALL自動將可完全恢復(fù)的文件完全恢復(fù),而不一一地詢問用戶,使用此參數(shù)時,若UNDELTE利用目錄里

    殘留的記錄來將文件恢復(fù),則會自動選一個字符將文件名補(bǔ)齊,并且使其不與現(xiàn)存文件名相同,選用字符的優(yōu)選

    順序為:#%——0000123456789A~Z.
    UNDELETE還具有建立文件的防護(hù)措施的功能,已超出本課程授課范圍,請讀者在使用些功能時查閱有關(guān)DOS手

    冊.


    其它命令

    (一)CLS——清屏幕命令
    1功能:清除屏幕上的所有顯示,光標(biāo)置于屏幕左上角.
    2類型:內(nèi)部命令
    3格式:CLS

    (二) VER查看系統(tǒng)版本號命令
    1功能:顯示當(dāng)前系統(tǒng)版本號
    2類型:內(nèi)部命令
    3格式:VER

    (三) DATA日期設(shè)置命令
    1功能:設(shè)置或顯示系統(tǒng)日期.
    2類型:內(nèi)部命令
    3格式:DATE[mm——dd——yy]
    4使用說明:
    (1)省略[mm——dd——yy]顯示系統(tǒng)日期并提示輸入新的日期,不修改則可直接按回車鍵,[mm——dd——yy]

    為"月月——日日——年年"格式;
    (2)當(dāng)機(jī)器開始啟動時,有自動處理文件(AUTOEXEC.BAT)被執(zhí)行,則系統(tǒng)不提示輸入系統(tǒng)日期.否則,提示輸入

    新日期和時間.

    (四) TIME系統(tǒng)時鐘設(shè)置命令
    1功能:設(shè)置或顯示系統(tǒng)時期.
    2類型:內(nèi)部命令
    3格式:TIME[hh:mm:ss:xx]
    4使用說明:
    (1)省略[hh:mm:ss:xx],顯示系統(tǒng)時間并提示輸入新的時間,不修改則可直接按回車鍵,[hh:mm:ss:xx]為"小

    時:分鐘:秒:百分之幾秒"格式;
    (2)當(dāng)機(jī)器開始啟動時,有自動處理文件(AUTOEXEC.BAT)被執(zhí)行,則系統(tǒng)不提示輸入系統(tǒng)日期.否則,提示輸入

    新日期和時間.

    (五)MEM查看當(dāng)前內(nèi)存狀況命令
    1功能:顯示當(dāng)前內(nèi)存使用的情況
    2類型:外部命令
    3格式:MEM[/C][/F][/M][/P]
    4使用說明:
    (1)選用/C參數(shù)列出裝入常規(guī)內(nèi)存和CMB的各文件的長度,同時也顯示內(nèi)存空間的使用狀況和最大的可用空間;
    (2)選用/F參數(shù)分別列出當(dāng)前常規(guī)內(nèi)存剩余的字節(jié)大小和UMB可用的區(qū)域及大小;
    (3)選用/M參數(shù)顯示該模塊使用內(nèi)存地地址,大小及模塊性質(zhì);
    (4)選用/P參數(shù)指定當(dāng)輸出超過一屏?xí)r,暫停供用戶查看.

    (六) MSD顯示系統(tǒng)信息命令
    1功能:顯示系統(tǒng)的硬件和操作系統(tǒng)的狀況.
    2類型:外部命令
    3格式:MSD[/I][/B][/S]
    4使用說明:
    (1)選用/I參數(shù)時,不檢測硬件;
    (2)選用/B參數(shù)時,以黑白方式啟動MSD;
    (3)選用/S參數(shù)時,顯示出簡明的系統(tǒng)報告.

    posted @ 2008-07-27 11:30 zhouzhou@ 閱讀(184) | 評論 (0)編輯 收藏

    FckEditor上傳音頻視頻

    FckEditor上傳音頻視頻
             在Fckeditor中加入上傳音頻視頻功能,辦法是通過擴(kuò)展原來的flash上傳來實現(xiàn)。過程中出現(xiàn)了亂碼問題,現(xiàn)在把調(diào)試的過程記錄下來。部分內(nèi)容參考了“玉樹臨風(fēng)真情無限”的日志。

             軟件版本:FckEditor2.6.2;平臺:Windows XP;數(shù)據(jù)庫:MySQL。
    1.  分別打開editor/js文件夾下的fckeditorcode_ie.js、fckeditorcode_gecko.js文件。將代碼:
    ||/\.swf($|#|\?)/i.test(A.src)
    替換為:
    ||/\.swf($|#|\?)/i.test(A.src)||/\.mpg($|#|\?)/i.test(A.src)||/\.asf($|#|\?)/i.test(A.src)||/\.wma($|#|\?)/i.test(A.src)
    ||/\.wmv($|#|\?)/i.test(A.src)||/\.avi($|#|\?)/i.test(A.src)||/\.mov($|#|\?)/i.test(A.src)||/\.mp3($|#|\?)/i.test(A.src)
    ||/\.rmvb($|#|\?)/i.test(A.src)||/\.mid($|#|\?)/i.test(A.src)
    6        這段代碼用來判斷文件后綴名,當(dāng)然文件格式可以自定義,不過要考慮和其他地方相吻合。
    2. 打開/editor/dialog/fck_flash/fck_flash.js文件。
    2.1 增加以下程序代碼,用來判斷文件后綴名:
    function WinPlayer(url){
     var r, re;
     re = /.(avi|wmv|asf|wma|mid|mp3|mpg)$/i;
    r = url.match(re);
    return r;
    }
    function RealPlayer(url){
    var r, re;
    re = /.(.rm|.ra|.rmvb|ram)$/i;
    r = url.match(re);
    return r;
    }
    function QuickTime(url){
    var r, re;
    re = /.(mov|qt)$/i;
    r = url.match(re);
    return r;
    }
    function FlashPlayer(url){
    var r, re;
    re = /.swf$/i;
    r = url.match(re);
    return r;
    }

    2.2 替換兩個地方的代碼:一個在UpdatePreview()中,將:
    SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
    替換為:
    if(WinPlayer(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type', 'application/x-mplayer2' ) ;

    }

    if(RealPlayer(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type', 'audio/x-pn-realaudio-plugin' ) ;

    }

    if(QuickTime(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type', 'application/video/quicktime' ) ;

    }

    if(FlashPlayer(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;

    SetAttribute( e, 'pluginspage', 'http://www.macromedia.com/go/getflashplayer' ) ;

    }

    另一個地方在UpdateEmbed()中,將: SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;

    SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
    替換為:
    if(WinPlayer(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type' , 'application/x-mplayer2' ) ;

    SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

    }

    if(RealPlayer(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type' , 'audio/x-pn-realaudio-plugin' ) ;

    SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

    }

    if(QuickTime(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type' , 'video/quicktime' ) ;

    SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

    }

    if(FlashPlayer(GetE('txtUrl').value)!=null){

    SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;

    SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;

    }

    3.打開/fckconfig.js文件,將:
    FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all
    替換為:
    FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all
          到此,基本功能已經(jīng)完成。剩下的是一些細(xì)節(jié)的設(shè)置。
    4. 其他設(shè)置
    4.1 編輯框中文字的設(shè)置:打開/editor/lang/zh-cn.js 文件,將flash替換成想要顯示的文字。
    4.2 默認(rèn)的音頻視頻播放效果是循環(huán)、自動播放、帶操作menu的樣式,可以通過設(shè)置來顯示成想要的效果。方法還是在/editor/dialog/fck_flash/fck_flash.js文件,在UpdateEmbed()方法中,將對應(yīng)的文件格式中的,
    SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' )替換為:

    SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'false' : 'true' ) ;
        

     

     

    posted @ 2008-07-27 11:21 zhouzhou@ 閱讀(873) | 評論 (3)編輯 收藏

    一個自動跳轉(zhuǎn)的代碼

    HTML里增加:  
      <meta   http-equiv="refresh"   content="5;URL=http://www.csdn.net">

    posted @ 2008-07-27 11:20 zhouzhou@ 閱讀(135) | 評論 (0)編輯 收藏

    java匿名內(nèi)部類,參數(shù)必須是final類型

    匿名內(nèi)部類實用定義在外部的變量,該變量必須是final類型
    因為匿名內(nèi)部類沒有構(gòu)造函數(shù),無法對引用變量進(jìn)行初始化。所以引用的參數(shù)必須是在外部已經(jīng)初始化的final變量。

    posted @ 2008-07-27 11:19 zhouzhou@ 閱讀(1052) | 評論 (1)編輯 收藏

    多態(tài)

    多態(tài)性:發(fā)送消息給某個對象,讓該對象自行決定響應(yīng)何種行為。
    通過將子類對象引用賦值給超類對象引用變量來實現(xiàn)動態(tài)方法調(diào)用。

    java 的這種機(jī)制遵循一個原則:當(dāng)超類對象引用變量引用子類對象時,被引用對象的類型而不是引用變量的類型決定了調(diào)用誰的成員方法,但是這個被調(diào)用的方法必須是在超類中定義過的,也就是說被子類覆蓋的方法

    posted @ 2008-07-27 11:18 zhouzhou@ 閱讀(71) | 評論 (0)編輯 收藏

    for的新特性

    package test;
    import java.util.*;
    import java.io.*;
    public class Properties_test
    {
    public static void main(String[] args)
    {
    try
    {
    Properties roles =new Properties();
    roles.load(new FileInputStream("c:/hpj-users.properties"));
    Enumeration emnu = roles.propertyNames();
    while(emnu.hasMoreElements())
    {
    String key = emnu.nextElement().toString();
    String value = roles.getProperty(key);
    System.out.println(key+"_"+Token(value).size()+"_"+value);
    }
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    }
    }

    public static List<String> Token(String s)
    {
    List<String> list = new ArrayList<String>();
    try
    {
    String[] args = s.split(",");
    for (String arg :args)
    {
    list.add(arg.trim());
    }
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    }
    return list;
    }

    }
    問題補(bǔ)充:想具體了解下collection-based for 循環(huán)
    就是:for (String arg :args)
    不了解這個for循環(huán)的含義,中間的:是什么意思
    這個循環(huán)是按什么規(guī)則循環(huán)的,一般的循環(huán)不是fro( ?;? ;? );


    泛性(j2SE 5.0的新特性)

    for (String arg :args)
    {
    list.add(arg.trim());
    }

    增強(qiáng)后的for循環(huán)(j2SE 5.0的新特性)

    主要作用簡化了之前的for循環(huán):
    相當(dāng)與 (這個你看得懂吧)
    for(int i=0;i<args.length;i++){
    list.add(args[i]);
    }

    格式: for(類型 參數(shù)名 : 數(shù)組或集合類){ }
    類型必需與數(shù)組或集合類的類型相同,
    參數(shù)的值是動態(tài)的,所有數(shù)組或集合類的每一個值。

     

    一。數(shù)組:
    int[] num = {1,2,3,4,5};
    for(int arg:num){
    System.out.println(arg);
    }

    二。集合類:
    ArrayList<String> list = new ArrayList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
    list.add("D");
    for(String arg: list){
    System.out.println(arg);
    }

    posted @ 2008-07-27 11:16 zhouzhou@ 閱讀(115) | 評論 (0)編輯 收藏

    覆寫于重載

    比如說原來class A有一個方法:
    public void test(String a) {
    ...
    }

    現(xiàn)在class B extends A
    那么你如果在class B中寫一個方法
    public void test(String a) {
    ...
    }
    這就叫覆寫(overridden)
    如果你象下面這樣寫了:
    public void test(Integer i) {
    ...
    }

    public int test(Socket socket) {
    ...
    }
    或...
    總之,方法說明部分如果和父類的方法完全一樣的,就是覆寫(overridden)
    參數(shù)不同的情況下就算重載了。

    posted @ 2008-07-27 11:07 zhouzhou@ 閱讀(53) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 免费观看的av毛片的网站| 亚洲一区中文字幕在线电影网| 美女裸身网站免费看免费网站| 一级毛片人与动免费观看| 四虎必出精品亚洲高清| 亚洲一区二区中文| 久久亚洲中文字幕精品一区四| 免费做爰猛烈吃奶摸视频在线观看| 日韩电影免费观看| 国产精品偷伦视频免费观看了| 亚洲精品欧美综合四区| 亚洲jjzzjjzz在线观看| 伊人久久综在合线亚洲2019| 国产亚洲精品自在久久| 亚洲国产小视频精品久久久三级 | 九九精品免费视频| 久久免费视频99| 久久久久国色AV免费观看| 国产成人综合久久精品亚洲| 亚洲一区二区三区不卡在线播放| 91亚洲va在线天线va天堂va国产 | 色窝窝亚洲AV网在线观看| 亚洲六月丁香婷婷综合| 亚洲精品熟女国产| 久久久亚洲裙底偷窥综合| 久久夜色精品国产亚洲AV动态图 | 黄色毛片免费在线观看| 精品无码专区亚洲| 精品国产_亚洲人成在线| 亚洲欧好州第一的日产suv| 亚洲熟女综合色一区二区三区 | 搡女人免费视频大全| 黄页网站在线观看免费高清| 色老头永久免费网站| 99久久99久久精品免费看蜜桃| 久久国产乱子伦精品免费一| 98精品全国免费观看视频| 久久w5ww成w人免费| 久久WWW免费人成一看片| 在线看片韩国免费人成视频| 69免费视频大片|