Lisäservlettien käyttöönotto 25.02
webforJ reitittää kaikki pyynnöt WebforjServletin kautta, joka on oletuksena kartoitettu /* web.xml:ssä. Tämä servletti hallitsee komponenttien elinkaarta, reititystä ja käyttöliittymän päivityksiä, jotka voimaannuttavat webforJ-sovellustasi.
Joissakin skenaarioissa saatat tarvita lisäservlettejä webforJ-sovelluksen rinnalle:
- Kolmansien osapuolien kirjastojen integroiminen, jotka tarjoavat omia servlettejä
- REST API:en tai webhookien toteuttaminen
- Tiedostojen latausten käsittely mukautetulla käsittelyllä
- Legacy-servlet-pohjaisen koodin tukeminen
webforJ tarjoaa kaksi lähestymistapaa mukautettujen servlettien käyttöönottoon sovelluksen rinnalla:
The webforj-adding-servlets skill can add REST endpoints, webhooks, and custom servlets. After installing the webforJ AI plugin, ask your assistant:
- "Add a REST endpoint at /api/orders."
- "Wire up a webhook handler for Stripe."
- "Mount Swagger UI at /api/docs."
Lähestymistapa 1: WebforjServletin uudelleenreititys
Tässä lähestymistavassa WebforjServlet uudelleenreititetään /* -polusta tiettyyn polkuun, kuten /ui/*, vapauttaen URL-nimensivälin mukautetuille servleteille. Vaikka tämä vaatii web.xml:n muokkaamista, se antaa mukautetuille servleteille suoran pääsyn omiin URL-malleihinsa ilman mitään välikäsiä.
<web-app>
<!-- WebforjServlet on uudelleenreititetty käsittelemään vain /ui/* -->
<servlet>
<servlet-name>WebforjServlet</servlet-name>
<servlet-class>com.webforj.servlet.WebforjServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WebforjServlet</servlet-name>
<url-pattern>/ui/*</url-pattern>
</servlet-mapping>
<!-- Mukautettu servletti omalla URL-mallilla -->
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>com.example.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/hello-world</url-pattern>
</servlet-mapping>
</web-app>
Tällä konfiguraatiolla:
- webforJ-komponentit ovat käytettävissä osoitteessa
/ui/ - Mukautettu servletti käsittelee pyyntöjä
/hello-world - Ei välikäsiä - suora servlettikonttorin reititys
Kun käytät webforJ:ta Spring Bootin kanssa, ei ole web.xml -tiedostoa. Sen sijaan konfiguroi servlettireititys application.properties-tiedostossa:
webforj.servlet-mapping=/ui/*
Tämä ominaisuus uudelleenreitittää WebforjServletin oletus /* -sarjasta /ui/* -sarjaan, vapauttaen URL-nimensivälin mukautetuille servleteille. Älä sisällytä lainausmerkkejä arvon ympärille - niitä tulkitaan osana URL-mallia.
Lähestymistapa 2: WebforjServletin proxy-konfiguraatio
Tässä lähestymistavassa WebforjServlet pysyy /* -polussa ja mukautetut servleteet konfiguroidaan webforj.conf:ssa. WebforjServlet keskeyttää kaikki pyynnöt ja proxytoi vastaavat mallit mukautetuille servleteille.
Vakio web.xml -konfiguraatio
<servlet>
<servlet-name>WebforjServlet</servlet-name>
<servlet-class>com.webforj.servlet.WebforjServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WebforjServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- Mukautettu servletti omalla URL-mallilla -->
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>com.example.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/hello-world</url-pattern>
</servlet-mapping>
</web-app>
webforJ.conf -konfiguraatio
servlets: [
{
class: "com.example.HelloWorldServlet",
name: "hello-world",
config: {
foo: "bar",
baz: "bang"
}
}
]
Tällä konfiguraatiolla:
WebforjServletkäsittelee kaikki pyynnöt- Pyyntöjä
/hello-worldproksataanHelloWorldServletille - Valinnainen
config-avain tarjoaa nimi/arvo-pareja servletin alustamisparametreiksi