假设我有多个servlet,在doPost()实现方面存在细微差别。示例代码here。我希望能够只定义一次函数,避免在不同的servlet之间重复代码。
一种方法是将共同行为放在一个不同的类中,并在每个Servlet中使用该类的对象来使用常见行为,但这是一个好主意吗?
解决这个问题还有哪些其他选择?
答案 0 :(得分:1)
您可以创建一个实现Httpservlet的抽象类,并定义所有常用方法,但保留您的可修改(doGet)方法摘要。
答案 1 :(得分:0)
我想这个:
一种方法是将共同行为置于一个完全不同的类中并具有 每个Servlet中该类的对象使用通用功能但是 这不是很优雅
其实非常优雅。这听起来像是在描述composition。它减少了代码重复,将常用功能提取到单个组件中并减轻了issues you'd get through implementation inheritance。
答案 2 :(得分:0)
您可以创建一个扩展HttpServlet
扩展公共代码的抽象超类。现在,您的实现类可以扩展抽象类。