Servlet doGet 在简单的 get 方法上返回 404? [复制]

Posted

技术标签:

【中文标题】Servlet doGet 在简单的 get 方法上返回 404? [复制]【英文标题】:Servlet doGet return 404 on a simple get method? [duplicate] 【发布时间】:2021-02-02 08:56:39 【问题描述】:

我在超链接上有一个简单的doGet 方法来引导查看购物车摘要。如果我在servlet 上运行,它的路径是,

 http://localhost:9090/WebApp/view_cart

而如果我在点击下面的超链接时在JSP 页面上运行,路径是

<form method="GET"> <a href="view_cart"> view cart </a> </form>

http://localhost:9090/WebApp/frontend/view_cart

这是一个doGet方法,我怎样才能得到正确的路径来显示/view_cart page??

@WebServlet("/view_cart")
public class ViewCartServlet extends HttpServlet 
    private static final long serialVersionUID = 1L;

    public ViewCartServlet() 
        super();
    

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 

        response.getWriter().append("Served at: ").append(request.getContextPath());
                    
        response.setContentType("text/html");

        String viewCart = "frontend/shopping_cart.jsp";
        RequestDispatcher rd = request.getRequestDispatcher(viewCart);
        rd.forward(request, response);    
    


【问题讨论】:

在您的 JSP 文件中链接到 $request.contextPathview_cart) 怎么样? 【参考方案1】:

替换

<a href="view_cart">

<a href="/view_cart">

这样路径就可以变成the-context-path/view_cart

【讨论】:

我需要进入根目录,然后返回到我存储 jsp 的文件夹,如下所示 购物车 @Stu_Dent - 是的,就是这样。希望您的问题得到解决。

以上是关于Servlet doGet 在简单的 get 方法上返回 404? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Servlet详解--doget与dopost区别

java servlet 主要用来做啥

在servlet中doGet()和doPost()方法是完成啥操作,它们有那些参数?这些参数对应啥?

servlet之doPost()doGet()

Servlet的doGet与doPost方法的区别与使用

Servlet处理GET和POST请求