gpt4 book ai didi

Java servlet 不分派(dispatch)到另一个 servlet

转载 作者:行者123 更新时间:2023-11-30 05:02:27 25 4
gpt4 key购买 nike

我有 2 个 servlet,“HomeController”和“SearchController”。在 home.jsp 上,我有一个带有搜索框的表单,当向“搜索”提交操作时

 <form action="Search" method="post" name="searchForm">

所以 SearchController 做的第一件事是:

 @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (!validator.isValidAlphaOnly(request.getParameter("breed"))) {
request.setAttribute("error", "Breed search term invalid. Enter only letters");
RequestDispatcher requestVar = request.getRequestDispatcher("/Home");
requestVar.forward(request, response);
} else {
processRequest(request, response);
}
}

除了不会转到/Home,即使我有如下映射:

  <servlet>
<servlet-name>HomeController</servlet-name>
<servlet-class>Controllers.HomeController</servlet-class>
</servlet>
<servlet>
<servlet-name>SearchController</servlet-name>
<servlet-class>Controllers.SearchController</servlet-class>
</servlet>
<servlet>
<servlet-name>DogController</servlet-name>
<servlet-class>Controllers.DogController</servlet-class>
</servlet>
<servlet>
<servlet-name>LogoutController</servlet-name>
<servlet-class>Controllers.LogoutController</servlet-class>
</servlet>
<servlet>
<servlet-name>UpdateController</servlet-name>
<servlet-class>Controllers.UpdateController</servlet-class>
</servlet>
<servlet>
<servlet-name>AddController</servlet-name>
<servlet-class>Controllers.AddController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SearchController</servlet-name>
<url-pattern>/Search</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LogoutController</servlet-name>
<url-pattern>/Logout</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UpdateController</servlet-name>
<url-pattern>/Update</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AddController</servlet-name>
<url-pattern>/Add</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DogController</servlet-name>
<url-pattern>/Dog/View/*</url-pattern>
<url-pattern>/Dog/Edit/*</url-pattern>
<url-pattern>/Dog/Add</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HomeController</servlet-name>
<url-pattern>/Home</url-pattern>
<url-pattern>/</url-pattern>
</servlet-mapping>

最佳答案

您可以使用 getNamedDispatcher:

ServletContext context = getServletContext();
RequestDispatcher requestVar = context.getNamedDispatcher("HomeController");

关于Java servlet 不分派(dispatch)到另一个 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6206273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com