Java 减少冗余代码

Java 减少冗余代码,java,java-ee-6,Java,Java Ee 6,我不得不指定doGet参数和每次抛出的内容,这让我开始觉得多余了。是否有一种方法可以在我的控制器中完成所有这些操作,从而不必在每一页上都完成这些操作?我的控制器当前没有doGet() 您可以将模板传递给cms.library.Controller类,这样就不必每次都定义doGet public class Controller { private final String template; public Controller( String template ) {

我不得不指定doGet参数和每次抛出的内容,这让我开始觉得多余了。是否有一种方法可以在我的
控制器中完成所有这些操作,从而不必在每一页上都完成这些操作?我的
控制器当前没有
doGet()


您可以将模板传递给cms.library.Controller类,这样就不必每次都定义doGet

public class Controller {
    private final String template;
    public Controller( String template ) {
        this.template = template;
    }
    @Override
    public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.loadView(new cms.library.PageConfig()
                .setRequest(request)
                .setResponse(response)
                .setTemplate(template));
    }
}

@WebServlet(name = "EditServlet", urlPatterns = {"/content/edit"})
public class EditServlet extends cms.library.Controller {
    public EditServlet() {
        super("/content/edit");
    }
    @Override
    public void doPost (HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("posted");
        this.doGet(request, response);
    }
}
或者您可以创建自己的注释,
控制器
类将在其构造函数中检查实现类的注释(而不是传递字符串)。

不确定“没有
doGet
”是什么意思,因为存在
doGet
。而且,我不确定把帖子等同于GET是否合理;几乎可以肯定的是,如果发布到非表单的内容,那么这将是一个客户端错误。
public class Controller {
    private final String template;
    public Controller( String template ) {
        this.template = template;
    }
    @Override
    public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.loadView(new cms.library.PageConfig()
                .setRequest(request)
                .setResponse(response)
                .setTemplate(template));
    }
}

@WebServlet(name = "EditServlet", urlPatterns = {"/content/edit"})
public class EditServlet extends cms.library.Controller {
    public EditServlet() {
        super("/content/edit");
    }
    @Override
    public void doPost (HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("posted");
        this.doGet(request, response);
    }
}