Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
2,46 MB
Nội dung
1 Module/mơn: Lập trình Java Số hiệu assignment: 1/1 Người điều phối FPT Polytechnic: BằngTC Ngày ban hành: % điểm: 60% Bài assignment đòi hỏi sinh viên phải dùng khoảng 35h làm để hoàn thành Tương ứng với mục tiêu mơn học: Gian lận hình thức lấy làm người khác sử dụng làm Hình thức bao gồm hành động như: copy thông tin trực tiếp từ trang web hay sách mà không ghi rõ nguồn tham khảo tài liệu; gửi assignment làm chung thành cá nhân; copy assignment sinh viên khác khóa hay khác khóa; ăn trộm hay mua assignment gửi lên sản phẩm làm Những sinh viên bị nghi ngờ gian lận bị điều tra phát có gian lận phải chịu mức phạt theo quy định Nhà trường Mọi tài nguyên copy hay điều chế từ nguồn (VD: Internet, sách) phải đặt cặp dấu nháy kép in nghiêng, với thông tin tham khảo đầy đủ nguồn tài liệu Bài làm bạn đưa vào phần mềm kiểm tra gian lận Mọi hình thức cố tình đánh lừa hệ thống phát gian lận bị coi Vi phạm quy định thi cử Quy định nộp assignment • • • • • • Một mềm kết làm assignment bạn phải upload trước nửa đêm (giờ địa phương) vào ngày hạn nộp Quá hạn nộp hệ thống khóa lại sinh viên khơng quyền nộp Phiên upload lên cuối chấm điểm Sinh viên có quyền upload đè file nhiều lần trước hết hạn nộp Tất file tài liệu văn phải để dạng file gốc không file dạng file xuất từ định dạng khác (ví dụ pdf xuất từ doc) Không gửi tài liệu văn dạng ảnh chụp Đối với assignment bạn phải đưa chứng hay sản phẩm khác vào file nén dạng zip Kích thước file cần tuân thủ theo giới hạn hệ thống nộp (thông thường 0){ try { MimeMessage mail = queue.remove(0); Transport.send(mail); System.out.println("The mail was sent."); } catch (MessagingException e) { System.out.println("Unable to send mail."); } } else{ queue.wait(); } } } catch (InterruptedException e) { break; } } } } Mã nguồn lớp JMailSender package com.poly.util; import java.io.File; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class JMailSender { SOF203 – Lập trình Java Lab private static final String email = "user@gmail.com"; private static final String password = "songlong"; private static final Properties config = new Properties(); static{ // Các thông số gmail config.setProperty("mail.smtp.host", "smtp.gmail.com"); config.setProperty("mail.smtp.port", "465"); config.setProperty("mail.smtp.starttls.enable","true"); config.setProperty("mail.smtp.auth", "true"); config.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); config.setProperty("mail.smtp.socketFactory.fallback", "false"); } public static Session getSession() { // Đăng nhập gmail Authenticator authenticator = new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(email, password); } }; Session session = Session.getInstance(config, authenticator); return session; } /** * Gửi email từ hệ thống * * @param to danh sách email người nhận, cách dấu phẩy chấm phẩy * @param subject tiêu đề email * @param body nội dung email * @exception RuntimeException lỗi tạo email */ public static void send(String to, String subject, String body) { String from = String.format("EStore Web Master ", email); JMailSender.send(from, to, subject, body); } /** * Gửi email với thông tin đơn giản * * @param from email người gửi (ví dụ: Nguyen Nghiem <nnghiem@yahoo.com>nnghiem@yahoo.com) * @param to danh sách email ngư�?i nhận, cách dấu phẩy chấm phẩy * @param subject tiêu đề email * @param body nội dung email * @exception RuntimeException lỗi tạo email SOF203 – Lập trình Java Lab */ public static void send(String from, String to, String subject, String body) { String cc = "", bcc = "", attach = ""; JMailSender.send(from, to, cc, bcc, subject, body, attach); } /** * Gửi email đầy đủ thông tin * * @param from email người gửi (ví dụ: Nguyen Nghiem <nnghiem@yahoo.com>nnghiem@yahoo.com) * @param to danh sách email người nhận, cách dấu phẩy chấm phẩy * @param cc danh sách email đồng nhận, cách dấu phẩy chấm phẩy * @param bcc giống cc email không hiển thị mail * @param subject tiêu đờ? email * @param body nội dung email * @param attachments danh sách đường dẫntập tin đính kèm, cách dấu phẩy chấm phẩy * @exception RuntimeException lỗi tạo email */ public static void send(String from, String to, String cc, String bcc, String subject, String body, String attachments) { try{ MimeMessage mail = new MimeMessage(getSession()); String[] addresses = from.split("[]"); String name = addresses[0].trim(); String email = (addresses.length > ? addresses[1] : addresses[0]).trim(); InternetAddress fromAddress = new InternetAddress(email, name, "utf8"); mail.setFrom(fromAddress); mail.setReplyTo(new InternetAddress[]{fromAddress}); final String toEmails = to.trim().replaceAll("[,;\\s]+", ","); mail.addRecipients(Message.RecipientType.TO, toEmails); if(cc != null && cc.trim().length() > 0) { final String ccEmails = cc.trim().replaceAll("[,;\\s]+", ","); mail.addRecipients(Message.RecipientType.CC, ccEmails); } if(bcc != null && bcc.trim().length() > 0) { final String bccEmails = bcc.trim().replaceAll("[,;\\s]+", ","); mail.addRecipients(Message.RecipientType.BCC, bccEmails); SOF203 – Lập trình Java Lab } mail.setSubject(subject, "utf-8"); mail.setContent(body, "text/html; charset=utf-8"); mail.setSentDate(new Date()); if(attachments != null && attachments.trim().length() > 0) { MimeMultipart multiPart = new MimeMultipart(); MimeBodyPart mailBodyPart = new MimeBodyPart(); mailBodyPart.setContent(body, "text/html; charset=utf8"); multiPart.addBodyPart(mailBodyPart); } } } String[] paths = attachments.split("[,;]+"); for(String path : paths) { File file = new File(path.trim()); MimeBodyPart attachBodyPart = new MimeBodyPart(); FileDataSource fds = new FileDataSource(file); attachBodyPart.setDataHandler(new DataHandler(fds)); attachBodyPart.setFileName(file.getName()); multiPart.addBodyPart(attachBodyPart); } mail.setContent(multiPart); //Transport.send(mail); JMailSenderService.queue(mail); } catch (Exception e) { throw new RuntimeException(e); } Với lớp viết bạn chạy thử chương trình gửi email đơn giản sau String from = "sender@gmail.com"; String to = "a@gmail.com "; String subject = "Tiêu đề mail"; String body = "Nội dung mail"; JmailSender.send(from, to, subject, body); BÀI 2: Gửi email đầu đủ Sử dụng thư viện xây dựng viết ứng dụng gửi email có giao diện sau SOF203 – Lập trình Java Lab HƯỚNGDẪN THỰC HIỆN Chú ý thư viện gửi email là: mail.jar activation.jar [Send] String from = txtFrom.getText(); String to = txtTo.getText(); String cc = txtCC.getText(); String bcc = txtBCC.getText(); String subject = txtSubject.getText(); String body = txtContent.getText(); String attach = txtAttach.getText(); JMailSender.send(from, to, cc, bcc, subject, body, attach); BAI 3: Giáo viên cho thêm SOF203 – Lập trình Java Lab ... chọn Library vừa add vào bước Bước 4: Kết nối Tạo File test .java để thử connect SOF203 – Lập trình Java Lab Bài : kết nối SQL Server JAVA Sử dụng ODBC – JDBC Bridge (Type I) A - Tạo “System data... System.exit(0) để kết thúc ứng dụng SOF203 – Lập trình Java Lab Bài 1: Xây dựng giao diện JMenu Sử dụng NetBeans IDE , xây dựng giao diện chương trình sau: Bài 2: xử lý kiện JMenu Xây dựng chương trình... trình có giao diện sau: Gán phím tắt kiện cho menu Xử lý kiện: SOF203 – Lập trình Java Lab SOF203 – Lập trình Java Lab Bài Kết nối CSDL SQL Server 2008 từ NetBean (Type 4) Bước 1: Download Driver