Java 即使使用init(ServletConfig con),在我的servlet程序中也找不到main()方法
这是我的servlet应用程序:Java 即使使用init(ServletConfig con),在我的servlet程序中也找不到main()方法,java,servlets,web-applications,Java,Servlets,Web Applications,这是我的servlet应用程序: import javax.servlet.*; import java.io.*; public class MyServ extends GenericServlet { public void init(ServletConfig con) { System.out.println("INIT"); } public void service(ServletRequest req,ServletResponse
import javax.servlet.*;
import java.io.*;
public class MyServ extends GenericServlet
{
public void init(ServletConfig con)
{
System.out.println("INIT");
}
public void service(ServletRequest req,ServletResponse res) throws ServletException,IOException
{
PrintWriter pw=res.getWriter();
pw.println("HELLO");
pw.close();
}
}
当我试图编译这个程序时,我得到 在类MyServ中找不到main方法,请将main方法声明为main(字符串[]args)
我知道servlet没有main方法。我在这里犯了什么错误?尝试使用以下命令编译servlet
javac -classpath <TOMCAT_HOME>\lib\servlet-api.jar MyTestServlet.java
javac-classpath\lib\servlet-api.jar MyTestServlet.java
将类路径设置为servlet-api.jar,然后编译
要设置类路径,请执行以下操作:
c:>set CLASSPATH=servlet api.jar;。;(在windows中)
c:>javacmyserv.javaServlet应该部署在像tomcat这样的web容器下,并通过它们管理它们的生命周期。当您尝试将其作为独立程序运行时,它与任何其他没有main方法和编译器的普通java程序一样,如果没有main方法作为起点,编译器将无法运行。您是在像Tomcat或Jetty这样的servlet容器中运行它吗?您不只是使用
javamyserv
来“运行”一个servlet,并期望它做些什么。我已经安装了tomcat服务器。我没有运行servlet,这只是部署doc root之前的第一步。我只是在这里编译我的类文件!我只是在这里编译我的类文件-这不是错误消息所指示的。错误消息表示它正在尝试运行类的主方法。所以它可能编译得很好。@SaiKrishna也许你正在编译并运行……对不起,我的不好。是的,这是我运行程序时的错误,编译没有任何问题。作为补充说明,与其硬编码Tomcat安装目录,不如使用Tomcat_HOME或。而且,虽然不是非常关键,但版本是在2011年11月25日发布的,当前版本(截至目前)是7.0.41Amain
method不是编译所必需的,只有当您希望将类作为独立应用程序运行时。是的,您正确地更正了它。不知何故,我的意思是只运行,而编写编译。