如何在tomcat中运行servlet程序???请教各位大哥哥!!先谢了!!!

J2EE 码拜 6年前 (2015-05-11) 370次浏览 0个评论
 

我看了一篇文章说到如何建立一个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!等着你呢。 

但我按照上面的步骤做时,我有以下几个疑问:
1.当到这步:然后在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文件放在这个里面) 

疑问一:  index.html此文件的内容是什么?
疑问二:  welcom.jsp此文件里的内容是什么?(如何创建?)
疑问三:  MyServlet.jar此文件从何而得?去哪找内容又是什么?

2.当到这步: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> 

疑问一:如何对web.xml文件进行注册?难道就是用EP打开web.xml后,在里面的”最后”加入以上代码?然后保存就算是注册了?????我不明白!

以上问题请各位大哥哥帮忙喔!我们下个学期学这门java语言,所以我提前看了这本书,对servlet程序不懂如何创建!还望各位大哥哥耐心帮帮我喔!先谢了!!!!

疑问一:  index.html此文件的内容是什么?
疑问二:  welcom.jsp此文件里的内容是什么?(如何创建?)
疑问三:  MyServlet.jar此文件从何而得?去哪找内容又是什么?

第一、二个和这个servlet没有关系,可以不建

3是把servlet用jar命令或打包工具打包

疑问一:如何对web.xml文件进行注册?难道就是用EP打开web.xml后,在里面的”最后”加入以上代码?然后保存就算是注册了?????我不明白!

用什么打开都行,记事本也可以,也就是加入以上代码

主要是加这个代码,算是注册也可以

啊,根据你所说的那样,最后没能显示所需结果,其页面显示为:
HTTP Status 404 – /servlet/HelloWorld

——————————————————————————–

type Status report

message /servlet/HelloWorld

description The requested resource (/servlet/HelloWorld) is not available.

——————————————————————————–

Apache Tomcat/5.0.28

这是为什么呀????还有我对你所说的疑问三还不太明白:

疑问三:  MyServlet.jar此文件从何而得?去哪找内容又是什么?

第一、二个和这个servlet没有关系,可以不建

3是把servlet用jar命令或打包工具打包

你所说的打包,难道是对生成的HelloWorld.class这个类文件进行打包吗?最后打包名为什么是MyServlet.jar?而不是HelloWorld.jar?


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明如何在tomcat中运行servlet程序???请教各位大哥哥!!先谢了!!!
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!