oWorld.java
这个名字一定要跟public class的名字一样
下面我先所说怎么在Editplus里面编译和运行,在Tools->参数设置->配置用户工具
1.添加工具(添加应用
程序)
菜单文字:Compile Java Program
程序:C:JDKinjavac.exe
参数:文件名称
初始目录:文件目录
2.添加工具(添加应用
程序)
菜单文字:Run Java Program
程序:C:JDKinjava.exe
参数:文件名称(不含扩展名)
初始目录:文件目录
工具组名称可以随便添,比如Debug Java Program
然后在Tools的下拉菜单中,你就会看见Compile Java Program以及Run Java Program这两个选项,以后你就可以利用ctrl + 1编译和ctrl +2运行程序了
下面就讨论Servlet的运行:
首先要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat
Tomcat(最新版本5.5):http://apache.justdn.org/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.exe然后把这个压缩包解压到:
C:Tomcat
然后再配置环境变量:
添加三个系统变量:
JAVA_HOME: C:JDK
TOMCAT_HOME: C:Tomcat
CLASSPATH: %JAVA_HOME%lib;%TOMCAT_HOME%lib
Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:
在控制台中转到C:Tomcatin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行
在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了
然后和上面一样,写入你的第一个Servlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType(\"text/html\");
PrintWriter out = response.getWriter();
out.println(\"<html><head><title>\");
out.println(\"This is my first Servlet\");
out.println(\"</title></head><body>\");
out.println(\"<h1>Hello,World!</h1>\");
out.println(\"</body></html>\");
}
}
然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.* [Page]
那么就是应该把C:Tomcatcommonlib里面的servlet.jar(根据实际来看)文件拷贝到C:JDKjrelibext中,再次编译,就没有问题了!
然后在Tomcat目录里面的C:TomcatwebappsROOT里面按如下的文件结构:
ROOT
ROOTwelcom.jsp
ROOTWEB-INFlibMyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)
ROOTWEB-INFclassesHelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)
然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found
怎么回事呢?
Servlet必须使用C:TomcatwebappsROOTWEB-INF这个目录下面的web.xml文件进行
注册,用EP打开这个web.xml文件,在里面加入
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/helloworld</url-pattern>
</servlet-mapping>
这样的结构
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
表示指定包含的servlet类.
而以下的结构
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url