运行servlet时出现问题

时间:2014-10-09 19:14:35

标签: java tomcat servlets

我的Servlet出现问题。当我在Apache Tomcat中执行代码时,它会返回以下消息:

type Informe de estado (status report)
mensaje /certificacion/ch1/Serv1
descripción El recurso requerido no está disponible. (Not available resource)

我的代码很简单。 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/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
    <servlet>
        <servlet-name>Chapter1 Servlet</servlet-name>
        <servlet-class>Ch1Servlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Chapter1 Servlet</servlet-name>
        <url-pattern>/Serv1</url-pattern>
    </servlet-mapping>
</web-app>

Servlet包含:

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

public class Ch1Servlet extends HttpServlet {
    public void doGet (HttpServletRequest request, HttpServletResponse response) throws IOException{
        PrintWriter out = response.getWriter();
        java.util.Date today = new java.util.Date();
        out.println("<html> "+"<body>"+"<h1 align=center>Chapter1 Servlet</h1>"+"<br>"+today+"</body>"+"</html>");
    }
}

文件夹结构为:

--tomcat
  ->webapps
    ->certificacion
      ->ch1
        ->WEB-INF
          ->web.xml
          ->classes
            ->Ch1Servlet.class

这个例子来自于“第一个Servlets&amp; E; JPS&#34;第31页。

你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

如果应用程序部署在root上下文中,请尝试 主机:端口/ SERV1

或者这样可行 主机:端口/认证/ SERV1

答案 1 :(得分:1)

您的文件夹结构错误。必须是这样的:

--tomcat
  ->webapps
    ->certificacion
      ->WEB-INF
        ->web.xml
        ->classes
          ->Ch1Servlet.class
      ->ch1

然后,如果您希望像

那样访问Servlet
http://localhost:8080/certification/ch1/Servlet

比您需要添加/更改web.xml文件以包含此内容:

<servlet>
    <servlet-name>Chapter 1 Servlet</servlet-name>
    <servlet-class>Ch1Servlet
</servlet>
<servlet-mapping>
    <servlet-name>Chapter 1 Servlet</servlet-name>
    <url-pattern>/ch1/Servlet</url-pattern>
</servlet-mapping>