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

          2008年7月29日

          4xx - 客戶端錯(cuò)誤

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

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

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

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

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

          小結(jié) Commons BeanUtils

           

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

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

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

          下面為一個(gè)簡(jiǎn)單的例子

          新建User Profile Address BeanUtilsExample 四個(gè)類


          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", "中國(guó)", "保定", "河北大學(xué)"),
              new Address("22222", "中國(guó)", "保定", "河北大學(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("輸出對(duì)象的屬性值---------------------------------");
            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", "中國(guó)","紫園","保定"));
             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ù)制屬性值的對(duì)象的比較-------------------------------");
             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@ 閱讀(601) | 評(píng)論 (0)編輯 收藏

          JavaBeans對(duì)象的作用范圍

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


          page:只對(duì)當(dāng)前頁(yè)面有效

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

          session:可以訪問(wèn)其他的jsp頁(yè)面中,作用范圍跨頁(yè)面,但只針對(duì)一個(gè)特定的用戶

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

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

          JS驗(yàn)證方法

           <!--  
            說(shuō)明:每個(gè)校驗(yàn)函數(shù)默認(rèn)都不校驗(yàn)要求的輸入長(zhǎng)度,只有當(dāng)用戶有輸入的時(shí)候才開(kāi)始校驗(yàn);  
                        這樣設(shè)計(jì)的目的是因?yàn)閷?shí)際應(yīng)用中有的表單是可以不要輸入的,如果某個(gè)表單域要求一定輸入,  
                那就可以象最后那個(gè)表單域一樣加入長(zhǎng)度校驗(yàn)。  
            -->  
            <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    
             >

           /*焦點(diǎn)放置在第一個(gè)表單域*/  
            function   focusInFirst(){  
              document.forms[0].elements[0].focus();}  
             
            /*判斷用戶輸入是否為空*/  
            function   isEmpty(ui)   {  
              return   (ui==null||ui=="");}  
             
            /*取得用戶輸入的字符串的長(zhǎng)度*/  
            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));}  
             
            /*判斷是否為身份證號(hào)碼*/  
            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));}  
             
            /*判斷是否為移動(dòng)電話*/  
            function   isChinaMob(ui){  
                var   valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
                return   (isEmpty(ui)||valid.test(ui));}  
             
            /*判斷是否為電話,只能為固定電話或移動(dòng)電話*/  
            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));}  
             
            /*用戶輸入字符串長(zhǎng)度是否在兩值之間*/  
            function   isLenBetween(ui,minl,maxl)   {  
                return   (ui>=minl&&ui<=maxl);}

           


          </SCRIPT>  
             
            <SCRIPT   language=JavaScript>  
            <!--  
            function   formCheck(){  
            if(!isIdno(document.testForm.id.value)){  
              alert("身份證號(hào)碼輸入有誤!要求只能輸入數(shù)字,長(zhǎng)度為16或18位。");  
              document.testForm.id.focus();  
              return   false;}  
            if(!isChinaTel(document.testForm.tel.value)){  
              alert("固定電話號(hào)碼輸入有誤!合法的格式為:區(qū)號(hào)-電話號(hào)碼。");  
              document.testForm.tel.focus();  
              return   false;}  
            if(!isChinaMob(document.testForm.mobi.value)){  
              alert("移動(dòng)電話號(hào)碼輸入有誤!");  
              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ù)字,長(zhǎng)度為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("該域要求輸入長(zhǎng)度范圍是4至6個(gè)字符!");  
              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ī)號(hào)碼:</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>輸入長(zhǎng)度在4-6之間:</TD>  
                    <TD   width=312><INPUT   name=leng>   </TD></TR>  
                <TR   align=center>  
                    <TD   colSpan=2   height=25><INPUT   type=submit   value="     點(diǎn)擊測(cè)試     "   name=Submit>    
                    </TD></TR></TBODY></TABLE></FORM></CENTER></BODY></HTML>  
             
             
             
            /*js函數(shù)文件   formcheck.js*/  
             
            /*------------------------------------------------------------------------------  
              *   File:   formcheck.js   
              *   Description:FormCheck組件的函數(shù)庫(kù)文件(部分),共計(jì)110個(gè)方法  
              *------------------------------------------------------------------------------*/  
            /*焦點(diǎn)放置在第一個(gè)表單域*/  
            function   focusInFirst(){  
              document.forms[0].elements[0].focus();}  
             
            /*判斷用戶輸入是否為空*/  
            function   isEmpty(ui)   {  
              return   (ui==null||ui=="");}  
             
            /*取得用戶輸入的字符串的長(zhǎng)度*/  
            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));}  
             
            /*判斷是否為身份證號(hào)碼*/  
            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));}  
             
            /*判斷是否為移動(dòng)電話*/  
            function   isChinaMob(ui){  
                var   valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
                return   (isEmpty(ui)||valid.test(ui));}  
             
            /*判斷是否為電話,只能為固定電話或移動(dòng)電話*/  
            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));}  
             
            /*用戶輸入字符串長(zhǎng)度是否在兩值之間*/  
            function   isLenBetween(ui,minl,maxl)   {  
                return   (ui>=minl&&ui<=maxl);}

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

          一個(gè)簡(jiǎn)單js驗(yàn)證的例子

          <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("請(qǐng)?zhí)顚?xiě)用戶名!");
                 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@ 閱讀(275) | 評(píng)論 (0)編輯 收藏

          處理隱藏表單的方法

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


          HTML頁(yè)面代碼

          <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">您對(duì)本網(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@ 閱讀(554) | 評(píng)論 (0)編輯 收藏

          一個(gè)servlet處理表單的簡(jiǎn)單例子

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


          HTML頁(yè)面代碼

          <!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">
                編程時(shí)間:
               </td>
               <td align="left">
                <select name="codetime" size=1>
                 <option value="never">
                  不編程
                 <option value="6">
                  小于6個(gè)月
                 <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>
                使用的編程語(yǔ)言
               </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("編程時(shí)間:"+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("使用的編程語(yǔ)言");
            @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();
           }
          // 過(guò)濾的方法
           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@ 閱讀(1162) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 通榆县| 长沙县| 临武县| 大邑县| 龙海市| 河曲县| 呼玛县| 洪江市| 固安县| 孟津县| 宜章县| 连南| 深水埗区| 启东市| 克山县| 股票| 怀柔区| 额敏县| 兴义市| 水城县| 禹城市| 定南县| 定襄县| 陆良县| 托克托县| 克什克腾旗| 抚顺县| 清丰县| 沙湾县| 容城县| 鱼台县| 通州区| 濉溪县| 延津县| 麻栗坡县| 玉田县| 鄂尔多斯市| 盐亭县| 安顺市| 荆门市| 西华县|