Servlet的运行环境

本文介绍了在Java中运行Servlet的方法。建议初学者使用Tomcat作为JSP/Servlet container,详细说明了Tomcat的环境变量配置、运行检验方法。还给出了第一个Servlet代码示例,解决了编译时import问题,阐述了文件存放结构,以及Servlet在web.xml文件中的注册方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat。

Tomcat(最新版本5.0): http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip

然后把这个压缩包解压到:

C:/Tomcat

然后再配置环境变量;添加三个系统变量:

JAVA_HOME: C:/JDK
TOMCAT_HOME: C:/Tomcat
CLASSPATH: %JAVA_HOME%/lib;%TOMCAT_HOME%/lib



Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:

在控制台中转到C:/Tomcat/bin这个目录,运行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.*

那么就是应该把C:/Tomcat/common/lib里面的servlet.jar文件拷贝到C:/JDK/jre/lib/ext中,再次编译,就没有问题了!

然后在Tomcat目录里面的C:/Tomcat/webapps/ROOT里面按如下的文件结构:

ROOT/index.html
ROOT/welcom.jsp
ROOT/WEB-INF/lib/MyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)
ROOT/WEB-INF/classes/HelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)



然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found

怎么回事呢?

Servlet必须使用C:/Tomcat/webapps/ROOT/WEB-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-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>



表示指定HelloServlet应当映射到哪一种URL模式。

在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值