servlet终于编译成功了,放到G:\tomcat\webapps\ROOT\WEB-INF\CLASSES\Hello但是不能运行,用http://localhost/servlet/HelloWorld访问出

hnzzyagami 2004-11-21 11:28:55

HTTP Status 404 - Servlet HelloServlet is not available

--------------------------------------------------------------------------------

type Status report

message Servlet HelloServlet is not available

description The requested resource (Servlet HelloServlet is not available) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.4





*************************************
web.xml
-----------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>

<!-- JSPC servlet mappings start -->

<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>

<!-- JSPC servlet mappings end -->


<!-- JSPC servlet mappings start -->

<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>Hello.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

<!-- JSPC servlet mappings end -->


</web-app>
******************************************
HelloServlet.java
---------------------------------------------
package Hello;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}

已经把conf/web.xml的 invoker打开了 ,但是还是不可以
...全文
203 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnzzyagami 2004-11-24
  • 打赏
  • 举报
回复
不好意思啦,前几天宽带坏掉了,没有及时结分,请大家见谅。
感谢大家
okitgo 2004-11-22
  • 打赏
  • 举报
回复
恭喜,接分
mazekui 2004-11-22
  • 打赏
  • 举报
回复
恭喜,接分
wandou999 2004-11-22
  • 打赏
  • 举报
回复
up
hnzzyagami 2004-11-22
  • 打赏
  • 举报
回复
终于弄好了,我把package去掉了,然后把类重新编译,方到classes下,把web.xml的类名改了。
终于出来啦,感谢大家。给分,给分。
hnzzyagami 2004-11-22
  • 打赏
  • 举报
回复
感谢各位帮忙,可惜还是不行。
翻阅以前的很多帖子基本上都按照他们的作了。还是不行。
我去找个老一点版本tomcat好了。
hnzzyagami 2004-11-22
  • 打赏
  • 举报
回复
TO: BillyGao(小马)
你说的对 名字弄错了
已经改过来了 变成HelloServlet也一样
TO:rootcn(走的人多了)
我按照你的方法去试验一下,我们这两个文件区别就是顺序。。猛一看是一样的。
看看能不能行
rootcn 2004-11-21
  • 打赏
  • 举报
回复
web.xml
-----------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>

<!-- JSPC servlet mappings start -->

<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>

<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>Hello.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

<!-- JSPC servlet mappings end -->


</web-app>

这样试一下。
无欲则钢 2004-11-21
  • 打赏
  • 举报
回复
<url-pattern>/servlet/*</url-pattern>
你要以上面的方式去调用
BillyGao 2004-11-21
  • 打赏
  • 举报
回复
你的Servlet名是HelloServlet,但你的请求是HelloWorld,当然出错,404错误,找不到路径,改成HelloServlet就可以了
JDK环境变量配置: 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 2,打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 3,新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 备注: 1,.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME; 2,JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。 3,PATH使得系统可以在任何路径下识别java命令。 4,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。 那么你的JDK就配置成功了,当然最好是再试验一下是否配置成功,那么就写一个简单的程序验证一下: Public class Test{ public static void main{ System.out.println("successful"); } } 运行代码,如果没问题,那一切OK,有问题,请检查一下上边所写的是否有错。 Tomcat环境变量配置: 如果你的Tomcat安装在C盘里,如:c:\tomcat(在这里切记一下,安装Tomcat时,在其字母周围一定不要存在空格,否则最后可能导致配置不成功) 1,新建变量名:CATALINA_BASE,变量值:C:\tomcat 2,新建变量名:CATALINA_HOME,变量值:C:\tomcat 3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin 确定后你的Tomcat就配置好了,同样要验证是否配置成功,那就运行Tomcat,点击启动(或Start service)后,打开浏览器,敲入http://localhost:8080,如果现页面,那么配置成功。 经常看到许多人问如何配置JDK和JSP,现在我把方法总结下,希望对大家有所帮助。 第一步:下载jdk和tomcat 第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在c:\jdk1.6): JAVA_HOME=c:\jdk1.6 classpath=. ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) path=%JAVA_HOME%\bin 接着可以写一个简单的java程序来测试JDK是否已安装成功: public class Test{ public static void main(String args[]){ System.out.println("This is a test program."); } } 将上面的这段程序保存为文件名为Test.java的文件。 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令 javac Test.java java Test 此时如果看到打印来This is a test program.的话说明安装成功了,如果没有打印这句话,你需要仔细检查一下你的配置情况。 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c: \Tomcat): CATALINA_HOME: C: \Tomcat CATALINA_BASE: C: \Tomcat TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar; 接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。 第三步:建立自己的jsp app目录 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录; 2.在webapps目录下新建一个目录,起名叫myapp; 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 4.WEB-INF下新建一个文件web.xml,内容如下: http://java.sun.com/dtd/web-app_2_3.dtd"> My Web Application A application for test. 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
Now time is: <%=new java.util.Date()%>
6.重启Tomcat 7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。 第四步:建立自己的Servlet: 写入你的第一个Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response)th rows ServletException,IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println("This is my first <em>Servlet</em>"); out.println(""); out.println("

Hello,World!

"); out.println(""); } } 然后照样用javac HelloWorld.java来编译这个文件,如果现无法import javax.servl et.* 那么就是应该把C:\Tomcat\common\lib里面的servlet.jar文件拷贝到C:JDKjrelibe xt中,再次编译,就没有问题了! 然后在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> <servlet-mapping> ...... servlet-mapping> 替换成 <servlet> <servlet-name>HelloWorldservlet-name> <servlet-class>HelloWorldservlet-class> servlet> <servlet-mapping> <servlet-name>HelloWorldservlet-name> /servlet/HelloWorld servlet-mapping> 如果没有的话,就直接加那段代码 为什么呢? 因为 这样的结构 <servlet> <servlet-name>HelloWorldservlet-name> <servlet-class>HelloWorldservlet-class> servlet> 表示指定包含的servlet类. 而以下的结构 <servlet-mapping> <servlet-name>HelloWorldservlet-name> /servlet/HelloWorld servlet-mapping> 表示指定HelloServlet应当映射到哪一种URL模式。 在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等 着你呢,恭喜你 摆平了:) 在JSP文件开头加入下面这条语句可以实现中文名称显示 <%@ page language="java" contentType="text/html; charset=gb2312" %> 修改tomcat目录下conf\server.xml为 port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/> 注意黑体部分是修改的地方,修改之后就可以让TOMCAT支持中文链接了。 上面是完整的配置方法,还可以上tomcat支持中文,其实我空间里都有。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧