16 Aralık 2021 Perşembe

Servlet @WebServlet Anotasyonu

Giriş
Eski kodlarda şu satırı dahil ederiz
import javax.servlet.annotation.WebServlet;
Yeni kodlarda yani Jakarta'da şu satırı dahil ederiz
import jakarta.servlet.annotation.WebServlet;
Maven
Eğer sadece Jakarta Web Profile kullanacaksak Şu satırı dahil ederiz
<dependency>
  <groupId>jakarta.platform</groupId>
  <artifactId>jakarta.jakartaee-web-api</artifactId>
  <version>9.0.0</version>
  <scope>provided</scope>
</dependency>
Eğer tüm Jakarta'yı kullanacaksak şu satırı dahil ederiz
<dependency>
  <groupId>jakarta.platform</groupId>
  <artifactId>jakarta.jakartaee-api</artifactId>
  <version>9.1.0</version>
  <scope>provided</scope>
</dependency>
Eğer Servlet 3.0 uyumlu bir sunucumuz varsa servlet-mapping yerine annotation kullanabiliriz.
Bu durumda XML ayarları koda taşınır.

description alanı
Şöyle yaparız.
@WebServlet(
  name = "OpenSourceMapCtrl",
  description = "Open Source Map Main Controller",
  urlPatterns = {"/callMasterDateHandler"}
)
public class MainAppCtrl extends HttpServlet{
...
}
name alanı
Örnek
Bu alan mecburi olduğu için şöyle de olur
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/world")
public class HelloServlet extends HttpServlet {

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
    resp.getOutputStream().println("Hello World");
  }
}
Örnek
Şöyle yaparız.
@WebServlet(
        name="login",
        urlPatterns = {"/login","sites/login","login"}
)
public class LoginServlet extends HttpServlet{

  public LoginServlet(){
    super();
  }

  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
    ...
    }

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
    ...
  }

  public void init(ServletConfig config)throws ServletException{
    ...
  }
}
urlPattern Alanı
Şöyle yaparız.
@WebServlet("/")
public class IndexPageServlet extends HttpServlet {

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
  throws ServletException, IOException {
    ...
  }
}

Hiç yorum yok:

Yorum Gönder

Bean Validation @GroupSequence Anotasyonu

Örnek Elimizde şöyle bir kod olsun public class SampleRequest {   @NotNull   LocalDate startDate;   @NotNull   LocalDate endDate;   @AssertT...