2015-03-25 4 views
0

Я новичок в программировании на Java & с трудным временем с сервлетами & JSP, для широкого круга задач, которые он бросает. На данный момент, я не могу получить доступ к странице сервлета из-за этой ошибки:Servlet: HTTP Status 404 - Запрошенный ресурс недоступен

HTTP Status 404 - The requested resource is not available 

Это может показаться наивным вопросом для многих, однако после попытки все советы и приемы, начиная от переполнения стека, чтобы прибегать к других учебных материалов, я не мог определить точную причину проблемы.

Servlet файла:

package coreservlets; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet("/GoodCodeServlet") 
public class GoodCodeServlet extends HttpServlet { 

private static final long serialVersionUID = 1L; 

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 

    String title = "Code Sample"; 
    String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +  
         "Transitional//EN\">\n"; 

    out.println(docType + "<html> \n" + 
       "<head> <title>" +title+ "</title></head>" + 
       "<body bgcolor=\"#eee\">" + 
       "<h1 align=\"center\">" +title+ "</h1>" + 

       // Text inside a <pre> tag is displayed in a fixed-width font, 
       //and it preserves both spaces and line breaks.... 

       "<pre> \n" + getCode(request)+ "</pre>" +    
       "</body> </html>" 
      ); 

} 

    protected String getCode(HttpServletRequest request) 
    { 
     return (request.getParameter("code")); 
    } 

HTML файл:

<!DOCTYPE html> 
    <html> 
    <head> 
    <meta charset="ISO-8859-1"> 
    <title>Insert title here</title> 
    </head> 
    <body bgcolor="#FDEFD6"> 
    <center> <h1>Submit Code Samples</h1> 

    <form action="/coreservlets.GoodCodeServlet" > 
    Code: <br><br> 
    <textarea rows="12" cols="40" name="code"></textarea> <br><br> 
    <input type="submit" value="submit" /> 

    </form> 
    </center> 
    </body> 
    </html> 

web.xml файл:

<?xml version="1.0" encoding="UTF-8"?> 
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 

    <servlet> 
    <servlet-name>CodeSample</servlet-name> 
    <servlet-class>coreservlets.GoodCodeServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>CodeSample</servlet-name> 
    <url-pattern>/coreservlets.GoodCodeServlet</url-pattern> 
    </servlet-mapping> 

    <servlet> 
    <servlet-name>ShowParameters</servlet-name> 
    <servlet-class>/coreservlets.ShowParameters</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>ShowParameters</servlet-name> 
    <url-pattern>/coreservlets.ShowParameters</url-pattern> 
    </servlet-mapping> 

    </web-app> 
+0

Вы уже определили аннотацию в сервлет. Тогда в web.xml не требуется сопоставление. Удалите отображение. И попробуйте с отображением в классе Servlet. – Shashi

+1

change

to – Shashi

+0

Пробовал эти трюки перед публикацией, но почему-то это не сработало :( Забавная часть - это другие программы сервлетов, которые являются частью того же пакета , который работает абсолютно нормально, имея записи в том же файле web.xml. – mindfreak

ответ

Смежные вопросы