To try this recipe, perform the following steps:
- Write this simple servlet:
@WebServlet(name = "LifecycleServlet",
urlPatterns = {"/LifecycleServlet"})
public class LifecycleServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
try(PrintWriter writer = resp.getWriter()){
writer.write("doGet");
System.out.println("doGet");
}
}
@Override
protected void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
try(PrintWriter writer = resp.getWriter()){
writer.write("doPost");
System.out.println("doPost");
}
}
@Override
protected void doDelete(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
try(PrintWriter writer = resp.getWriter()){
writer.write("doDelete");
System.out.println("doDelete");
}
}
@Override
protected void doPut(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
try(PrintWriter writer = resp.getWriter()){
writer.write("doPut");
System.out.println("doPut");
}
}
@Override
public void init() throws ServletException {
System.out.println("init()");
}
@Override
public void destroy() {
System.out.println("destroy");
}
}
Once it is deployed to your Jakarta EE server, I suggest you try it using a tool such as SoapUI or similar. It will allow you to send requests using GET, POST, PUT, and DELETE. The browser would only do GET.
- If you do that, your system log will look just like this:
Info: init(ServletConfig config)
Info: doGet
Info: doPost
Info: doPut
Info: doDelete
- If you undeploy your application, it will look as follows:
Info: destroy