圖片驗證碼,簡訊驗證碼,檔案上傳
阿新 • • 發佈:2018-12-16
1.圖片驗證碼的實現
註冊、下單、支付
目的: 1) 驗證操作者是否是人 2) 防止表單重複提交 生成驗證碼的要點: 1) 使用java程式碼生成圖片物件 BufferedImage 2) 使用Random生成隨機字串 3) 將圖片物件用 ImageIO.write(圖片物件, “jpeg|png”, 響應位元組輸出流) 返回給客戶端瀏覽器 驗證驗證碼: 要點: 1) 將驗證碼文字存入session作用域 2) 表單提交時,對比session中的驗證碼和表單中的驗證碼
2. 簡訊驗證碼
呼叫第三方的簡訊服務 阿里雲的簡訊服務使用方法: https://www.aliyun.com/ 官方網站 產品和服務=> 雲通訊=> 簡訊服務
- 充值
- 下載簡訊的sdk (軟體開發包)
- 生成開發者的id 和 secret 管理控制檯=>使用者資訊管理=>建立AccessKEY LTAIgtvrBBoNLvQi qv1pZHbudbqeg5hvvq7lvwc0futduw
- 設定簡訊模板和簡訊簽名 簡訊服務=>國內訊息 簡訊簽名:傳送者是誰 簡訊模板:規定了簡訊的內容
3. 動態include和靜態include
靜態include <%@ include file=“目標檔案” %> 1.jsp+2.jsp 合併在一起 => 一個servlet
動態include <jsp:include page=“目標檔案” /> 1.jsp 生成servlet1, 2.jsp 生成servlet2 把servlet1生成的結果和servlet2的結果合併在一起
另外注意page和file的區別 file後只能是jsp(實際存在的檔案) page除了可以是一個jsp以外,還可以是一個servlet的地址
4. jsp動作
<!-- 等價於 request.setAttribute("stu", new Student()); -->
<jsp:useBean id="stu" class="entity.Student" scope="request"/>
<!-- stu.setName("張三"); -->
<jsp:setProperty name="stu" property="name" value= "張三"/>
<!-- stu.getName(); -->
<jsp:getProperty name="stu" property="name"/>
<!-- 動態include -->
<%--<jsp:include page="2.jsp"/>--%>
<!-- 轉發 -->
<%--<jsp:forward page="1.jsp"/>--%>
4. 檔案上傳
注意: 1) method必須是post 2) 必須採用複雜的格式,不能是name=value的引數格式, 必須是multipart/form-data的格式apache提供了 commons-fileupload.jar 專門用來解析multipart/form-data的格式 commons-io.jar
// 通過程式建立目錄 new File(“e:\images”).mkdirs()