【问题标题】:error in Creating new project under webapps tomcat在 webapps tomcat 下创建新项目时出错
【发布时间】:2014-11-06 12:10:09
【问题描述】:

如何在 tomcat webapps 文件夹中创建一个新项目来运行 Servlet?

我遵循了许多教程中提到的确切模式。即使我从 webapps(默认 'examples' project )复制整个项目,并以不同的名称放在同一个地方(webapps)。

但是当我尝试从浏览器 (http:\localhost:8080\FIRST\MyServlet) 调用它时,我收到与 HTTP Status 404 The requested resource is not available. 相同的错误p>

我在这里做错了什么,或者我必须在 tomcat 的某个地方提及新项目的名称??

有人可以帮我解决这个问题吗?

我已将我的 Servlet 文件放入 webapps->first->WEB-INF->classes MyServlet.class

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MyServlet extends GenericServlet
{
    public void service(ServletRequest req , ServletResponse res)
            throws IOException, ServletException
    {
        res.getWriter().write("<html><body>Hello</body> </html>");
    }
}

这是我的web.xml 文件,位于 webapps->first->WEB-INF->web.xml

web.xml

<servlet>
      <servlet-name>MyServlet</servlet-name>
      <servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>MyServlet</servlet-name>
      <url-pattern>/MyServlet</url-pattern>
</servlet-mapping>

【问题讨论】:

  • 把你的代码放在这里,这可能对我们有帮助。
  • 在 web.xml 文件中正确映射您的上下文。
  • @Killer 我不认为他的代码与他的问题有关
  • 所以你认为我们不需要检查他的web.xml,对吧...... ???
  • @Killer 我不会说web.xml 是代码,但它可能是有用的信息,没错

标签: java servlets


【解决方案1】:

目录是对的,试试这样调用:

http:\localhost:8080\FIRST\MyFirstServlet\

而不是

http:\localhost:8080\FIRST\MyFirstServlet 

【讨论】:

  • MyFirstServlet是在webapps下吗?
  • 没有,很抱歉,它的 MyServlet 不是 MyFirstServlet webapps->first->WEB-INF->classes->MyServlet
  • 调用这个`http:\localhost:8080\FIRST\`会得到什么?
  • 我收到此错误。 404 , 请求的资源不可用。
【解决方案2】:

你需要说出 Servlet 在哪里的 tomcat。因此,编辑您的 WEB-INF/web.xml 文件并添加:

<servlet>
    <servlet-name>your-servlet</servlet-name>
    <servlet-class>your.package.servlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>your-servlet</servlet-name> <!-- the same as above ! -->
    <url-pattern>/your_servlet</url-pattern>
</servlet-mapping>

请注意,Servlet 的类应该在WEB-INF/classes/ 文件夹中,具有完整的包结构。

如果您不想进行硬编码,可以使用 Eclipse JavaEE 为您生成此文件。两种情况都不要忘记重启服务器!

【讨论】:

  • 你重启服务器了吗?
  • 是的.. 这是我的 web.xml MyServletMyServletMyServlet/MyServlet
  • http:\localhost:8080\FIRST\MyFirstServlet........您点击的网址是尝试点击您的配置中不存在的 MyFirstServlet .尝试点击 MyServlet
  • 对不起..这是我的错误..我像这样点击 http:\localhost:8080\FIRST\MyServlet
  • @JayVyas 那么 Amit 的解决方案是否有效,还是您仍然得到 404?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 2019-01-27
  • 2014-07-09
  • 1970-01-01
相关资源
最近更新 更多