Hướng dẫn thực hành Lập trình Java 2

Mục lục

Module 1 : Ôn tập Graphic User Interface. 3

Module 2: Thực hành về MultiThreading. 23

Module 3: Thực hành về Collections. 34

Module 4: Thực hành về Networking. 46

Module 5: Thực hành về JDBC. 64

Module 6: Thực hành về JSP. 75

 

docx95 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 5970 | Lượt tải: 2download
Tóm tắt nội dung Hướng dẫn thực hành Lập trình Java 2, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
14-0119
P020202025
Prentice Hall PTR
49 Sandiego, USA
110-115-0113
Dữ liệu mẫu của bảng tblBook( bảng lưu các đầu sách)
tblBook
BookCode
BookName
PublisherCode
B032120449
Introduction to The Design and Analysis of Algorithms
P020202021
B032120450
Operating System Concepts
P020202022
B032120451
Advanced Concepts in Operating Systems 6th
P020202023
B032120452
Beginning XML 2nd
P020202024
B032120453
Core Java 2 Volume II 
P020202025
B032120454
A Biography Compiled
P020202021
B032120455
Academic Culture 
P020202021
B032120456
Achieving Broad Development
P020202021
B032120457
Achieving a Productive Aging Society
P020202021
B032120458
Portrait of a Marching Black
P020202021
B032120459
 Automatically Adaptable Software
P020202022
B032120460
Problems in Psychology
P020202022
B032120461
 Human Relations in a Factory
P020202022
B032120462
Admiral Halsey's Story
P020202023
B032120463
Theoretical and Research Perspectives
P020202024
B032120464
The Adolescent in Turmoil
P020202021
B032120465
Adolphus, a Tale
P020202024
B032120466
Adventures
P020202021
B032120467
Aerogeology
P020202021
Giao diện chính của chương trình như sau:
Yêu cầu:
 Thiết kế giao diện sử dụng như trên, chạy script SQL để tạo cơ sở dữ liệu.
 Hiển thị danh sách các nhà xuất bản lên JTable, viết các sự kiện cho 2 JButton Về trước, về sau và JTable. Chú ý rằng mỗi lần click vào từng dòng trên JTable thì sẽ hiển thị thông tin của nhà xuất bản lên phần thông tin chi tiết; Click “Về trước” thì hiển thị nhà xuất bản ở phía trước; Click “Về sau” thì hiển thị nhà xuất bản ở phía sau.
Thực hiện các chức năng Thêm, Lưu, Sửa, Xóa
 Thực hiện chức năng tìm kiếm khi bấm vào nút “Tìm Kiếm” 
Khi thực hiện chức năng này thì giao diện Tìm Kiếm sẽ được hiển thị như bên dưới(chú ý rằng chức năng này cho phép tìm kiếm tương đối)
Ví dụ: (Khi bấm nút Tìm kiếm trong công cụ tìm kiếm)
Người sử dụng nhập p02, hoặc 23 thì sẽ xuất ra toàn bộ đầu sách theo mã nhà xuất bản có chứa bất kỳ chuỗi p02, hoặc 23 
Gợi ý: Dùng từ khóa like và % trong câu truy vấn tìm kiếm tương đối
MODULE 6
Mục đích:
Thực hành về JSP. Module này giúp sinh viên làm quen với Javaservlet và JSP
Thiết kết Html sinh viên có thể sử dụng công cụ Microsoft Expression Web hoặc Dreamweaver
Để tạo Project JSP trong eclipse, chúng ta cần các công cụ sau:
Chương trình eclipse Java EE
Apache tomcat ver 7.0 (hoặc tùy …)
JDK version 6, 7 (hoặc tùy…)
Lab 1: Các bước tạo 1 project Web như sau (sinh viên làm theo lab này trước khi làm các bài tập bên dưới):
Giả sử ta cài tomcat vào “C:\Program Files\Apache Software Foundation\Tomcat 7.0”
Khởi động Eclipse Java EE để tạo Project
Bấm chuột phải vào Project Explorer / new/ chọn Dynamic Web Project
Sau khi chọn Dynamic Web Project
Cứ Chọn Next cho tới màn hình cuối cùng và chọn các thông số như hình sau đó bấm Finish:
Cấu trúc thư mục của project Web:
Để kết nối tới SQL Server, chúng ta làm bước sau (trước tiên phải có thư viện kết nối):
Có nhiều cách tham chiếu tới các thư viện, ở đây chúng ta làm theo cách tham chiếu kiểu gom nhóm các thư viện vào chung 1 chỗ cho tiện lợi, thực tế chúng ta hay làm theo cách này:
Bấm chuột phải vào Project/ chọn Build Path / chọn Configure Build Path…
Tại cửa sổ này, chúng ta chọn Add Library:
Chọn User Library và click Next:
Chọn User Libraries:
Chọn New để tạo nhóm thư viện:
Nhập tên thư viện và nhấn OK.
Tại cửa sổ này, chọn Libcuatui rồi click Add JARs…
Trong trường hợp này chúng ta sẽ trỏ tới thư viện kết nối Sqlserver, ở đây là gói sqljdbc4.jar. Chúng ta có thể tìm thấy nó ở bất cứ nơi đâu trên internet.
Bây giờ quan sát Project, chúng ta sẽ thấy thư viện vừa thêm vào:
Để chạy được, chúng ta đồng thời phải sao chép sqljdbc4.jar vào “C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib”
Ở đây chúng ta sẽ tạo một số class để tương tác tới cơ sở dữ liệu sql server
Class Account là mô hình hóa cơ sở dữ liệu thành hướng đối tượng: ở đây chỉ có mã, tên.
Class MyData có nhiệm vụ truy suất sqlserver và trả về ArrayList Account
Class Account:
Class MyData:
Tiếp tục, chúng ta tạo 1 trang web, tên là index.jsp để hiển thị danh sách Account:
Trang index.jsp:
Sau khi chạy, dữ liệu sẽ được hiển thị lên trang index.jsp như bên dưới.
Lab 2: Thao tác với JavaServlet
Tạo một Servlet tên là ProcessData để xử lý dữ liệu.
Chỉnh sửa thêm tập tin web.xml như bên dưới:
Trang web nào muốn tương tác tới servlet thì làm như sau:
Thuộc tính action của form chính là tên của servlet, method có 2 loại: Nếu ta chọn “post” thì hàm doPost của servlet sẽ thực thi, nếu ta chọn “get” thì hàm doGet của servlet sẽ thực thi.
Để lấy các giá trị của các control trên web, chúng ta dùng request.getParameter(“tên”)
Để triển khai ứng dụng web. Bấm chuột phải vào Project/ Export / WAR file
Tại màn hình này chúng ta Export vào thư mục webapps của apache tom cat.
Quan sát project QLThuvien sẽ được sinh ra từ QLThuvien.war trong webapps:
Muốn chạy :  . Với 8888 là port do ta chọn lúc cài đặt.
Bài tập 1: Quản lý thí sinh, Sinh viên phải làm trên Access và Sqlserver 2008
Cho CSDL có tên QLTS.mdb (sinh viên tự chuyển qua SQL server). Thiết kế bảng Thisinh co cấu trúc như hình
Nhập liệu vài mẫu tin thử
Tạo 1 ứng dụng Dynamic Web Project có tên QLTS. Thiết kế trang index.jsp sao cho khi chạy hiển thị danh sách thí sinh như hình sau:
Khi nhấn vào link Insert New sẽ cho phép người dùng nhập thông tin của 1 thí sinh và thêm vào CSDL như hình:
Khi nhấn link Edit sẽ cho phép người dùng hiệu chỉnh thông tin của thí sinh được chọn sau đó cập nhật xuống csdl
Khi nhấn Link Delete sẽ xóa thí sinh được chọn.
Gợi ý: kiến trúc dự án trong eclipse
Bài tập 2: Quản lý sinh viên. Sinh viên làm theo mẫu Lab này để làm quen với Servlet. Lab này làm ví dụ cho bài tập 1
- Chương cho phép hiển thị danh sách sinh viên
- Thêm mới sinh viên
- Chỉnh sửa thông tin sinh viên
- Xóa sinh viên
Dưới đây là một phần của thiết kế cơ sở dữ liệu quản lý sinh viên.
Cấu trúc Website trong Eclipse được tạo như sau:
Giải thích: 
Webcontent chứa các tập tin web jsp:
Trang index.jsp sẽ hiển thị danh sách sinh viên theo mẫu bên dưới:
Trang update.jsp/ newpage.jsp: Dùng để chỉnh sửa/ thêm mới sinh viên:
Trang deletepage.jsp : dùng để thực thi việc xóa 1 sinh viên theo mã.
Trong Java Resource có 4 package thực hiện các chức năng sau:
vn.edu.hui.connector : Dùng để tương tác trực tiếp tới cơ sở dữ liệu (Tạo connection, tạo Resultset, tạo Statement, update thông tin…)
vn.edu.hui.model : lưu trữ các class là mô hình hóa cơ sở dữ liệu thành hướng đối tượng
vn.edu.hui.dal : Dùng để tương tác với connector, kết hợp chặt chẽ với model.
vn.edu.hui.servlet : Servlet để xử lý các thông tin từ các trang Jsp gửi về.
Dưới đây là coding của các package ConnectorFactory:
package vn.edu.hui.connector;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectorFactory {
	public Connection getConnect()	{
	Connection conn=null;
	try {
	Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	conn =DriverManager.getConnection
 ("jdbc:sqlserver://localhost;databaseName=dbqlsv;user=sa;password=hoilamgi");
	} catch (Exception e) {
	e.printStackTrace();
	} 
	return conn;
	}
	public Statement createStatement()
	{
	Statement st=null;
	try {
	st = getConnect().createStatement();
	} catch (SQLException e) {
	e.printStackTrace();}
	return st;
	}
	public ResultSet execQuery(String sql)
	{
	ResultSet rs=null;
	try {
	rs=createStatement().executeQuery(sql);
	} catch (SQLException e) {
	e.printStackTrace();
	}
	return rs;
	}
	public int excecNonQuery(String sql)
	{
	Statement st=createStatement();
	int ret=0;
	try {
	ret = st.executeUpdate(sql);
	} catch (SQLException e) {
	e.printStackTrace();}
	return ret;
	}
}
Package Model
Package dal:
package vn.edu.hui.dal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import vn.edu.hui.connector.ConnectorFactory;
import vn.edu.hui.model.Sinhvien;
public class ProcessSinhvien {
	ConnectorFactory factor=null;
	public ProcessSinhvien()
	{
	factor=new ConnectorFactory();
	}
	public ArrayList getList()
	{
	ResultSet rs=factor.execQuery("select * from sinhvien");
	ArrayListlist=new ArrayList();
	try {
	while(rs.next())
	{
	Sinhvien sv=new Sinhvien(rs.getString("masinhvien"), rs.getString("tensinhvien"), rs.getString("malop"));
	list.add(sv);
	}
	} catch (SQLException e) {
	e.printStackTrace();
	}
	return list;
	}
	public Sinhvien getInfor(String masv)
	{
	Sinhvien sv=null;
	try
	{
	ResultSet rs=factor.execQuery("select * from sinhvien where masinhvien='"+masv+"'");
	rs.next();
	sv=new Sinhvien(rs.getString("masinhvien"), rs.getString("tensinhvien"), rs.getString("malop"));
	}
	catch(Exception ex)
	{
	ex.printStackTrace();
	}
	return sv;
	}
	public int update(Sinhvien sv)
	{
	int ret=0;
	String sql="update sinhvien set tensinhvien='"+sv.getTensinhvien()+"',malop='"+sv.getMalop()+"' where masinhvien='"+sv.getMasinhvien()+"'";
	ret=factor.excecNonQuery(sql);
	return ret;
	}
	public int insert(Sinhvien sv)
	{
	int ret=0;
	String sql="insert into sinhvien values('"+sv.getMasinhvien()+"','"+sv.getTensinhvien()+"','"+sv.getMalop()+"')";
	ret=factor.excecNonQuery(sql);
	return ret;
	}
	public int delete(Sinhvien sv)
	{
	int ret=0;
	String sql="delete from sinhvien where masinhvien='"+sv.getMasinhvien()+"'";
	ret=factor.excecNonQuery(sql);
	return ret;
	}
	public int delete(String masv)
	{
	int ret=0;
	String sql="delete from sinhvien where masinhvien='"+masv+"'";
	ret=factor.excecNonQuery(sql);
	return ret;
	}
}
Package xử lý update (java servlet):
Package xử lý thêm mới (java servlet):
Web.xml
Cách hiển thị nội dung lên trong index.jsp:
Trang chỉnh sửa (update.jsp – tương tự cho trang newpage.jsp)
Trang deletepage.jsp:

File đính kèm:

  • docxFinal_Java2_Excercise_2013.docx
Tài liệu liên quan