Java EE 8 SDK |
This is a simple Servlet application that demonstrate the usage of HTTP trailer API.
Servlet
The servlet consumes HTTP trailer from request and produces HTTP trailer for the response.
@WebServlet("/test") public class TestServlet extends HttpServlet { protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { ... if (req.isTrailerFieldsReady()) { MapreqTrailerFields = req.getTrailerFields(); size = reqTrailerFields.size(); foo = reqTrailerFields.get("foo"); } ... res.setTrailerFields(new Supplier<Map<String, String>>() { @Override public Map<String, String> get() { Map<String, String> map = new HashMap<>(); map.put("bar", finalFoo + finalSize); return map; } }); ... } }
javax.servlet.http.HttpServletRequest.getTrailerFields
is used to consume the request trailer. javax.servlet.http.HttpServletResponse.setTrailerFields
is used to produce the response trailer.
ClientServlet
is included to produce a chunked transfer encoding request with HTTP trailer and extract the HTTP trailer for the response from the TestServlet
above.
Deployment Descriptor
By using annotations, the deployment descriptor is no longer required.
GlassFish Server Specific Deployment Configuration
There is no need to define any GlassFish Server deployment descriptor
(glassfish-web.xml
) for this sample.
Follow these instructions for building, deploying, and running this sample application:
app_dir
is the sample application base
directory: samples_install_dir/servlet/trailer-war
.
Change directory to app_dir.
mvn
target:
Use the command below to run this sample using the Cargo framework:
app_dir>
mvn clean verify cargo:run
You can point Cargo to an already installed and running Glassfish server:
app_dir> mvn clean verify cargo:run -Dglassfish.home=$<glassfish_dir>
(e.g. ../glassfish5)
You can also build, deploy the sample application without Cargo:
app_dir> mvn install
app_dir> asadmin deploy ./target/<app_name>.war
http://<javaee.server.name>:<javaee.server.port>/trailer-war
bar: A1
app_dir>
asadmin undeploy <app_name>
clean
to remove the temporary directories
like /target.
app_dir> mvn
clean
Perform the following steps to build, deploy, and run the application using NetBeans IDE:
samples_install_dir/servlet/
directory, select trailer-war
, and click Open Project.trailer-war
and select Run to build, deploy, and run the project.If you have problems when running the application, refer the troubleshooting document.
Copyright © 2017 Oracle and/or its affiliates. All rights reserved.