As what I can see from your code,
1. You have a HTML form inside a jsp page whose action is
http://localhost:8080/project2/addcart.
2. The URL
pattern "/addcart" is mapped to a Servlet
3. The Servlet does it processing in its doGet method as you invoke it via HTTP get method in the HTML form.
4. It executes a SQL query
5. It checks for the result set with an if-else for any valid rows being returned
6.
If there are any valid rows [while(rs.next()..] it forwards the control to /pages/items.jsp via RequestDispatcher.
7. If there are NO valid rows (else), it prints out an error message.
Now, you have to confirm whether you get the #7 above is executed or not. Are there any valid rows being returned? Execute your SQL query directly in the SQL Client and try to see.