Java Servlet實現簡單的驗證碼產生,javaservlet
驗證碼存在的意義:不少網站為了防止使用者利用機器人自動註冊、登入、灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,產生一幅圖片,圖片裡加上一些幹擾象素(防止OCR),由使用者肉眼識別其中的驗證碼資訊,輸入表單提交網站驗證,驗證成功後才能使用某項功能。
就是類似這個樣子滴,PS:(前端頁面真不想寫,太麻煩了0.0)。
思考:1.驗證碼的圖片資源哪裡來? 解決:1.在Servlet中設定資料類型為圖片--->resp.setContentType("image/jpeg");並將產生的圖片輸入到 response中。
2.如何?點擊圖片更換驗證碼? 2.在js代碼中添加函數,改變img的src資源---->codeImg.src="CodeImg?d="+Math.random();
這裡需要注意一點:如果不追加一個隨機數,瀏覽器的緩衝影響,那麼每次點擊都是同一個 Servlet產生的圖片,起不 到改變驗證碼的效果這裡有幾種方法供參考:
一. GET請求URL後加隨機數,讓伺服器認為不是相同的請求。也可以傳一個隨機的參數。
例 “http://www.example.com/index.php?class=aitcle&page=5&_t=” + new Date().getTime()
二. 在ajax發送請求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0”)
三. 在ajax發送請求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);
四. 使用POST代替GET,瀏覽器不會對POST做緩衝
3.如何檢驗使用者輸入驗證碼與產生驗證碼?
4.如何返回並獲得檢驗結果?
5.晚飯吃什麼...........午飯吃什麼...........