2011-10-04 69 views
0

我在做我的第一个servlet以下链接http://www.roseindia.net/servlets/无法运行一个简单的servlet

这是我在Eclipse ServletDemo-的servlet>的Java资源 - > SRC - >(缺省包) - > HelloServlet.java

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class HelloServlet extends HttpServlet{ 

    public void doGet(HttpServletRequest request, 
    HttpServletResponse response) 
    throws ServletException,IOException{ 
    response.setContentType("text/html"); 
    PrintWriter pw = response.getWriter(); 
    pw.println("<html>"); 
    pw.println("<head><title>Hello World</title></title>"); 
    pw.println("<body>"); 
    pw.println("<h1>Hello World</h1>"); 
    pw.println("</body></html>"); 
    } 
} 

这是我的web.xml文件

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd"> 

<web-app> 

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

我使用Tomcat服务器,我还设置环境变量的servlet-api.jar文件。 但在运行我收到以下错误相同:

HTTP Status 404-Servlet Hello is not available.

+3

避免默认包 – Bozho

+0

我试过,也创建了一个包,并创建srvlet里面,但仍然它的同样的错误做了同样的错误在web.xml也做了修改... dono。 ..如何解决这个..我被困住.. – Ritu

回答

1

的Servlet可能不再生活在默认的包;创建一个包并将该servlet移入它(取决于您使用的Tomcat的版本)。

与你试图从浏览器访问它的方式相比,它也很重要你如何部署/运行servlet - 你需要指定一个上下文,如果你将它部署到其他地方根上下文。我认为这只是一个教程,请记住,从像这样的servlet内部生成HTML是因为它们经常是...误导。基本上从来没有你想做的:)

+0

我也创建了eclipse外的java文件,并在控制台编译它,它得到了编译。然后我把类文件放在tomcat的webapp-> myhello-> WEB-INF-> classes-> class文件和web.xml里面的webapp-> myhello-> WEB-INF-> web.xml ..但它仍然显示相同的错误时iam在浏览器上运行...无法获取它..plzz帮助.. – Ritu

+0

在浏览器中我输入http://127.0.0.1:8080/MyHello/HelloServlet – Ritu