BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH MẠNG - Tài Liệu Text - 123doc

Tải bản đầy đủ (.docx) (52 trang)
  1. Trang chủ
  2. >>
  3. Công Nghệ Thông Tin
  4. >>
  5. Kỹ thuật lập trình
BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH MẠNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.39 MB, 52 trang )

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA CÔNG NGHỆ THÔNG TIN----&&&-----BÁO CÁO BÀI TẬP LỚNLẬP TRÌNH MẠNGĐà Nẵng, Tháng 05 năm 2017LỜI MỞ ĐẦULậ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ôngnghệ thông tin, đặc biệt là ngành quản trị mạng. Có thể xem đây là một hướng đirấ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ạngGVHD: 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àychí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 UDPtrê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 đaluồ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 quacá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ìnhvà 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 chohiệ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ànhcảm ơn.Trang 2GVHD: ThS. Mai Văn HàÝ KIẾN ĐÁNH GIÁ CỦA GIẢNG VIÊN…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………Trang 3GVHD: ThS. Mai Văn HàMỤC LỤCBài tập 1: Xây dựng chức năng đăng nhập và đăng ký tàikhoản bằng JSP, Servlet theo mô hình MVCYê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ấpchứ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 trausername 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 ứngdụng thông báo cho người dùng thông tin “Invalid username andpassword” và cho người dùng trở về trang Login thông qua một Linkcó tên là Try Again và cung cấp một Link Register cho phép ngườidù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 đầutrang 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ộtphầ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ằngcách click vào link hay update thông tin về lastname hay roles bằng clicknú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ệusẽ được cập nhật lại và trình bày kết quả cho người dùngTrang 4GVHD: ThS. Mai Văn HàCấu trúc thư mục:BaseDAO.javapackage model.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class BaseDAO {private Connection connect;public Connection getConnectMySql() {String hostName = "localhost";String dbName = "exercise_web";String userName = "root";String password = "";try {Class.forName("com.mysql.jdbc.Driver");Trang 5GVHD: ThS. Mai Văn HàString connURL = "jdbc:mysql://" + hostName + ":3306/" + dbName+ "?useUnicode=true&characterEncoding=UTF-8";connect = DriverManager.getConnection(connURL, userName,password);//System.out.println("Connected");} catch (ClassNotFoundException e) {System.out.println("Class not found!");} catch (SQLException e) {System.out.println("Error connect!");}return connect;}}UserDAO.javapackage model.dao;importimportimportimportimportimportjava.sql.Connection;java.sql.Date;java.sql.PreparedStatement;java.sql.ResultSet;java.sql.SQLException;java.util.ArrayList;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 blocke.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 passwordpst = conn.prepareStatement(sql);pst.setString(1, userName);Trang 6GVHD: 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);results = pst.executeQuery();while (results.next()) {String username = results.getString(1);String password = results.getString(2);String fullname = results.getString(3);user = new User(username, password, fullname);}} catch (SQLException e) {System.out.println(e.getMessage());} finally {try {pst.close();} catch (Exception e2) {// TODO: handle exception}}return user;}public ArrayList <User> getUserByName(String name) {Connection conn = this.getConnectMySql();ArrayList<User> listUser = new ArrayList ();try {String sql = "select * from user where fullname like'%"+name+"%'";pst = conn.prepareStatement(sql);results = pst.executeQuery();while (results.next()) {String username = results.getString(1);String password = results.getString(2);String fullname = results.getString(3);User obj = new User(username, password, fullname);listUser.add(obj);}Trang 7GVHD: ThS. Mai Văn Hà} catch (SQLException e) {System.out.println(e.getMessage());} finally {try {pst.close();} catch (Exception e2) {// TODO: handle exception}}return listUser;}public boolean deleteUser(String userName) {boolean status = false;Connection conn = this.getConnectMySql();try {String sql = "DELETE FROM user WHERE username = ?";pst = conn.prepareStatement(sql);pst.setString(1, userName);int temp = pst.executeUpdate();status = (temp == 1) ? true : false;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {try {pst.close();} catch (Exception e2) {// TODO: handle exception}}return status;}public boolean editUser(User user) {boolean status = false;Connection conn = this.getConnectMySql();try {String sql = "UPDATE user SET password = ?, fullname = ? WHEREusername = ?";pst = conn.prepareStatement(sql);pst.setString(1, user.getPassword());pst.setString(2, user.getFullname());pst.setString(3, user.getUsername());int temp = pst.executeUpdate();status = (temp == 1) ? true : false;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {pst.close();} catch (Exception e2) {// TODO: handle exception}}return status;}public static void main(String[] args) {Trang 8GVHD: ThS. Mai Văn HàUserDAO u = new UserDAO();Lon")));}}System.out.println(u.editUser(new User("thailoi","222222","Thai VanHomeController.javapackage controller;import java.io.IOException;import java.util.ArrayList;importimportimportimportimportimportimportjavax.servlet.RequestDispatcher;javax.servlet.ServletException;javax.servlet.annotation.WebServlet;javax.servlet.http.HttpServlet;javax.servlet.http.HttpServletRequest;javax.servlet.http.HttpServletResponse;javax.servlet.http.HttpSession;import model.bean.User;import model.dao.UserDAO;/*** Servlet implementation class HomeServlet*/@WebServlet("/HomeServlet")public class HomeController extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public HomeController() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponseresponse)*/protected void doGet(HttpServletRequest request, HttpServletResponseresponse) throws ServletException, IOException {// TODO Auto-generated method stubHttpSession session = request.getSession();if(session.getAttribute("fullname") != null){UserDAO userDAO = new UserDAO();String name = request.getParameter("name");String search = request.getParameter("search");String logout = request.getParameter("logout");if(logout != null){session.invalidate();response.sendRedirect(request.getContextPath() + "/login.html");return; // <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Demo Login</title></head><body class="login-bg"><div class="login-page"><div class="form"><button type="submit" name="create">Register</button>

Already registered? Log In</a>

</form>created

fields

Account successfully<% }else{ %>

Invalid User Name or Fill in all</div></body></html></div>Home.jsp<%@ page import="model.bean.User"%><%@page import="java.util.ArrayList"%>

Từ khóa » Các Bài Tập Về Jsp