Cách gửi dữ liệu từ trang html đến cơ sở dữ liệu trong java?

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$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
      Shareable
   

0" 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
      Shareable
   

3". Đố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
      Shareable
   

4". Đố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
      Shareable
   

5 bên dưới
 
   
      DB Connection Pool
      jdbc/TestDB
      javax.sql.DataSource
      Container
      Shareable
   

5 trong
 
   
      DB Connection Pool
      jdbc/TestDB
      javax.sql.DataSource
      Container
      Shareable
   

7

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
      Shareable
   

9"

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 "

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
0" là cơ sở dữ liệu mặc định. Cơ sở dữ liệu chứa một bảng tên là
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
1, với 5 cột.
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
2,
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
3,
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
4,
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
5 và
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
6, như minh họa bên dưới

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 "

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
7", với nguồn dữ liệu tham chiếu tên tài nguyên JNDI "
 
   
      DB Connection Pool
      jdbc/TestDB
      javax.sql.DataSource
      Container
      Shareable
   

8" đượ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 "

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
9" 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);
4"

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${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.java
1" 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.java
2". 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.java
4"

Để 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.java
5. 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.java
6" 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 "

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

 
 

Test Database Connection Pooling

  

Results

${row.author} ${row.title}
7"

 
   
      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
      /trydbcp
   
 
0

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
      /trydbcp
   
 
1

Cách gửi dữ liệu từ trang html đến cơ sở dữ liệu trong java?
Tạo một ứng dụng web mới

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
      /trydbcp
   
 
2"

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
      /trydbcp
   
 
2"

  1. Từ menu "Tệp" ⇒ chọn "Dự án mới. "
  2. 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"
  3. 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
  4. 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
  5. Trong "Khung" ⇒ Không chọn gì cho ứng dụng servlet/JSP thuần túy ⇒ Kết thúc
Thiết kế
Cách gửi dữ liệu từ trang html đến cơ sở dữ liệu trong java?
Mô hình. Cơ sở dữ liệu sách - "BookDB. Java"

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
      /trydbcp
   
 
6 để 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
      /trydbcp
   
 
7

(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
      /trydbcp
   
 
8" vào Tên Lớp;

"Giỏ hàngSản phẩm. Java"

Chúng tôi cần duy trì một giỏ hàng, đó là một


    
        eBookShop
        mypkg.ControllerServlet
    
    
        eBookShop
        /shopping
    
0 của

    
        eBookShop
        mypkg.ControllerServlet
    
    
        eBookShop
        /shopping
    
1. Giỏ hàng được đặt bên trong một
 
   
      DB Connection Pool
      jdbc/TestDB
      javax.sql.DataSource
      Container
   
 
   
      MySQLDbcpExample
      mypkg.MySQLDbcpServlet
   
 
   
      MySQLDbcpExample
      /trydbcp
   
 
1 thông qua thuộc tính "

    
        eBookShop
        mypkg.ControllerServlet
    
    
        eBookShop
        /shopping
    
3"

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
        /shopping
    
5

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_HOME1"

(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_HOME5, ánh xạ servlet này tới mẫu URL


    
        eBookShop
        mypkg.ControllerServlet
    
    
        eBookShop
        /shopping
    
4


    
        eBookShop
        mypkg.ControllerServlet
    
    
        eBookShop
        /shopping
    

Ghi chú. Trong servlet 3. 0 (Tomcat 7), bạn có thể sử dụng chú thích $CATALINA_HOME7 (được chú thích ngoài) để định cấu hình mẫu URL thay vì sử dụng $CATALINA_HOME5

Khung nhìn. Trang đặt hàng - "đặt hàng. jsp"
Khung nhìn. Trang thanh toán - "thanh toán. jsp"

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_HOME9", định cấu hình đường dẫn URL "$MYSQL_HOME0" cho "$MYSQL_HOME1";


    
        Controller
        mypkg.ControllerServlet
    
    
        Controller
        /shopping
    

    
        
            30
        
    

    
        shopping
    
Chạy ứng dụng Web

Bắt đầu Tomcat và đưa ra URL $MYSQL_HOME3 (sử dụng trang chào mừng của thư mục) hoặc


    
        eBookShop
        mypkg.ControllerServlet
    
    
        eBookShop
        /shopping
    
6

(Đố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"

Làm cách nào để gửi dữ liệu từ trang HTML đến cơ sở dữ liệu bằng Java?

Tạo một biểu mẫu trong tệp HTML, nơi lấy tất cả các đầu vào cần thiết để chèn dữ liệu vào cơ sở dữ liệu. Chỉ định tên servlet trong đó, với phương thức POST vì bảo mật là khía cạnh quan trọng trong kết nối cơ sở dữ liệu. Gửi dữ liệu (có xác thực) vì tất cả dữ liệu cần thiết đã được chèn vào

Làm cách nào để gửi dữ liệu từ HTML đến cơ sở dữ liệu?

Trường hợp sử dụng. Tạo một đơn đặt hàng mới .
Xác định truy vấn. Chúng tôi sẽ xác định hai truy vấn. .
Tạo lược đồ XML. .
Tạo biểu mẫu. .
Liên kết đến cơ sở dữ liệu. .
Xác định truy vấn SQL. .
Tạo một lược đồ XML. .
Tạo biểu mẫu. .
Liên kết đến cơ sở dữ liệu

Làm cách nào để chuyển các giá trị từ HTML sang lớp Java?

Mã HTML. tên tài khoản. < input type="text" name="username" /> Mật khẩu. < kiểu nhập = "mật khẩu" tên = "mật khẩu" />
Hình ảnh hiện trường
Mã Java trong servlet. Chuỗi tên người dùng = yêu cầu. getParameter("tên người dùng" ); . getParameter("mật khẩu");.
đầu ra

Làm cách nào để kết nối HTML và Java với SQL?

Kết nối kết nối = DriverManager. getConnection("jdbc. mysql. //máy chủ cục bộ. 3306/databaseName", "tên người dùng", "mật khẩu"); Câu lệnh câu lệnh = kết nối. createStatement();