ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ----&&&-----
BÁO CÁO BÀI TẬP LỚN
LẬP TRÌNH MẠNG
Đà Nẵng, Tháng 05 năm 2017 LỜI MỞ ĐẦU
Lập trình mạng là một kiến thức chuyên ngành quan trọng của lĩnh vực công nghệ thông tin, đặc biệt là ngành quản trị mạng. Có thể xem đây là một hướng đi rất rộng mở cho sinh viên và việc nắm bắt những kĩ thuật cơ bản của nó cực kì cần thiết và quan trọng. Sau một loạt các môn học lí thuyết nền tảng như Mạng
GVHD: ThS. Mai Văn Hà
máy tính, Lập trình Java, Lập trình mạng, thì học phần Lập trình mạng này chính là hội tụ hiện thực các kiến thức học trên sách vở. Nội dung thực hành chủ yếu thực hiện việc lập trình Socket trên họ giao thức TCP/IP và giao thức UDP trên các ứng dụng viết bằng ngôn ngữ Java, kết hợp các kĩ thuật lập trình đa luồng, lập trình web JSP để thực hiện các hạng mục của học phần. Thông qua các bài các bài giảng trên lớp, sinh viên dần thông thạo với công việc lập trình và một phần nào đó làm quen kĩ thuật xây dựng một hệ thống làm việc sao cho hiệu quả. Dù đã kiểm tra nhiều lần nhưng trong báo cáo này có thể sẽ xuất hiện một số lỗi và sai sót, do đó em rất mong đợi sự góp ý từ các thầy cô. Em xin chân thành cảm ơn.
Trang 2
GVHD: ThS. Mai Văn Hà
Ý KIẾN ĐÁNH GIÁ CỦA GIẢNG VIÊN ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… ………………………………………………………………… …………………………………………………………………
Bài tập 1: Xây dựng chức năng đăng nhập và đăng ký tài khoản bằng JSP, Servlet theo mô hình MVC Yêu cầu đề bài: Xây dựng một ứng dụng bằng JSP, SERVLET theo mô hình MVC cung cấp chức năng như sau: - Người dùng muốn truy cập vào hệ thống phải thực hiện login để kiểm tra username và password có hợp lệ hay không - Hệ thống thông qua DB kiểm tra tính xác thực của dữ liệu: + Nếu username và password không chính xác hay không tồn tại ứng dụng thông báo cho người dùng thông tin “Invalid username and password” và cho người dùng trở về trang Login thông qua một Link có tên là Try Again và cung cấp một Link Register cho phép người dùng đăng ký một account mới + Nếu user tồn tại thì chương trình bày form Search. Đặc biệt, trên đầu trang phải sử dụng session để lưu trữ user và tất cả các trang phải có câu “Welcome, tênUser” - Form Search cho phép người dùng tìm kiếm một user bất kỳ khi biết một
phần tên của họ + Kết quả Search sẽ trình bày trên lưới dữ liệu + Nếu tìm không thấy sẽ in ra câu “No Result is matched!” - Kết quả trên lưới dữ liệu cho phép người dùng xóa một hàng bất kỳ bằng cách click vào link hay update thông tin về lastname hay roles bằng click nút update trên hàng được lựa chọn - Khi các thao tác update, delete được thực hiện thành công thì lưới dữ liệu sẽ được cập nhật lại và trình bày kết quả cho người dùng Trang 4
import model.bean.User; public class UserDAO extends BaseDAO { private ResultSet results; private Connection conn; private PreparedStatement pst; public boolean addUser(User userInfor) { boolean status = false; Connection conn = this.getConnectMySql(); String sql = "INSERT INTO user (username,password,fullname) VALUES(?,?,?)"; try { pst = conn.prepareStatement(sql); pst.setString(1, userInfor.getUsername()); pst.setString(2, userInfor.getPassword()); pst.setString(3, userInfor.getFullname());
}
= ?";
int temp = pst.executeUpdate(); status = (temp == 1) ? true : false; } catch (SQLException e) { // TODO Auto-generated catch block
e.printStackTrace(); } return status;
public boolean isExistUser(String userName, String password) { boolean status = false; Connection conn = this.getConnectMySql(); try { String sql = "select * from user where username = ? and password pst = conn.prepareStatement(sql); pst.setString(1, userName);
Trang 6
GVHD: ThS. Mai Văn Hà pst.setString(2, password); results = pst.executeQuery(); status = results.next(); } catch (SQLException e) { System.out.println(e.getMessage()); } finally { try { pst.close(); } catch (Exception e2) { // TODO: handle exception } } return status; }
public User getUser(String userName) { Connection conn = this.getConnectMySql(); User user = null; try { String sql = "select * from user where username = ?"; pst = conn.prepareStatement(sql); pst.setString(1, userName);