AJAX là một cái tên gây hiểu lầm. Các ứng dụng AJAX có thể sử dụng XML để truyền dữ liệu, nhưng việc truyền dữ liệu dưới dạng văn bản thuần túy hoặc văn bản JSON cũng phổ biến không kém
AJAX cho phép các trang web được cập nhật không đồng bộ bằng cách trao đổi dữ liệu với máy chủ web đằng sau hậu trường. Điều này có nghĩa là có thể cập nhật các phần của trang web mà không cần tải lại toàn bộ trang
Thẩm quyền giải quyết. "Apache Tomcat 7. 0 Cách thực hiện nguồn dữ liệu JNDI" @ http. // mèo to. apache. org/tomcat-7. 0-doc/jndi-datasource-examples-howto. html
Tôi cho rằng bạn đã quen thuộc với Tomcat và MySQL. Nếu không, hãy đọc "Cách cài đặt và bắt đầu với Tomcat" và "Cách cài đặt và bắt đầu với MySQL". Tôi sẽ biểu thị thư mục đã cài đặt của Tomcat và MySQL là $CATALINA_HOME
và $MYSQL_HOME
một cách tương ứng
Tạo một kết nối cơ sở dữ liệu mới cho mỗi yêu cầu của khách hàng là không hiệu quả, do chi phí cao liên quan đến việc mở/duy trì/đóng kết nối. Thay vào đó, chúng tôi thường thiết lập một nhóm kết nối cơ sở dữ liệu, duy trì một số kết nối cơ sở dữ liệu. Một chương trình phía máy chủ, để đáp ứng yêu cầu của máy khách, chọn một kết nối đã được tạo từ nhóm. Sau khi yêu cầu hoàn thành, kết nối không bị đóng mà được quay trở lại nhóm để xử lý yêu cầu tiếp theo
Để định cấu hình Tomcat/MySQL để hỗ trợ Nhóm kết nối cơ sở dữ liệu [DBCP]
Bước 1. Trình điều khiển cơ sở dữ liệu MySQL - Sao chép tệp jar của Trình kết nối MySQL/J Trình điều khiển JDBC [e. g. ,
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];0] thành "
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];1" của Tomcat, tôi. e. ,
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];2
Bước 2. Tạo ứng dụng web - Hãy bắt đầu một ứng dụng web mới có tên là
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];3" để kiểm tra tổng hợp kết nối cơ sở dữ liệu. Tạo một thư mục "
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];4" trong
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];5. Tạo các thư mục con "_______0_______6" và "
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];7" dưới gốc ngữ cảnh "
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];4". Tạo các thư mục con "_______0_______9", "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable0" và "
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];1" trong "
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];6"
Bước 3. Định cấu hình Nguồn dữ liệu JNDI - Tiếp theo, chúng ta sẽ định cấu hình Nguồn dữ liệu JNDI [Giao diện thư mục và đặt tên Java] trong "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable3". Đối với cấu hình dành riêng cho ứng dụng, hãy lưu nó dưới "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable4". Đối với cấu hình toàn máy chủ, hãy đặt phần tử
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable5 bên dưới
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable5 trong
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable7
Cấu hình trên khai báo một tên tài nguyên JNDI có tên là "_______10_______8" tương ứng với kết nối MySQL "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable9"
Kiểm tra cơ sở dữ liệu-url, tên người dùng và mật khẩu. Tôi sẽ giả sử rằng máy chủ MySQL đang chạy trên số cổng mặc định là 3306, với "
Test Database Connection Pooling0" là cơ sở dữ liệu mặc định. Cơ sở dữ liệu chứa một bảng tên làResults
${row.author} ${row.title}
Test Database Connection Pooling1, với 5 cột.Results
${row.author} ${row.title}
Test Database Connection Pooling2,Results
${row.author} ${row.title}
Test Database Connection Pooling3,Results
${row.author} ${row.title}
Test Database Connection Pooling4,Results
${row.author} ${row.title}
Test Database Connection Pooling5 vàResults
${row.author} ${row.title}
Test Database Connection Pooling6, như minh họa bên dướiResults
${row.author} ${row.title}
Database: ebookshop Table: books +-------+----------------------------+---------------+---------+-------+ | id | title | author | price | qty | | [INT] | [VARCHAR[50]] | [VARCHAR[50]] | [FLOAT] | [INT] | +-------+----------------------------+---------------+---------+-------+ | 1001 | Java for dummies | Tan Ah Teck | 11.11 | 11 | | 1002 | More Java for dummies | Tan Ah Teck | 22.22 | 22 | | 1003 | More Java for more dummies | Mohammad Ali | 33.33 | 33 | | 1004 | A Cup of Java | Kumar | 44.44 | 44 | | 1005 | A Teaspoon of Java | Kevin Jones | 55.55 | 55 | +-------+----------------------------+---------------+---------+-------+
Bạn có thể sử dụng tập lệnh SQL sau để thiết lập cơ sở dữ liệu
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];
Bước 4. Cấu hình "web. xml" - Tiếp theo, định cấu hình bộ mô tả triển khai của ứng dụng trong "
Test Database Connection Pooling7", với nguồn dữ liệu tham chiếu tên tài nguyên JNDI "Results
${row.author} ${row.title}
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable8" được xác định trước đó
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container Shareable
Bước 5. JSP với Connection Pooling - Hãy viết một trang JSP để truy vấn cơ sở dữ liệu với connection pooling như sau. Lưu mã dưới dạng "
Test Database Connection Pooling9" trong "Results
${row.author} ${row.title}
create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books [ id int, title varchar[50], author varchar[50], price float, qty int, primary key [id]]; insert into books values [1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11]; insert into books values [1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22]; insert into books values [1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33]; insert into books values [1004, 'A Cup of Java', 'Kumar', 44.44, 44]; insert into books values [1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55];4"
Test Database Connection PoolingResults
${row.author} ${row.title}
Trang JSP này sử dụng các thẻ tiêu chuẩn JSTL, yêu cầu "
-- change directory to "hellodbcp\WEB-INF\classes" d:...> cd \$CATALINA_HOME\webapps\helloservlet\WEB-INF\classes -- Compile the source specifying the destination directory d:\$CATALINA_HOME\webapps\hellodbcp\WEB-INF\classes> javac -d . ..\src\mypkg\MySQLDbcpServlet.java1" và "
-- change directory to "hellodbcp\WEB-INF\classes" d:...> cd \$CATALINA_HOME\webapps\helloservlet\WEB-INF\classes -- Compile the source specifying the destination directory d:\$CATALINA_HOME\webapps\hellodbcp\WEB-INF\classes> javac -d . ..\src\mypkg\MySQLDbcpServlet.java2". Bạn có thể sao chép các tệp jar từ "______35_______3" vào "
-- change directory to "hellodbcp\WEB-INF\classes" d:...> cd \$CATALINA_HOME\webapps\helloservlet\WEB-INF\classes -- Compile the source specifying the destination directory d:\$CATALINA_HOME\webapps\hellodbcp\WEB-INF\classes> javac -d . ..\src\mypkg\MySQLDbcpServlet.java4"
Để gọi trang JSP. Khởi động máy chủ Tomcat và MySQL và cấp URL
-- change directory to "hellodbcp\WEB-INF\classes" d:...> cd \$CATALINA_HOME\webapps\helloservlet\WEB-INF\classes -- Compile the source specifying the destination directory d:\$CATALINA_HOME\webapps\hellodbcp\WEB-INF\classes> javac -d . ..\src\mypkg\MySQLDbcpServlet.java5. Tôi sẽ cho rằng Tomcat đang chạy trên cổng số 8080
Bước 6. Servlet với nhóm kết nối - Hãy viết một servlet có tên "
-- change directory to "hellodbcp\WEB-INF\classes" d:...> cd \$CATALINA_HOME\webapps\helloservlet\WEB-INF\classes -- Compile the source specifying the destination directory d:\$CATALINA_HOME\webapps\hellodbcp\WEB-INF\classes> javac -d . ..\src\mypkg\MySQLDbcpServlet.java6" sử dụng nhóm kết nối cơ sở dữ liệu như sau
Lưu "________ 35 _______7" trong "________ 35 ______ 8". Sử dụng các lệnh sau để biên dịch chương trình [để đặt các lớp đã tạo vào thư mục thích hợp được mô tả bởi cấu trúc gói]
-- change directory to "hellodbcp\WEB-INF\classes" d:...> cd \$CATALINA_HOME\webapps\helloservlet\WEB-INF\classes -- Compile the source specifying the destination directory d:\$CATALINA_HOME\webapps\hellodbcp\WEB-INF\classes> javac -d . ..\src\mypkg\MySQLDbcpServlet.java
Định cấu hình servlet bằng cách tạo bộ mô tả triển khai trong "
Test Database Connection Pooling7"Results
${row.author} ${row.title}
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp
Để gọi servlet. Khởi động máy chủ Tomcat và MySQL và cấp URL
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp0
Một MVC EBookShop với Servlet, JSP và JavaBeans được triển khai trong Tomcat
MVC [Model-View-Control] là một mẫu thiết kế [hoặc khung] nhằm mục đích tách logic ứng dụng [Điều khiển] và dữ liệu [Mô hình] khỏi bản trình bày [Chế độ xem]
Hãy để chúng tôi minh họa khung MVC bằng một ví dụ về Cửa hàng sách điện tử. Trong ví dụ này, JavaBeans [các lớp Java đặc biệt] được sử dụng làm mô hình dữ liệu để ẩn các hoạt động dữ liệu cơ bản [e. g. , hoạt động cơ sở dữ liệu]; . Theo dõi phiên HTTP được bật thông qua đối tượng
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp1
Chúng tôi sẽ gọi ứng dụng web của chúng tôi là "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp2"
Tôi giả định rằng bạn sử dụng một IDE, chẳng hạn như NetBeans hoặc Eclipse, để phát triển ứng dụng web. Một IDE cải thiện đáng kể năng suất của bạn. Nó cũng cho phép gỡ lỗi
[Dành cho người dùng NetBeans] Tạo ứng dụng web có tên "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp2"
- Từ menu "Tệp" ⇒ chọn "Dự án mới. "
- Trong "Chọn dự án" ⇒ Trong "Danh mục", chọn "Java Web" ⇒ Trong "Dự án", chọn "Ứng dụng web" ⇒ "Tiếp theo"
- Trong "Name and Location" ⇒ Trong "Project Name", nhập "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp
2" ⇒ Trong "Project Location", chọn một thư mục phù hợp để lưu tác phẩm của bạn ⇒ Chọn "Set as Main Project" ⇒ Next - Trong "Máy chủ và cài đặt" ⇒ Chọn máy chủ Tomcat của bạn hoặc "thêm" máy chủ Tomcat mới ⇒ Chọn "Phiên bản Java EE" mới nhất ⇒ Trong "Đường dẫn ngữ cảnh", sử dụng "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp
5" ⇒ Tiếp theo - Trong "Khung" ⇒ Không chọn gì cho ứng dụng servlet/JSP thuần túy ⇒ Kết thúc
Thay vì sử dụng cơ sở dữ liệu quan hệ [chẳng hạn như MySQL] để lưu trữ dữ liệu, chúng ta sẽ đơn giản hóa vấn đề bằng cách sử dụng một lớp Java có tên là
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp6 để lưu trữ tất cả sách của chúng ta, như sau. Chúng tôi sẽ giữ tất cả các lớp Java của chúng tôi trong một gói có tên là
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp7
[Dành cho người dùng NetBeans] Mở rộng trên nút dự án của bạn ⇒ Nhấp chuột phải vào "Gói nguồn" ⇒ Mới ⇒ Lớp Java. ⇒ Nhập "
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp8" vào Tên Lớp;
Chúng tôi cần duy trì một giỏ hàng, đó là một
eBookShop mypkg.ControllerServlet eBookShop /shopping0 của
eBookShop mypkg.ControllerServlet eBookShop /shopping1. Giỏ hàng được đặt bên trong một
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp1 thông qua thuộc tính "
eBookShop mypkg.ControllerServlet eBookShop /shopping3"Bộ điều khiển. "Bộ điều khiển Servlet. Java"
Chúng tôi sẽ xác định một URL "______56_______4" cho
eBookShop mypkg.ControllerServlet eBookShop /shopping5
Bộ điều khiển phục vụ các chức năng này
- Nó là điểm vào của ứng dụng web. Người dùng web phát hành
eBookShop mypkg.ControllerServlet eBookShop /shopping
6 để khởi động ứng dụng web - Đối với lần truy cập đầu tiên, nó khởi tạo một
DB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp
1, duy trì giỏ hàng thông qua thuộc tính "eBookShop mypkg.ControllerServlet eBookShop /shopping
3". Sau đó, nó sẽ gửi đến "eBookShop mypkg.ControllerServlet eBookShop /shopping
9" [Controller mypkg.ControllerServlet Controller /shopping 30 shopping
0] - Trang "_______56_______9" hiển thị sách và giỏ hàng. Người dùng có thể thêm hoặc xóa sách vào/ra khỏi giỏ hàng [thông qua tham số yêu cầu "
Controller mypkg.ControllerServlet Controller /shopping 30 shopping
2" hoặc "_______66_______3"] hoặc thanh toán [thông qua "Controller mypkg.ControllerServlet Controller /shopping 30 shopping
4"]. "______66_______5" gửi tới bộ điều khiển này - Đối với "
Controller mypkg.ControllerServlet Controller /shopping 30 shopping
2" và "Controller mypkg.ControllerServlet Controller /shopping 30 shopping
3", bộ điều khiển cập nhật giỏ hàng [được lấy từDB Connection Pool jdbc/TestDB javax.sql.DataSource Container MySQLDbcpExample mypkg.MySQLDbcpServlet MySQLDbcpExample /trydbcp
1] và gửi đến "eBookShop mypkg.ControllerServlet eBookShop /shopping
9" để mua sắm thêm. Đối với "Controller mypkg.ControllerServlet Controller /shopping 30 shopping
4", bộ điều khiển tính toán tổng số và gửi tới "$CATALINA_HOME
1"
[NetBeans] Mở rộng trên nút dự án của bạn ⇒ Nhấp chuột phải vào "Gói nguồn" ⇒ Mới ⇒ Khác ⇒ Trong "Danh mục", chọn "Web" ⇒ Trong "Loại tệp", chọn "Servlet" ⇒ Trong "Tên lớp", nhập . xml]" ⇒ Trong "Mẫu URL", nhập "_______56_______4" ⇒ "Hoàn tất"
Trong $CATALINA_HOME
5, ánh xạ servlet này tới mẫu URL
eBookShop mypkg.ControllerServlet eBookShop /shopping4
eBookShop mypkg.ControllerServlet eBookShop /shopping
Ghi chú. Trong servlet 3. 0 [Tomcat 7], bạn có thể sử dụng chú thích $CATALINA_HOME
7 [được chú thích ngoài] để định cấu hình mẫu URL thay vì sử dụng $CATALINA_HOME
5
Lưu ý rằng JSP xử lý chế độ xem [bản trình bày]. Các mã khá nhẹ về phía trước. [TODO more]
Cấu hình "web. xml"Trong "$CATALINA_HOME
9", định cấu hình đường dẫn URL "$MYSQL_HOME
0" cho "$MYSQL_HOME
1";
Controller mypkg.ControllerServlet Controller /shopping 30 shoppingChạy ứng dụng Web
Bắt đầu Tomcat và đưa ra URL $MYSQL_HOME
3 [sử dụng trang chào mừng của thư mục] hoặc
eBookShop mypkg.ControllerServlet eBookShop /shopping6
[Đối với người dùng NetBeans] Nhấp chuột phải vào dự án ⇒ "Làm sạch và xây dựng" ⇒ "Triển khai" [lưu ý URL của ứng dụng web] ⇒ "Chạy"
MVC với cơ sở dữ liệu MySQL
Hãy để chúng tôi viết lại ứng dụng trên với dữ liệu được duy trì trong cơ sở dữ liệu MySQL. Hãy gọi ứng dụng mới của chúng ta là "______85_______5"