# 404 Not found (Servlet)



## JavaCat++ (7. Jan 2018)

Hallo 

Also: Ich würde gerne meine eigene JavaEE-Anwendung schreiben. Ich nutze Linux Mint und als Server den Glassfish 4. Mein Eclipse ist Oxygen in der EE-Version.

Hier ein Bild meiner Order-Struktur:



Ich möchte halt gerade teste, dass sich ein Kunde anmelden kann. Also die Index-HTML wird auch gefunden (habe noch kein CSS eingebunden, daher sieht das noch nicht so toll aus ):



Wenn ich auf registrieren klicke, kommt das:



Wenn ich jetzt auf Absenden klicke, soll halt dieses Servlet aufgerufen werden:


```
package de.java2enterprise.onlineshop;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class RegisterServlet
*/
@WebServlet(urlPatterns = "/register")
public class RegisterServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * Default constructor.
     */
    public RegisterServlet() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       
        response.setContentType("text/html;charset=UTF-8");
       
        final String email = request.getParameter("email");
        final String password = request.getParameter("password");
       
        final PrintWriter out = response.getWriter();
       
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<body>");
        out.println("<br> Ihre Eingaben");
        out.println("<br> EMail: " + email);
        out.println("<br> EMail: " + password);
        out.println("</body>");
        out.println("</html>");
       
    }

}
```

Hier die Register-HTML:


```
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
    <link rel="stylesheet" href="css/styles.css">
       <title>Onlineshop</title>
    </head>
    <body>
        <header>
            <hgroup>
            <h1 class="title">Onlineshop</h1>
            </hgroup>
            <nav>
              <a href="index.html">Home</a>
              <a href="register.html">Registrieren</a>
              <a href="signin.html">Einloggen</a>
              <a href="sell.html">Verkaufen</a>
              <a href="search.html">Suchen</a>
            </nav>
    </header>
    <form action="register" method="post">
    <fieldset>
    <legend>Registrieren</legend>
    <table>
        <tbody>
        <tr>
            <th>
                <label for="email">Email:</label>
            </th>
            <td>
                <input
                    type="email"
                    name="email"
                    size="40"
                    maxlength="40"
                    title="muster@beispiel.de"
                    placeholder="E-Mail eingeben"
                    pattern=".{6,40}"
                    required="required">
            </td>
        </tr>
        <tr>
            <th>
                <label for="password">
                    Password:
                </label>
            </th>
            <td>
                <input
                    type="password"
                    name="password"
                    size="10"
                    maxlength="10"
                    title="6-10 Zeichen"
                    placeholder=
                        "Passwort eingeben"
                    pattern=".{6,10}"
                    required="required">
            </td>
        </tr>
        <tr>
            <td/><td>
                <input type="submit">        
                <input type="reset">        
            </td>
        </tr>
    </tbody>
    </table>
    </fieldset>
    </form>

    <footer>
            Copyright
    </footer>
    </body>
</html>
```

Ich habe keine Web.XML geschrieben, da ich es nur mit den Annotationen machen möchte. 
Nun habe ich 2 Fragen:

Warum kann Eclipse nicht die Bibliotheken auflösen? Ich habe als ich das Java-Enterprise-Application-Project angelegt habe diesem das Webproject onlineshop-war zugeordnet. Und dem Java-Enterprise-Application-Project habe ich den Glassfish zugeordnet und dort sind doch die Bibliotheken hinterlegt, oder? D.h. die Verbindung müsste er auflösen können?

Und die zweite Frage: Warum kann er das Servlet nicht finden? Liegt das vielleicht daran, weil er die Verbindungen nicht auflösen kann?

Danke!


----------



## krgewb (13. Jan 2018)

Mir fiel gerade auf: Du hast

```
<form action="register" method="post">
```
anstelle von

```
<form action="register.html" method="post">
```


----------

