2014-10-09 109 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>