Eerste Servlet
Deze JSP tutorial gaat over hoe het web.xml bestand werkt (de mapping-url, servlet-name en servlet-class tags komen aan bod) en hoe een Servlet er uit ziet.
Het is belangrijk dat alle pagina’s orderlijk gesorteerd zitten in mappen. We gaan een mappenstructuur opmaken die er als volgt uitziet:
- Src
- Model
- Beans
- Servlet
- Eenservlet.java
- Nogeenservlet.java
- Web
- WEB-INF
- Web.xml
- Eenpagina.jsp
- Nogeenpagina.jsp
- WEB-INF
De JAVA code gaat allemaal in de src map terecht komen en de html pagina’s met speciale tags in komen in de web map.
Het web.xml bestand is een zeer belangrijk bestand, dit zorgt ervoor dat de server je servlets kan identificeren. Hierin kan je aangeven welke servlets op welke moment moeten aangeroepen worden.
Een voorbeeldje:
<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app xmlns=”http://java.sun.com/xml/ns/javaee“
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“
version=”2.5“>
<servlet>
<servlet-name>EersteServlet</servlet-name>
<servlet-class>servlets.EersteServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>EersteServlet</servlet-name>
<url-pattern>/eersteservlet.do</url-pattern>
</servlet-mapping>
</web-app>
De servlet-class geeft aan in welke map de map servlet zit met de naam EersteServlet. Het servlet-mapping gedeelte zal ervoor zorgen dat erlke verwijzing naar /eersteservlet.do (die tussen url-pattern staat) zal doorgegeven worden aan deze servlet.
Er zijn veel verschillende manieren waarop een servlet kan aangeroepen worden maar we beginnen bij de eenvoudigste en ook de default: GET. Als onze web.xml eruit ziet zoals hierboven en we surfen naar localhost/eersteservlet.do dan zal de doGet methode van de EersteServlet worden uitgevoerd. Deze kan er Ā bijvoorbeeld als volgt uitzien:
package servlets;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletException;
import java.io.IOException;
public class EersteServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect("verkoop.jsp");
}
}
Dan zal deze servlet ervoor zorgen dat bij het aanroepen van die url er naar verkoop.jsp wordt verwezen. Binnen deze doGet methode kan er natuurlijk veel meer worden gedaan, er kan bv. input van de gebruiker worden verwerkt, data opgeslagen worden zodat deze door een jsp-file kan gelezen worden, enz.