<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    JSP Servlet Mapping
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/shelleyb">Shelley Baker</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/message/619707#619707">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>When mapping a servlet to a <tt>jsp-file</tt> rather than a <tt>servlet-class</tt> on JBoss AS 7, the servlet is marked as unavailable due to the following exception: "<tt>javax.servlet.ServletException: No servlet class has been specified for servlet jsp</tt>."</p><pre class="jive-pre"><code class="jive-code">12:29:36,992 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jsp-test]] (MSC service thread 1-10) Servlet /jsp-test threw load() exception: javax.servlet.ServletException: No servlet class has been specified for servlet jsp
&#160;&#160;&#160; at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1149) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
&#160;&#160;&#160; at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
&#160;&#160;&#160; at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
&#160;&#160;&#160; at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
&#160;&#160;&#160; at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.0.Final.jar:7.0.0.Final]
&#160;&#160;&#160; at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)
&#160;&#160;&#160; at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)
&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
&#160;&#160;&#160; at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
</code></pre><p style="margin-top: 1em;">The servlet mapping is as follows in my 2.5 web deployment descriptor:</p><pre class="jive-pre"><code class="jive-code jive-xml">&#160;&#160;&#160; <span class="jive-xml-tag">&lt;servlet&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;servlet-name&gt;</span>jsp<span class="jive-xml-tag">&lt;/servlet-name&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;jsp-file&gt;</span>/jsp.jspx<span class="jive-xml-tag">&lt;/jsp-file&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/servlet&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;servlet-mapping&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;servlet-name&gt;</span>jsp<span class="jive-xml-tag">&lt;/servlet-name&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;url-pattern&gt;</span>/jsp<span class="jive-xml-tag">&lt;/url-pattern&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/servlet-mapping&gt;</span>
</code></pre><p style="margin-top: 1em;">The servlet specification allows servlets to be mapped to <em>either</em> a <tt>servlet-class</tt> or <tt>jsp-file</tt>, so the web.xml itself is valid. I'm wondering why the exception seems to indicate that a servlet class must be specified.&#160; Also note that this code deploys and runs correctly on Tomcat 7 and WAS 7. Is there something else that I need to configure to allow this servlet to load?</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/619707#619707">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>