我想学习的是通过在页面之间导航来解决URL问题。
当我登录登录页面(http://localhost:1112/BookStoreWebsiteProject/backend/login.jsp
(时,它会打开索引.jsp但其网址显示为http://localhost:1112/BookStoreWebsiteProject/backend/login
。
当我在网址定义为http://localhost:1112/BookStoreWebsiteProject/backend/login
的索引jsp中注销时,它会打开网址地址http://localhost:1112/BookStoreWebsiteProject/backend/logout
的登录论坛
登录服务座
@WebServlet("/backend/login")
public class AdminLoginServlet extends HttpServlet {
...
String page = "/backend/";
RequestDispatcher requestDispatcher = request.getRequestDispatcher(page);
requestDispatcher.forward(request, response);
注销服务版
@WebServlet("/backend/logout")
public class AdminLogoutServlet extends HttpServlet {
...
String page = "login.jsp";
RequestDispatcher requestDispatcher = request.getRequestDispatcher(page);
requestDispatcher.forward(request, response);
家庭仆人
@WebServlet("/backend/")
public class AdminHomeServlet extends HttpServlet {
...
String page = "index.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(page);
dispatcher.forward(request, response);
我该如何解决它?
回答您关于设计 url 部分的问题。 通常,这是通过使用Java过滤器来完成的。在您的情况下,您可以使用 response.sendRedirect
执行以下操作:
登录服务座
/backend/login --> backend/index.jsp
@WebServlet("/backend/login")
public class AdminLoginServlet extends HttpServlet {
...
String page = "/index.jsp";
response.sendRedirect(page);
注销服务版
/backend/logout --> backend/logout.jsp
@WebServlet("/backend/logout")
public class AdminLogoutServlet extends HttpServlet {
...
String page = "logout.jsp";
response.sendRedirect(page);
家庭仆人
请注意,您应该在网络中执行此部分.xml
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
让我知道这是否有帮助。
我的答案
String page = request.getContextPath() + "/backend/login.jsp";
response.sendRedirect(page);
String page = request.getContextPath() + "/backend/logout.jsp";
response.sendRedirect(page);
String page = request.getContextPath() + "/backend/index.jsp";
response.sendRedirect(page);