Node.js dan Tomcat ialah dua pelayan berbeza, masing-masing sesuai untuk pembangunan bahagian hadapan dan bahagian belakang. Pembangun bahagian hadapan sering menggunakan Node.js untuk membina aplikasi dan tapak web, dan pembangun bahagian belakang sering menggunakan Tomcat untuk membina aplikasi web Java. Tiada sambungan langsung antara kedua-dua pelayan, jadi beberapa persediaan khas diperlukan apabila meminta Tomcat melalui Node.js.
Pertama, untuk menggunakan Node.js untuk meminta Tomcat, anda perlu menggunakan modul http. Dalam Node.js, modul http menyediakan fungsi teras untuk membina pelayan HTTP dan aplikasi klien. Oleh itu, sebelum menggunakan Node.js untuk meminta Tomcat, anda perlu memastikan bahawa modul http telah dipasang.
Kedua, untuk Node.js menyambung ke Tomcat, CORS perlu didayakan dalam fail konfigurasi Tomcat. CORS (Cross-Origin Resource Sharing) ialah mekanisme yang membolehkan aplikasi web dalam satu domain menggunakan sumber dalam domain lain. Pada pelayan Tomcat, kaedah mengkonfigurasi CORS adalah sangat mudah Anda hanya perlu menambah kandungan berikut pada fail web.xml Tomcat:
<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> <init-param> <param-name>cors.allowed.origins</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>cors.allowed.methods</param-name> <param-value>GET, POST, HEAD, OPTIONS, PUT, DELETE, PATCH</param-value> </init-param> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Kod di atas akan membenarkan permintaan HTTP daripada mana-mana sumber dan sokongan. Kaedah GET, POST, HEAD, OPTIONS, PUT, DELETE dan PATCH.
Selepas konfigurasi selesai, anda boleh menggunakan Node.js untuk menghantar permintaan kepada Tomcat. Berikut ialah contoh kod untuk Node.js menghantar permintaan GET:
const http = require('http'); const options = { hostname: 'localhost', port: 8080, path: '/your/tomcat/path', method: 'GET' } const req = http.request(options, res => { console.log(`statusCode: ${res.statusCode}`) res.on('data', d => { process.stdout.write(d) }) }) req.on('error', error => { console.error(error) }) req.end()
Dalam kod di atas, objek pilihan mengandungi butiran permintaan, termasuk alamat dan nombor port Tomcat, laluan permintaan, dan kaedah permintaan ( GET, POST, dll.). Objek req dikembalikan daripada fungsi http.request() dan boleh digunakan untuk menghantar permintaan kepada Tomcat. Hasil permintaan dihantar melalui fungsi panggil balik semula dan output ke konsol menggunakan process.stdout.write().
Selain permintaan GET, anda juga boleh menggunakan Node.js untuk menghantar permintaan POST. Berikut ialah contoh kod untuk Node.js menghantar permintaan POST:
const http = require('http'); const data = JSON.stringify({ message: 'Hello, Tomcat!' }) const options = { hostname: 'localhost', port: 8080, path: '/your/tomcat/path', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': data.length } } const req = http.request(options, res => { console.log(`statusCode: ${res.statusCode}`) res.on('data', d => { process.stdout.write(d) }) }) req.on('error', error => { console.error(error) }) req.write(data) req.end()
Dalam kod di atas, objek data mengandungi data yang akan dihantar, yang disiri menggunakan JSON.stringify(). Selain sifat yang sama seperti permintaan GET, objek pilihan juga termasuk pengepala permintaan (Jenis Kandungan dan Panjang Kandungan) untuk menunjukkan jenis dan panjang data yang dihantar. Seperti permintaan GET, hasil permintaan POST dihantar melalui fungsi panggil balik res.
Perkara di atas ialah kaedah asas menggunakan Node.js untuk meminta Tomcat, dan kod sampel ini boleh disesuaikan dengan kebanyakan situasi. Walau bagaimanapun, ia perlu diubah suai atau ditambah mengikut situasi tertentu semasa menggunakannya.
Atas ialah kandungan terperinci Bagaimanakah nodejs meminta tomcat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!