16 Aralık 2021 Perşembe

Servlet HttpServletRequest Arayüzü

Giriş
Eski kodlarda şu satırı dahil ederiz.
import javax.servlet.http.HttpServletRequest;
Yeni kodlarda yani Jakarta'da şu satırı dahil ederiz
import jakarta.servlet.http.HttpServletRequest;
getContentType metodu

Multipart post metodlarında kullanılabilir. Şöyle yaparız.
if (request.getContentType() != null)
  Part filePart = request.getPart("file");
getCookies metodu
Cookie dizisi döner. Şöyle yaparız.
Cookie[] cookies = request.getCookies();
if (cookies != null)
  for (int i = 0; i < cookies.length; i++) {
    ...
  }
}
getHeader metodu
Şöyle yaparız.
String headerName = ...;
String headerValue = request.getHeader (headerName);
Şöyle yaparız.
String AUTHENTICATION_HEADER = "Authorization";
String authCredentials = request.getHeader(AUTHENTICATION_HEADER);
getHeaderNames metodu
Http Header'larına erişmek için kullanırız. Şöyle yaparız.
Enumeration<String> headerNames = request.getHeaderNames ();
while ( headerNames.hasMoreElements () )
{
  String headerName = headerNames.nextElement ();
  String headerValue = request.getHeader (headerName);  
}
getInputStream metodu
Şöyle yaparız.
ServletInputStream inputStream = request.getInputStream();
getPart metodu
javax.servlet.http.Part döner.
Örnek
Elimizde şöyle bir form olsun.
<form action='?hasScenario=1' method='post' enctype='multipart/form-data'>
  <input type='file' name='file'/>
  <input type='submit' />
</form>
Servlet multipart html isteklerini anlayacak şekilde ayarlanır. Şöyle yaparız.
<servlet>
  <description>Scenario</description>
  <servlet-name>Scenario</servlet-name>
  <servlet-class>path-to-the-servlet</servlet-class>
  <multipart-config>
    <max-file-size>3145728</max-file-size>
    <max-request-size>5242880</max-request-size>
  </multipart-config>
</servlet>
<servlet-mapping>
  <servlet-name>Scenario</servlet-name>
  <url-pattern>/scenario</url-pattern>
</servlet-mapping>
Şöyle yaparız.
if (request.getContentType() != null)
  Part filePart = request.getPart("file");
getParameter metodu
doGet() ve doPost() metodlarında kullanılabilir. İstemci tarafından gönderilen veridir.
Örnek
Şöyle yaparız
request.getParameter("myparameter");
Örnek
Sonuç için kontrol yapmak iyi fikir. Şöyle yaparız.
String pr = request.getParameter("priority");
if(!pr.isEmpty())
{
  int priority = Integer.parseInt(pr);
  ...
}
Örnek
Elimizde şöyle bir form olsun
<form action="hello" >
  <input type="hidden" value="100" name="id"/>
input type="submit"/>
name alanına erişmek için şöyle yaparız.
int i=Integer.parseInt(request.getParameter("id"));
getParameterMap metodu
Şöyle yaparız
Map<String,String[]> params = request.getParameterMap();
getRequestDispatcher metodu
RequestDispatcher nesnesi döner. Şöyle yaparız.
RequestDispatcher rd = request.getRequestDispatcher("/jsp/index.jsp")
getScheme metodu
Şöyle yaparız.
String serverAddress = String.format(
          "%s://%s:%d",
          request.geScheme(),
          request.getServerName(),
          request.getServerPort());
getServername metodu
Şöyle yaparız
HttpServletRequest req = ...;
String url = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort()
  + req.getContextPath();
getSession metodu
Açıklaması şöyle.
When we use HttpServletRequest.getSession() method and it creates a new request, it
creates the new HttpSession object and also add a Cookie to the response object with
name JSESSIONID and value as session id. This cookie is used to identify the HttpSession
object in further requests from client. 
Şöyle yaparız.
HttpSession session = request.getSession();
isUserInRole metodu
Şöyle yaparız.
if(request.isUserInRole("admin"){...}
isSecure metodu
Şöyle yaparız.
if(request.isSecure() {...}
login metodu
Şöyle yaparız.
HttpServletRequest request = ...;

String username = request.getParameter("username");
String password = request.getParameter("password");
try {       
  request.login(username, password); // Exceptions happen.
  ...
} catch (Exception e) {
  e.printStackTrace();
}

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