Sobes.tech
Junior

Kokius veiksmus reikia atlikti, norint sukurti servleto?

sobes.tech AI

Atsakymas iš AI

  1. Sukurkite klasę, įgyvendinančią javax.servlet.Servlet sąsają arba iš jos paveldinčią (pavyzdžiui, javax.servlet.GenericServlet arba javax.servlet.http.HttpServlet).
  2. Perrašykite servleto gyvavimo ciklo metodus (pavyzdžiui, init(), service(), destroy()). HTTP servlets dažnai perrašo doGet(), doPost() ir kt. metodus, skirtus atitinkamų HTTP metodų apdorojimui.
  3. Registruokite servletą žiniatinklio programoje. Tai galima padaryti viena iš šių būdų:
    • Naudojant @WebServlet anotaciją servlet klasėje, nurodant servleto pavadinimą ir URL šablonus, kuriais jis bus pasiekiamas.
    • Konfigūruojant servletą web.xml diegimo aprašyme naudojant <servlet> ir <servlet-mapping> elementus.
  4. Supakuokite servletą ir kitus žiniatinklio programos išteklius (HTML, JSP, statinius failus) į WAR failą.
  5. Išdiegkite WAR failą į taikomąjį serverį (pavyzdžiui, Tomcat, WildFly, Jetty).

Pavyzdys HTTP servleto klasės:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "HelloWorldServlet", urlPatterns = {"/hello"})
public class HelloWorldServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html"); // Nustatome turinio tipą
        PrintWriter out = response.getWriter(); // Gaukite rašytoją atsakymui

        out.println("<html>");
        out.println("<head><title>Hello World</title></head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

web.xml konfigūracijos pavyzdys:

<!-- web.xml -->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>HelloWorldServletXml</servlet-name>
        <servlet-class>com.example.HelloWorldServlet</servlet-class> <!-- Nurodykite pilną klasės pavadinimą -->
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorldServletXml</servlet-name>
        <url-pattern>/hello-xml</url-pattern> <!-- URL šablonas -->
    </servlet-mapping>

</web-app>