【问题标题】:Servlet Mapping failsServlet 映射失败
【发布时间】:2011-11-17 09:55:33
【问题描述】:

现在我有以下问题: 我正在尝试使用 Tomcat 7 和 JSP 创建一个网站。 但我无法正确配置服务器。 我想要一个在浏览器地址栏中显示类似 mydomain.com/about 的网站,而没有任何 *.jsp 或 *.html。 为了实现这一点,我有一个由 JSP-Page 调用的重定向 Bean,它解析请求的 URI 并返回应该转发到的 JSP-File 的路径。问题是 web.xml 中的 servlet 映射 在那里,我尝试为例如创建一个 servlet 映射。 /about 映射到调用 bean 的 redirect.jsp。问题是,我收到以下异常:

javax.servlet.ServletException: 没有为 servlet 重定向指定 servlet 类

这是web.xml的代码:

<servlet-mapping>
    <servlet-name>redirect</servlet-name>
    <url-pattern>/engine</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>redirect</servlet-name>
    <url-pattern>/about</url-pattern>
</servlet-mapping>

顺便说一句:index.jsp 被正确调用是因为它在欢迎文件列表中。问题是重定向到其他站点而不在地址栏中显示它们的路径。

也许有一种方法可以在 Javabean 中转发。这可以通过 servlet 映射中的&lt;servlet-class&gt;-tag 调用。

提前感谢您的帮助! 最大

【问题讨论】:

    标签: jsp tomcat servlets web.xml


    【解决方案1】:

    没有为 servlet 重定向指定 servlet 类

    这个错误只是意味着在web.xmllike中没有定义名称为redirect的servlet

    <servlet>
        <servlet-name>redirect</servlet-name>
        <servlet-class>com.example.YourServletClass</servlet-class>
    </servlet>
    

    <servlet>
        <servlet-name>redirect</servlet-name>
        <jsp-file>/redirect.jsp</jsp-file>
    </servlet>
    

    相应地修复您的web.xml


    与具体问题无关,我建议使用单个 Filter 和一些(XML?)配置文件来代替。 Tuckey's URL rewrite filter 之类的东西,与 Apache HTTPD 的 mod_rewrite 非常相似。

    【讨论】:

      【解决方案2】:

      对不起, 这只是 web.xml 中的一个块

      <servlet>
          <servlet-name>redirect</servlet-name>
          <description>The main redirection thing</description>
          <jsp-file>/jsp/redirect.jsp</jsp-file>
      </servlet>
      
      <servlet-mapping>
          <servlet-name>redirect</servlet-name>
          <url-pattern>/engine</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
          <servlet-name>redirect</servlet-name>
          <url-pattern>/about</url-pattern>
      </servlet-mapping>
      

      不是解决方案。 我很确定,需要一个定义 servlet 的节点。 但正如我所说,我需要一个 JSP 文件。

      【讨论】:

        猜你喜欢
        • 2015-03-01
        • 2011-11-01
        • 2013-10-09
        • 2018-12-14
        • 1970-01-01
        • 1970-01-01
        • 2020-12-16
        • 2017-09-12
        • 2012-01-20
        相关资源
        最近更新 更多