Forms 多个超链接调用一个servlet,该servlet决定要显示的页面

Forms 多个超链接调用一个servlet,该servlet决定要显示的页面,forms,jsp,servlets,hyperlink,Forms,Jsp,Servlets,Hyperlink,你看,我试图制作一个简单的导航菜单,试图制作一个简单的web应用程序。 我想尝试至少2个菜单,只使用一种形式。 单击任何一个菜单时,它将调用servlet MainServlet,该servlet将决定显示哪个JSP页面 在JSP中: <form action="menu" method="POST"> <a href="<%=request.getContextPath()%>/MainServlet" name="about">About</a>

你看,我试图制作一个简单的导航菜单,试图制作一个简单的web应用程序。 我想尝试至少2个菜单,只使用一种形式。 单击任何一个菜单时,它将调用servlet MainServlet,该servlet将决定显示哪个JSP页面

在JSP中:

<form action="menu" method="POST">
<a href="<%=request.getContextPath()%>/MainServlet" name="about">About</a>
<a href="<%=request.getContextPath()%>/MainServlet" name="contact">Contact Us</a>
</form>
我似乎无法使用servlet中的代码转到所需的JSP页面。 你认为我的密码有什么问题


提前谢谢

每个链接的URL完全相同,不包含任何参数。要使代码正常工作,URL应该是

<%=request.getContextPath()%>/MainServlet?about=
/MainServlet?关于=

/MainServlet?联系=
我将使用两个不同的servlet:一个负责处理about页面,另一个负责处理contact页面。如果它们所做的只是分派到JSP,则不会有太大变化,但是如果需要在页面中显示一些数据,那么为每个页面提供专用servlet就更有意义了


如果每个链接使用不同的servlet是推荐的想法,那么我想问一下,这种编程技术是否也适用于制作“bigtime”应用程序?谢谢,我不知道什么是“bigtime”应用程序。请澄清.bigtime应用程序与当今互联网上的任何其他优秀网站一样,如公司网站、商业网站和专业开发人员制作的任何其他网站。每个应用程序都有其最佳实践。其中许多是用Java编写的,而许多不是。我参与的大多数Java应用程序都不直接使用servlet,而是使用MVC框架(Stripes、SpringMVC等)。但无论技术是什么,单一责任原则都是一个好的、众所周知的原则。一个servlet负责获取从菜单中访问的所有页面所需的数据,它的职责太多了。单一责任。谢谢你,好先生。
doGet() {
   if (request.getParameter("about") != null) {
   RequestDispatcher dispatcher = request.getRequestDispatcher("about.jsp");
   dispatcher.forward(request, response);
   } else if (request.getParameter("contact") != null) {
   RequestDispatcher dispatcher = request.getRequestDispatcher("contact.jsp");
   dispatcher.forward(request, response);
   }
}
<%=request.getContextPath()%>/MainServlet?about=
<%=request.getContextPath()%>/MainServlet?contact=