WebHU - Programozási kérdések és válaszok

Szervlet hívása HTML űrlapból [másolat]

Problémáim vannak a webalkalmazásomban lévő html űrlap Servlethez való csatlakoztatásával. Íme a html fájl:

<form method="post" class="/Login" action="/Login">
		<fieldset class="textbox">
						
                      <label class="textbox_field">
                        <span>Username or Email</span>
                        <input id="username" name="username" value="" type="text" autocomplete="on" placeholder="Username">
                      </label>

                      <label class="textbox_field">
                        <span>Password</span>
                        <input id="password" name="password" value="" type="password" placeholder="Password">
                      </label>

                      <button class="submit_button" type="submit">Sign-In</button>
                </fieldset>
</form>

És itt van a servlet, Login néven:

 @WebServlet("/Login")
    public class Login extends HttpServlet {
        private static final long serialVersionUID = 1L;

    public Login() {
        super();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("in doPost...");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

        String username = request.getParameter("username");
        String pass = request.getParameter("password");

        if(Validate.checkUser(username, pass))
        {
            RequestDispatcher rs = request.getRequestDispatcher("Welcome");
            rs.forward(request, response);
        }
        else
        {
           out.println("Username or Password incorrect");
           RequestDispatcher rs = request.getRequestDispatcher("index.html");
           rs.include(request, response);
        }
    }

}

Nem szerkesztettem a web.xml fájlt, mivel a "Servlet 3.0-val a szervleteket a @WebServlet annotációval lehet konfigurálni az osztályon anélkül, hogy web.xml-re lenne szükség". Nyilván javíts ki, ha félreértettem ezt a kijelentést.

Végül itt van egy részlet a Project Explorerből, vegye figyelembe, hogy a home.jsp az a fájl, amelyben az űrlap található:

adja meg itt a kép leírását

Megjegyzés: Sajnos a stackoverflow-ra vonatkozó más hasonló kérdésekben megadott megoldások az én esetemben nem működnek.

14.07.2015

  • Próbáltad már <form method="post" class="/Login" action="/Login">-et <form method="post" class="/Login" action="Login">-ra cserélni, a különbség csak a action="Login" résznél van, a többi ugyanaz. 14.07.2015
  • Igen, megtettem, de még mindig nem működik. Megpróbáltam meghívni a servlet doGet metódusát is, és jól működik. A form+doPost teljesen halott. 14.07.2015
  • módosítsa a ` ‹button class=submit_button type=submit›Sign-In‹/button›` értéket a következőre: <input type="submit" value="Sign-in"/> 14.07.2015

Válaszok:


1

A beviteli típus gombot le kell cserélni egy elküldésre.

<input type="submit" value="Submit"/>
14.07.2015
  • Csak módosítsa a @WebServlet(/Login) értéket @WebServlet(Login) értékre, és ennek rendben kell lennie. 14.07.2015
  • Amikor ezt teszem, életciklus-kivételt kapok: Nem sikerült elindítani a [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Project_Name]] összetevőt 15.07.2015
  • Nem tudom, én Eclipse Mars-t használok, és itt tökéletesen működik. 15.07.2015
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..