16 Aralık 2021 Perşembe

Servlet ServletContext Arayüzü

Giriş
Şu satırı dahil ederiz
import javax.servlet.ServletContext;
Açıklaması şöyle.
One ServletContext object is created by web container per web Application. This object is used to get information from web.xml
Açıklaması şöyle
ServletContext is a bit different. It is quite badly named, and you'd better think of it as "Application scope".

It is an application-wide scope (think "map") that you can use to store data that is not specific to any user, but rather belongs to the application itself. It is commonly used to store reference data, like the application's configuration.

Bu sınıfı elde etmek için servlet içinde getServletContext() çağrısı yapılır. Şöyle yaparız.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  ServletContext context = getServletContext();
  // ...
}
getInitParameter metodu
context-param tag'leri arasındaki değerleri okumak içindir. Elimizde şöyle bir web.xml olsun.
<web-app>  
  ....
  <context-param>  
    <param-name>paramName</param-name>  
    <param-value>paramValue</param-value>  
  </context-param>  
  ...
</web-app>  
Şöyle yaparız.
//creating ServletContext object  
ServletContext context=getServletContext();  

//Getting the value of the initialization parameter and printing it  
String paramName=context.getInitParameter("paramName"); 
getRealPath metodu
Şöyle yaparız.
ServletContext context = ...;
File folder = new File(context.getRealPath("/") + File.separator + "scripts");
getVirtualServerName metodu
Eğer eski bir servlet jar'ını kullanıyorsak genellikle bu metod yüzünden hata alırız. Hata mesajında böyle bir metodun olmadığına dair şu satır vardır.
javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
Açıklaması şöyle.
getVirtualServerName() was added in Servlet 3.1, but you included servlet-api-2.5.jar is your application.
setSessionTracking metodu
Şöyle yaparız.
ServletContext servletContext = ...;
servletContext.setSessionTrackingModes(Collections.singleton(
  SessionTrackingMode.URL));

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...