2015-02-02 2 views
0

Java EE 개발자 용 Eclipse를 사용하고 있습니다. 나는이 서블릿 실행하려고 해요 : 내가 metadata-complete="false"을 설정하면"metadata-complete"가 false로 설정된 경우 Tomcat이 실행되지 않습니다.

package br.com.caelum.servlet; 

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

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



@WebServlet(
      name = "OiServlet3", 
      urlPatterns = {"/oi"}, 
      initParams = { 
      @WebInitParam(name = "param1", value = "value1"), 
      @WebInitParam(name = "param2", value = "value2")} 
     ) 
    public class OiMundo extends HttpServlet { 
     protected void service (HttpServletRequest request, 
       HttpServletResponse response) 
       throws ServletException, IOException { 
      PrintWriter out = response.getWriter(); 

     // escreve o texto 
     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>Primeira Servlet</title>"); 
     out.println("</head>"); 
     out.println("<body>"); 

     ServletConfig config = getServletConfig(); 

     String parameter1= config.getInitParameter("param1"); 
     out.println("Value of parameter 1: " + parameter1); 

     String parameter2 = config.getInitParameter("param2"); 
     out.println("<br>Value of parameter 2: " + parameter2); 

     out.println("<h1>Hi Servlet!</h1>"); 
     out.println("</body>"); 
     out.println("</html>"); 

     out.close(); 


    } 
} 

를 (또는 설정하지 않음) web.xml 파일에서, 나는 Tomcat을 시작하려고이 오류가 발생했습니다 :

'Publishing to Tomcat v8.0 at Locahost...' has encountered a problem. 
Publishing the configuration... 

II true으로 설정하면 실행됩니다. 그러나 다음과 같이 인쇄됩니다.

value of parameter 1: null 
value of parameter 2: null 

주석이 무시되었으므로 (metada-complete를 true로 설정하면 발생합니다).

도움!

+0

당신이 내 web.xml 파일이 이미 URLPATTERN의 사양을했다 Locahost' –

답변

0

모두를 다시 선택해야합니다 (특히 web.xml).

package br.com.caelum.servlet; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.ServletConfig; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebInitParam; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet(
     name = "OiServlet3", 
     urlPatterns = {"/oi"}, 
     initParams = { 
       @WebInitParam(name = "param1", value = "value1"), 
       @WebInitParam(name = "param2", value = "value2")} 
) 
public class OiMundo extends HttpServlet { 
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     PrintWriter out = response.getWriter(); 
     // escreve o texto 
     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>Primeira Servlet</title>"); 
     out.println("</head>"); 
     out.println("<body>"); 
     ServletConfig config = getServletConfig(); 
     String parameter1 = config.getInitParameter("param1"); 
     out.println("Value of parameter 1: " + parameter1); 
     String parameter2 = config.getInitParameter("param2"); 
     out.println("<br>Value of parameter 2: " + parameter2); 
     out.println("<h1>Hi Servlet!</h1>"); 
     out.println("</body>"); 
     out.println("</html>"); 
     out.close(); 
    } 

} 


아무 문제, 작동 :

enter image description here

+0

'에 오타가 있었다 빈 metadata-complete으로, 당신의 코드를 실행 @WebServlet 주석과 충돌을 일으켰습니다! –

관련 문제