Java 如何从命令提示符编译Servlet?

Java 如何从命令提示符编译Servlet?,java,servlets,command-prompt,Java,Servlets,Command Prompt,可能重复: 这是一个简单的HelloWorldservlet。我使用的是Windows7,安装了JDK1.7.0和ApacheTomcat7.0.14 我不知道把文件放在哪里 我不想使用IDE,因为我想了解实际工作原理。我认为这是一个好主意,我希望有更多的人这样做 只要源代码文件位于正确的包目录结构中,这并不重要。看看你是否需要更多的细节 编译时,您将需要类路径上的Servlet API jar,例如,如果您位于源代码树的顶部: javac -cp path/to/servlet-api.ja

可能重复:

这是一个简单的HelloWorldservlet。我使用的是Windows7,安装了JDK1.7.0和ApacheTomcat7.0.14

我不知道把文件放在哪里


我不想使用IDE,因为我想了解实际工作原理。

我认为这是一个好主意,我希望有更多的人这样做

只要源代码文件位于正确的包目录结构中,这并不重要。看看你是否需要更多的细节

编译时,您将需要类路径上的Servlet API jar,例如,如果您位于源代码树的顶部:

javac -cp path/to/servlet-api.jar;. path\to\File.java
最后,您的
.class
文件将与源代码位于同一目录中,但现在还可以。查看您的路径或类路径是否有问题

有很多地方可以获取Servlet API jar文件,例如,在Tomcat lib目录中

完成后,您需要创建WAR文件,或者单独部署应用程序的组件。WAR文件和web应用程序遵循特定的目录布局

简而言之:

. (Project root)
├── WEB-INF
│   ├── classes (Your compiled classes, in project directory hierarchy)
│   │   ├── HelloWorldExample.class
│   │   ├── HelloWorldExample.java
│   │   └── LocalStrings.properties
│   ├── jsp (JSPs used as forward targets; not directory accessible to clients)
│   ├── lib (Third-party libraries, including your own)
│   │   ├── jstl.jar
│   │   └── standard.jar
│   ├── tags
│   │   └── helloWorld.tag
│   └── web.xml (Web app configruation file)
└── index.jsp (JSPs directly accessible from clients)
用于编译servlet

javac -classpath C:\apache-tomcat-7.0.13\lib\servlet-api.jar HelloWorldServlet.java
一些步骤

C:\>set CATALINA_HOME=\rene\Tomcat_7.0.14

C:\web-app\src>javac -classpath %CATALINA_HOME%\common\lib\servlet-api.jar WebTest.java
java是您的servlet

在这里你可以找到一个很棒的教程


从命令行使用javac检查编译是一回事。要部署到Tomcat,还需要将编译后的代码打包为WAR文件。希望这里的一个答案也能告诉你怎么做。@TomAnderson你不必,但你可以。只要文件最终放在正确的位置,不管是Tomcat解包的,还是手动放的。@DaveNewton:True。但是,它们仍然需要以正确的结构进行布局,对吗?+1用于使用环境变量作为路径。您是否也可以演示如何创建WAR文件?对于WEB-INF/classes中的类文件,我提供的一个简单的WEB.xml.link包含了所有步骤来分隔类路径中的条目(而不是
/
)。@Jesper-Oops;编辑以反映实际情况。