java菜鸟:动态web项目 一用servlet就404

两个文件:web.xml和Test.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 Test extends HttpServlet{
    protected void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException ,IOException
    {
        PrintWriter out=response.getWriter();
        out.println("<html><body><h3>This is a servlet test.</h3></body></html>");
        out.flush();
    }
}


 <?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>
  <display-name>test</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <servlet-name>Test</servlet-name>
  <servlet-class>test.Test</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>Test</servlet-name>
  <url-pattern>/Test</url-pattern>
  </servlet-mapping>
</web-app>

运行不出来 一直404 心塞...

test.Test这里错了。
要配置成类的完整路径。包名+类名。如cn.baidu.com.Test

 <?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>
  <display-name>test</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <servlet-name>Test</servlet-name>
  <servlet-class>test.Test</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>Test</servlet-name>
  <url-pattern>/Test</url-pattern>
  </servlet-mapping>
</web-app>
 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 Test extends HttpServlet{
    protected void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException ,IOException
    {
        PrintWriter out=response.getWriter();
        out.println("<html><body><h3>This is a servlet test.</h3></body></html>");
        out.flush();
    }
}


确定你访问的url与你在web.xml中配置的url是否一致,以及服务启动的时候有没有报错信息。

404,一般是url没对

参考:http://blog.csdn.net/feichexia/article/details/7105741
重点: response.setHeader("Content-disposition", "attachment;filename="
+ "test.rar");
// set the MIME type.
response.setContentType("application/x-tar");
response.setHeader("Content_Length", length);

不好意思,答错题了。,你是通过URL:http//localhost:8080/test.do 这样访问的吗?

启动的时候有没有报错?如果没有报错试试http//localhost:端口/工程名/Test

一般web.xml是这样配置的

Test
/test.do