2014-10-09 73 views
1

我的Servlet有问题。当我在Apache Tomcat中执行代码时,它会返回此消息:运行servlet的问题

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 

的例子是从书采取 “深入浅出Servlet的& JPS” 页面31.

你能帮我吗?

如果应用程序部署在根上下文
+0

你想要访问什么网址? – 2014-10-09 19:15:59

+0

您是否将servlet添加到web.xml? – brso05 2014-10-09 19:16:54

+6

URL应该是'/ ch1/Serv1',而不是'/ certificacion/ch1/Serv1'。你为什么学习2.4版的servlet?目前的版本是3.1。 2.4很老。 – 2014-10-09 19:17:40

回答

1

尝试 主机:端口/ SERV1

或者这会工作 主机:端口/认证/ SERV1

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>