2014-07-20 120 views
0

说实话,我是一名学习者,这是我第一次使用servlet程序。 我做了基本的servlet和龙头安装Tomcat的版本6,甚至Tomcat的版本8 服务器正常启动时,我能看到Tomcat要去Apache Tomcat错误http状态404

http://localhost:8080 

但登录到Tomcat管理器启动后页当我在我的文件夹名称,单击它给了我一个错误说

http状态404- /在线/(网上是在web应用中创建文件夹,我的)

类型状态报告

消息/在线/

说明请求的资源不可用。

这里是我的代码

web.xml->(文件夹online-> WEB-INF)

- <web-app> 
- <servlet> 
    <servlet-name>FirstServlet</servlet-name> 
    <servlet-class>FirstServlet</servlet-class> 
    </servlet> 
- <servlet-mapping> 
    <servlet-name>FirstServlet</servlet-name> 
    <url-pattern>/FirstServlet</url-pattern> 
    </servlet-mapping> 
    </web-app> 

FirstServlet.java->

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

class FirstServelet implements Servlet 
{ 
    public void init(ServletConfig config) 
    { 

    } 

    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException 
    { 
     PrintWriter out; 
     out=response.getWriter(); 
     out.println("hello"); 
     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>MY First Servlet</title>"); 
     out.println("</head>"); 
     out.println("<body>"); 
     out.println("<marquee>ban ja tar pls</marquee>"); 
     out.println("</body>"); 
     out.println("</html>"); 

    } 

    public String getServletInfo() 
    { 
     return null; 
    } 

    public ServletConfig getServletConfig() 
    { 
     return null; 
    } 

    public void destroy() 
    { 

    } 
} 

请解决404错误

+0

你正在击中'http:// localhost:8080/online'对吗? – Braj

+0

'扩展HttpServlet'来创建你自己的servlet而不是'implements Servlet' – Braj

回答

0

问题是你没有welcome-file-list,我认为默认页面是index.html,我想是不在你的文件夹中。您可以提供任何html或jsp文件作为默认文件,但不是如下所示的servlet。

<welcome-file-list> 
     <welcome-file>myfile.html</welcome-file> 
</welcome-file-list> 

您可以通过点击http://localhost:8080/online/FirstServlet URL来访问你的servlet。

您可以创建一个默认的页面将重定向到FirstServlet即

myfile.html

<meta http-equiv="refresh" content="0; url=http://localhost:8080/online/FirstServlet" /> 

而且还什么@Braj在评论extend HttpServlet而不是implement Servlet说。

编辑

你必须在servlet名称拼写错误。将小服务器名称从FirstServelet更改为FirstServlet

+0

感谢支持,但你刚才提到了欢迎文件列表。对我来说这是一个全新的概念,即使通过调用http:// localhost:8080/online/FirstServelet – archit100994

+0

,servlet也不会运行。更新了我的答案。在你的servlet和url中有一个额外的“e”。点击http:// localhost:8080/online/FirstServlet如果这不起作用,请执行@Braj建议的操作。扩展HttpServlet而不是实现Servlet。 – bitkot