我需要一些关于如何在我的Web应用程序中构建类的建议。我有一个webstore,可以添加,编辑,列出和删除项目。当我尝试为此编写servlet时,它就像
ItemAddServlet ,ItemEditServlet,ItemsListServlet,ItemDeleteServlet,
ManufacturerAddServlet,ManufacturerEditServlet,ManufacturerListServlet
ItemAddServlet是
public class ItemAddServlet extends HttpServlet {
private ItemDaoFactory bfactory = ItemDaoFactory.getInstance();
private ItemDaoImpl itemdaoimpl = (ItemDaoImpl) bfactory.getDao();
private ManufacturerDaoFactory mfactory = ManufacturerDaoFactory.getInstance();
private ManufacturerDaoImpl mandaoimpl = (ManufacturerDaoImpl) mfactory.getDao();
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
List<Manufacturer> manufacturers = mandaoimpl.findAllManufacturers();
request.setAttribute("manufacturers",manufacturers);
RequestDispatcher dispatcher = request.getRequestDispatcher("itemaddedit.jsp");
dispatcher.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
String name = request.getParameter("name");
String price = request.getParameter("price");
String manId = request.getParameter("manufacturer");
Manufacturer manufacturer = mandaoimpl.findManufacturerById(Long.parseLong(manufacturerId));
Item item = new Item();
item.setName(name);
item.setPrice(Float.parseFloat(price));
item.setManufacturer(manufacturer);
itemdaoimpl.saveOrUpdateItem(item);
response.sendRedirect("listitems");
}
}
其他servlet类似,根据所涉及的逻辑进行更改。
我已将url-patterns映射到servlet,如下所示
...
<servlet-mapping>
<servlet-name>itemaddservlet</servlet-name>
<url-pattern>/createitem</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>itemeditservlet</servlet-name>
<url-pattern>/edititem</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>itemlistservlet</servlet-name>
<url-pattern>/listitems</url-pattern>
</servlet-mapping>
...
我知道这里有太多的servlet ..它看起来不是一个好的设计..我可以使用一个servlet来执行添加/编辑/列表/删除功能吗?这会将我的servlet缩小为< / p>
ItemServlet,ManufacturerServlet
这是正确的做法吗?在这种情况下我如何映射网址模式?所有/createitem /edititem /listitems
都将映射到ItemServlet?
如果有人能指出构建代码的更好方法,我将不胜感激。
感谢
标记
答案 0 :(得分:1)
有几个框架可以帮助解决这种模式。如果您想使用纯servlet,最简单的方法是将参数传递给servlet,指示您尝试执行的操作(即创建,编辑,列表)。
您可能会发现有用的几个框架位于
之下