Servlets and JSP

Configuring Welcome File List for a Java EE Web Application

We can configure a set of default file names to be loaded when request is made to a directory path using the DDs <welcome-file-list> element. Each file can be put inside a <welcome-file> element. The file can be a servlet mapping path, a jsp or even a static html file.

List of useful methods of ServletResponse and HttpServletResponse

ServletResponse Interface

ServletResponse encapsulates basic properties of a response independent of protocol and provide output streams to write content to client, independent of protocol.

There are two response streams

  1. Java.io.OutputStream for binary data

  2. Java.io.writer for character data

Note:

  • Only one of these two may be used or will get IllegalStateException.

List of useful methods of ServletRequest and HttpServletRequest

ServletRequest Interface

Below methods work with the metadata properties carried by requests:

  1. String getCharacterEncoding()

  2. Int getContentLength()

  3. String getContentType()

  4. Enumeration getLocales()

  5. Locale getLocale()

  6. String getProtocol () E.g. HTTP/1.1

  7. String getScheme() E.g.: http, https, ftp etc.

HttpServletRequest and HttpServletResponse in Servlets

There are four main entities involved in the HTTP request-response model:

  1. Client
  2. Web container
  3. Request
  4. Response

We will learn about request and response here.

 

Container provides us with two objects corresponding to request and response, encapsulating the request details and an empty response object when a request is received. These object interfaces also contain many convenience methods. These are passed through the service method of the servlet, which will then pass to us through the doXXX methods.

 

[Demo] Simple Servlet Filter and Servlet FilterChain

Filters are pluggable classes that stand between the client and a target component (like a servlet or JSP), within a web application. We can do pre or post processing of request/response data while it is coming from client to a servlet or from the servlet back to a client. 

Create a Servlet TargetServlet with URL Pattern as “/TargetServlet” and print some content to console from its doGet method. Code for TargetServlet is given in the end.

Now create a filter that will have the same url pattern for the servlet.

Pages

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)