LornMalvo
LornMalvo

Reputation: 37

Servlets & IntelliJ

I created a test project under Intellij to start Java EE with Tomcat.

My server starts well, no worries aside.

I created a Servlet which contains my HTML code, as well as doPost and getPost.

When I want to run the servlet, the server launches fine but I end up with a blank page.

An idea ?

Code :

    package com.octest.servlets;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "Test")
public class Test extends HttpServlet {
    protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType ("text/html");
        response.setCharacterEncoding ("UTF-8");

        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta charset=\"utf-8\" />");
        out.println("<title>Test</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>Bonjour !</p>");
        out.println("</body>");
        out.println("</html>");
    }

    protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

Et le web.xml :


    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 
            xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
        <servlet>
            <servlet-name>Test</servlet-name>
            <servlet-class>com.octest.servlets.Test</servlet-class>
        </servlet>
        
        <servlet-mapping>
            <servlet-name>Test</servlet-name>
            <url-pattern>/app</url-pattern>
        </servlet-mapping>
    </web-app>

Thanks

Upvotes: 0

Views: 414

Answers (1)

Hitesh A. Bosamiya
Hitesh A. Bosamiya

Reputation: 371

The browser will make a GET request but your HTML page is in doPost method. You need to keep this page inside doGet method.

Upvotes: 1

Related Questions