Tomcat7部署以前由调用者servlet部署的类文件

时间:2013-08-27 09:02:55

标签: tomcat deployment tomcat7

我正在将之前由调用者servlet部署的许多Servlet迁移到新的tomcat7安装。我知道我必须在web.xml中创建servlet和servlet-mapping元素才能使它工作,但我不能让它工作。 我开始将默认包中的所有旧servlet类放在一个名为servlets的包中。 tomcat7中的ROOT文件夹没有一个WEB-INF文件夹,所以我创建了这个,并在这个文件夹中创建了一个新的web.xml文件,目前看起来像这样(只有一个servlet开头) ,以及从etc / tomcat7 / web.xml复制的web-apps元素:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">
<servlet>
        <servlet-name>ScannerServlet</servlet-name>
        <servlet-class>servlets.ScannerServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ScannerServlet</servlet-name>
    <url-pattern>/servlet</url-pattern>
</servlet-mapping>
</web-app>

然后我将所有类文件放在ROOT \ WEB-INF \ classes \ servlets中 然后我重新启动了tomcat并尝试了http://myip.com:8080/servlet/ScannerServlet但我得到了“请求的资源不可用。 然后我尝试将servlet和servlet-mapping添加到etc / tomcat7 / web.xml,但没有取得进一步的成功。 我做错了什么?或者我做得对,但仍有一些事情要做?

[编辑] 我尝试在ROOT中创建一个名为servlet的新文件夹,并在此处移动WEB-INF文件夹。 如果我在servlet文件夹中放入一个index.html文件,如果我调用http://myip.com:8080/servlet/它会显示,但我仍然得到'尝试调用... / servlet / ScannerServlet时所请求的资源不可用... / servlet / servlet / ScannerServlet

1 个答案:

答案 0 :(得分:0)

我终于明白了! 我将我的文件和文件夹移动到webapps / servlet /而不是webapps / ROOT / 然后我将url-pattern更改为/ ScannerServlet 然后可以从http://myip.com:8080/servlet/ScannerServlet访问servlet: - )