这里有Java Servlet接口

时间:2014-12-15 09:43:08

标签: java servlets

我是Java的新手。

我正在创建一个Servlet并收到错误interface is expected here.

你可以让我理解这个问题吗?

我正在使用IntelliJ 14.

我的Servlet代码如下: -

package ERPdetector;  

/** 
 * Created by Sinha on 12/15/14. 
 */  

import javax.servlet.http.*;  
import javax.servlet.*;  
import java.io.*;  

public class ErpServlet implements HttpServlet {  

    public void doGet(HttpServletRequest req,HttpServletResponse res)  
            throws ServletException,IOException  
    {  
        res.setContentType("text/html");  
        PrintWriter pw=res.getWriter();  

        String dropdown=req.getParameter("dropdown");  
        pw.println("You Requested for "+dropdown);  

        pw.close();  
    }  
}  

先谢谢。

5 个答案:

答案 0 :(得分:7)

HttpServlet是一个抽象类,而不是一个接口 - Servlet是一个接口,但你很少直接实现它。

只需改变一下:

public class ErpServlet implements HttpServlet { 

public class ErpServlet extends HttpServlet { 

你应该没事。

答案 1 :(得分:3)

仅当您实施implements时才应使用interface关键字,因为HttpServletabstract class,您应该使用extends关键字。

由于您尝试将implements关键字用于abstract类(HttpServlet),因此IDE会抛出错误。

答案 2 :(得分:1)

HttpServlet是一个实现Servlet的类。所以你必须扩展HttpServlet类,或者你必须实现Servlet接口。并手动完成Http相关的东西。

HttpServlet已经覆盖了Servlet接口的方法。它有doGet,doPost,doPut等方法。如果要实现Servlet接口,则必须覆盖所有接口方法并处理HttpServletRequest,HttpServletResponse对象。

答案 3 :(得分:1)

HTTPServlet不是界面。请关注this example以使您的servlet正常工作。

如果您想使用自己的HTTPServlet类实现,那么请创建原始抽象类的副本,即实现接口ServletServletConfig以及扩展{{3 }}

如果你想使用GenericServlet,你必须实现与SipServlet类相同的接口。

答案 4 :(得分:1)

实施 - >接口和 延伸 - >类或抽象类。

所以你使用的是implements关键字而不是extends。只需替换代码中的以下行。

公共类ErpServlet 扩展 HttpServlet

由于