无法通过web.xml从index.html调用/映射到servlet - 错误 - 404

时间:2014-02-04 00:29:12

标签: jsp servlets http-status-code-404

    I am creating a simple servlet on spring tool set / eclips but am failing to run it. on running 
    the project, i am able to see my index home page html and click on the link for my jsp but fail
    to get to the servlet link. i have attached the web.xml file which has the paths. i am 
    confused 

              1. what should i put  in servlet-name 
              2. what should i put  in servlet-class  
              3. what should i put  in url-patter 
              4. Is there is any relation between the index.html file and web.xml file.
              5. Finally what is my servlet-class supposed to hold?

我的index.html拥有: ====================

<ul>
          <li>To a <a href="HellBoy.jsp">JSP page</a>.
          <li>To a <a href="/HellBoy">HelloWorldServlet</a>.
      </ul>

我的web.xml包含: =================

  <servlet>  
    <servlet-name>HellBoyServlet</servlet-name>
    <servlet-class>com.ravi.servlet.HellBoy</servlet-class>
 </servlet>


<servlet-mapping>
    <servlet-name>HellBoServlet</servlet-name>
    <url-pattern>/Hell</url-pattern>
</servlet-mapping>
    -----------------------------------------
  • servlet本身位于src / com.ravi.servlet /目录中并被调用 HellBoy.java

  • 在运行时,我会看到我的索引页面,但我只能成功点击 HREF = “HellBoy.jsp”        到servlet的链接,href =“/ HellBoy”---- F A I L S ---给出错误 - HTTP状态404 -
           / HELLBOY /地狱

  • 很抱歉这是一个愚蠢的问题,但我一直在网上搜索 整个星期的解决方案:(


3 个答案:

答案 0 :(得分:1)

你必须在web.xml中输入这样的

      <servlet>
        <description> desc</description>
        <display-name>HelloBoy</display-name>
        <servlet-name>HelloBoy</servlet-name>
        <servlet-class>com.abc.xyz.HelloBoy</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>HelloBoy</servlet-name>
        <url-pattern>/HelloBoy</url-pattern>
      </servlet-mapping>

如果您在IDE中使用eclipse然后直接创建新的servlet,它将自动在web.xml中创建所有条目

答案 1 :(得分:0)

servlet的URL应为http:// {host} / {appname} / Hell。

如果你想从/ HellBoy http:// {host} / {appname} / HellBoy链接你的servlet访问,你应该

<servlet-mapping>
    <servlet-name>HellBoServlet</servlet-name>
    <url-pattern>/HellBoy</url-pattern>
</servlet-mapping>

答案 2 :(得分:0)

的index.html

  • 请勿在{{1​​}}属性中写/HellBoy
  • 此处提供与href匹配的名称,在本例中为<url-pattern>
  • 无需更改Hell

更改为

web.xml

  

我应该把什么放在servlet-name

<li>To a <a href="Hell">HelloWorldServlet</a> 必须与<servlet-name><servlet>匹配。

  

我应该把什么放在servlet-class

servlet的完全限定名称

  

我应该在url-patter中加入什么

您希望的网址格式。

对于所有问题,请仔细阅读The Java EE 6 Tutorial Chapter 15 Java Servlet Technology