0

我已经安装了 tomcat 7、javaservlet 3.0 和 openjdk 7。我已经安装了示例,但我无法仅通过浏览器在磁盘上找到它们。Tomcat 文档说我需要$CATALINA_BASE/webapps/子目录中的应用程序,但我没有这样的变量。

我已经创建了一个目录myapp/var/lib/tomcat7/webapps/ROOTmyapp/WEB-INF/classes/Servlet.java已经编译了文件)和myapp/WEB-INF/web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version="2.5">
    <servlet> 
        <servlet-name>TestServlet</servlet-name> 
        <servlet-class>TestServlet</servlet-class> 
        <description>This is a simple Hello World servlet</description> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>TestServlet</servlet-name> 
        <url-pattern>/test</url-pattern> 
    </servlet-mapping> 
</web-app>

但是当我转到 localhost:8080/myapp/test 时出现错误 404。这是我的 servlet:

更新我将我的根目录更改为 webapps/myapp 正在加载 index.html 文件(使用localhost/myapp/index.html),但我的 servlet 不断收到 404。错误与正常错误不同,因为我没有像错误 url 这样的消息(带有 URI)喜欢/foo/bar。这是我的 serlvet 的代码(hello world 示例):

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

class TestServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/plain");
        PrintWriter out = response.getWriter();
        out.println("Hello");
    }
}
4

2 回答 2

0

为什么不使用 Eclipse EE 来生成和维护动态 Web 项目?让 IDE 处理项目结构要容易得多。此外,您还可以找到许多关于如何使用 Eclipse 生成动态 Web 项目的指南。

问候

于 2013-11-13T17:44:41.787 回答
0

当我向我的类添加空构造函数时,它起作用了。

于 2013-11-13T21:52:44.397 回答