我已经安装了tomcat 7,javaservlet 3.0和openjdk 7.我已安装了示例,但我无法在浏览器中找到它们。 Tomcat文档说我需要$CATALINA_BASE/webapps/
子目录中的应用程序,但我没有这样的可变性。
我已在myapp
中使用/var/lib/tomcat7/webapps/ROOT
创建了一个目录myapp/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:
UPDATE 我将我的根目录更改为webapps / myapp,index.html文件正在加载(使用localhost/myapp/index.html
),但我的servlet不断获得404.错误与正常错误不同,因为我没有像/foo/bar
这样的错误网址的消息(使用URI)。
这是我的serlvet的代码(你好世界的例子):
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");
}
}
答案 0 :(得分:0)
为什么不使用Eclipse EE生成和维护动态Web项目?让IDE处理项目结构要容易得多。另外,您可以找到许多有关如何使用Eclipse生成动态Web项目的指南。
问候
答案 1 :(得分:0)
当我向我的班级添加空构造函数时,它可以工作。