我知道它与 WEB-INF\classes
有关。但这是我在将适当的 .jar
文件放入我的类路径后编译的代码。
import java.io.* ;
import javax.servlet.http.* ;
public class BeeServlet extends HttpServlet
{
public void doGet( HttpServletRequest request , HttpServletResponse response )
{
response.setContentType("text/html");
try
{
PrintWriter out = response.getWriter();
out.println( "a-buzz-buzz ..." );
out.close();
}
catch( Exception e )
{
System.out.println( "cannot get writer: " + e );
}
}
}
它编译得很好,但我没有找到任何类型的类似示例,例如将它放在哪里以及如何使用 localhost:8080
URL 调用它。我在没有 IDE 的情况下尝试尽可能地学习,但这一点让我感到困惑......
编辑——我已经编译了这段代码。我将它放入 tomcat 7.0/webapps/BeeServlet/WEB-INF/classes 目录,就像所有教程所说的那样。我输入 localhost:8080/BeeServlet,但没有任何反应。这是没有意义的。
最佳答案
您需要一个 Web 应用程序部署描述符 (web.xml),它提供 URL 到您的 Servlet 的映射以及您的项目在 Web 服务器上的特定目录结构。如果您在 IDE 中使用 Web 应用程序项目模板,通常会为您创建此结构。
理论阅读:http://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html
教程:http://www.nogoodatcoding.com/howto/deploy-a-servlet-on-tomcat
web.xml 文件示例:running and deploying servlet with eclipse and tomcat 7
关于java - 如何使用 javac 编译的类文件在 tomcat 7 中构建 java servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15328601/