Search code examples
jspforward

jsp:forward servlet link Tomcat 8 error


I'm Developing Web Application based on JSP and trying to connect to a Servlet with Tomcat 8. Apparently All of my code is correct and I've searched in google but there isn't any good results a part of the same tha I've added to my code.

Please, I need help beacuse I can't see where is the error. Thanks!

My Index.jsp page:

<%@ page import="java.util.ArrayList"%>
<%@ page import="app.negocio.GestionLibreria"%>
<%@ page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="styles/miestilo.css">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script type="text/javascript">


        </script>        
    </head>
    <body>
        <div id="header">
            <div id="header-inner">
                <div id="logo">
                    <a href="/" class>
                        <img src="http://image.casadellibro.com/t1/i/logo-img.png" id="logo-img"
                    </a>
                    <a href="/" class>
                        <img src="http://image.casadellibro.com/t1/i/logo-txt.png" id="logo-txt"
                    </a>
                </div>
                <div id="nav-a">
                    <div id="datos-registro">


                    </div>
                </div>
                <div id="nav-b">
                    <div id="nav-b-inner">
                        <ul id="nav03" class="delayed-hover">
                            <li class="dropdown" id="item01"><a href="controlador?" title="Libros">Libros</li>
                            <li class="dropdown" id="item02"><a href="/editoriales" title="Ebooks">Editoriales</li>     
                        </ul>  
                    </div>
                </div>
                <div id="header sub">
                </div>
            </div>
        </div>
        <div id="body">
            <jsp:forward page="/Servlet?">
                <jsp:param name="option" value="1"/>
            </jsp:forward>
            <% List<String> lista = new ArrayList<>();
                lista = (List<String>) request.getAttribute("list2");%>


            <div id="div-table">
                <table id="gridLibros-table">
                    <tr>
                        <td><%= lista.size()%></td>
                        <td>Jackson</td>        
                        <td>94</td>
                        <td>94</td>
                    </tr>
                    <tr>
                        <td>Eve</td>
                        <td>Jackson</td>        
                        <td>94</td>
                        <td>94</td>
                    </tr>
                    <tr>
                        <td>John</td>
                        <td>Doe</td>        
                        <td>80</td>
                        <td>94</td>
                    </tr>
                </table>
            </div>
        </div>
    </body>
</html>

Servlet.java

package app.web;

        import java.io.IOException;
        import java.util.ArrayList;
        import java.util.List;
        import javax.servlet.RequestDispatcher;
        import javax.servlet.ServletException;
        import javax.servlet.annotation.WebServlet;
        import javax.servlet.http.HttpServlet;
        import javax.servlet.http.HttpServletRequest;


    import javax.servlet.http.HttpServletResponse;



        public class Servlet extends HttpServlet {

        public Servlet() {
            super();
            // TODO Auto-generated constructor stub
        }

        private void procesar(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

            String op = request.getParameter("option");

            if ("1".equals(op)) {

                List<String> lista = new ArrayList<>();
                lista.add("number1");
                lista.add("number2");

                request.setAttribute("todos", list);

                RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
                rd.forward(request, response);
            }

        }

        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
         * response)
         */
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            procesar(request, response);
        }

        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
         * response)
         */
        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            procesar(request, response);
        }

    }

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.1" 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_3_1.xsd">
    <display-name>Web_project3</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Servlet</servlet-name>
        <servlet-class>app.web.Servlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet</servlet-name>
        <url-pattern>/Servlet</url-pattern>
    </servlet-mapping>
      <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

The error response page:

Estado HTTP 500 - Ha sucedido una excepción al procesar la página JSP /index.jsp en línea 49


type Informe de Excepción

mensaje Ha sucedido una excepción al procesar la página JSP /index.jsp en línea 49

descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.

excepción
org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la página JSP /index.jsp en línea 49

46:             </div>
47:         </div>
48:         <div id="body">
49:             <jsp:forward page="/ServletLibreria?">
50:                 <jsp:param name="option" value="1"/>
51:             </jsp:forward>
52:             <% List<String> lista = new ArrayList<>();


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:454)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


causa raíz
org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la página JSP /index.jsp en línea 49

46:             </div>
47:         </div>
48:         <div id="body">
49:             <jsp:forward page="/Servlet?">
50:                 <jsp:param name="option" value="1"/>
51:             </jsp:forward>
52:             <% List<String> lista = new ArrayList<>();


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:454)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    app.web.ServletLibreria.procesar(ServletLibreria.java:49)
    app.web.ServletLibreria.doGet(ServletLibreria.java:60)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:741)
    org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:711)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:144)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:431)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Solution

  • Finally I've solved the problem and sincerelly There are not clear signals of what has been the main cause of it. I've created a new project, and carefully deploy the same code step by step. I'm using Netbeans 8.02 and Tomcat 8.01.

    Thank you so much Everybody!!!