是J2ee的新手。我将以下配置为我的web.xml
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>TestGetServlet</servlet-name>
<servlet-class>src.java.com.testGet.TestGet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestGetServlet</servlet-name>
<url-pattern>/servlet/TestGet</url-pattern>
</servlet-mapping>
</web-app>
Java Code
package src.java.com.testGet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestGet extends HttpServlet {
String WebPage = "<html><body> Hello World Again </body></html>";
@Override
public void init(){
System.out.println("Servlet initialized");
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse responce){
try{
responce.setContentType("text/html");
PrintWriter aPW = responce.getWriter();
aPW.println(WebPage);
}catch(IOException ioe){
ioe.getMessage();
}
}
}
但是tomcat会返回以下错误
HTTP Status 404 - /TestGetServlet/servlet/TestGet
我用ant构建应用程序并且部署正常,但它没有提供自动生成web.xml的方法(是吗?)所以我必须手动完成。有人可以帮助我获得正确的映射吗?
答案 0 :(得分:0)
404表示找不到该页面,可能是因为该网址不存在。
您在网址中用于servlet映射的/servlet/TestGet
部分是正确的。您的web.xml
似乎也是正确的。
检查应用程序是否已命名为TestGetServlet
。
答案 1 :(得分:0)
您的配置和代码似乎正确无误。也许问题出在build.xml
。
转到tomcat安装\ wtpwebapps(或webapps)\ yourApp \ WEB-INF并确保:
web.xml
是正确的WEB-INF\classes
并包含已编译的代码(.class)。如果您使用eclipse,请添加tomcat(File
- New
- Server
)以便更轻松快速地部署