使用带有<a href=""></a>的HttpServletRequest getPathInfo()

时间:2014-12-16 23:03:08

标签: java servlets action

在我的Java Web应用程序中,我使用HttpServletRequest getPathInfo()方法获取请求发送到Servlet的路径。

我的Servlet:Controller包含以下代码:

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

         String action = request.getPathInfo();    

         RequestDispatcher dispatcher = null;

         if(action.equals("/viewDetails"))
           {
              dispatcher = this.getServletContext().getRequestDispatcher("/viewDetails.jspx");
           }

       }

这里我正在检查请求的操作是什么,以便我可以将用户引导到适当的视图。

现在我的loginForm.jspx我有一个这样的登录表单:

<form method="POST" action="http://localhost:8080/do/viewDetails">

这将通过控制器识别的操作/viewDetails进入控制器。

在我的web.xml中,我已映射/do模式以链接到Controller servlet。因此,每当找到/do路径时,请求就会发送到Controller,该Controller确定去哪里(如processRequest方法中所示)。

现在我遇到的问题是,当我尝试在HTML a标记中以相同方式链接到控制器时,它不起作用,例如:

<a href="http://localhost:8080/do/viewDetails">View all details</a>

我是否可以使用a href执行与<form action...相同的操作?

修改

单击“查看所有详细信息”链接时浏览器的屏幕截图:

enter image description here

0 个答案:

没有答案