2013-10-31 53 views
0

我想在我的servlet中第一次寫註釋。 @WebServlet工作正常。當我加入@webInitParam時,我得到了紅線。此外,當我嘗試使用@POST註釋時,它會給我"POST cannot be resolved to a type", 。 這是我的代碼:Java EE註釋不會工作

package servlets; 

import javax.servlet.*; 
import javax.servlet.http.*; 

/** 
* Servlet implementation class Calc 
*/ 
@WebServlet (loadOnStartup = 1 , urlPatterns = { "/CoolPage" } , 
initParams = { 
     @WebInitParam(name="text" , value="hello" , description="simple text"), 
    @WebInitParam(name="times", value="10" , description="times to print") 
       } 
) 
public class Calc extends HttpServlet { 
    private static final long serialVersionUID = 1L; 


public Calc() { 
} 


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws    ServletException, IOException { 
    // TODO Auto-generated method stub 
} 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
@POST 
protected void doThePost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    System.out.println("Inside the POST method"); 
    String username = request.getParameter("userName"); 
    String password = request.getParameter("password"); 

    request.setAttribute("userName", username); 
    request.setAttribute("password", password); 

    RequestDispatcher rd = request.getRequestDispatcher("jspGetting.jsp"); 
    rd.forward(request, response); 
} 

} 

回答

2

導入不包含子包。從javax.servlet.annotation

import javax.servlet.annotation.WebInitParam; 

很難看到servlet可以如何編譯導入的類,而不WebServlet被導入的是(?)。

import javax.servlet.annotation.WebServlet; 

的POST註釋位於內JAX-RS library

import javax.ws.rs.POST;